汇编学习笔记(一)

  1. 汇编语言的组成
    1)汇编指令:机器码的助记符,有对应的机器码。
    2)伪指令:没有对应的机器码,由编译器执行,计算机并不执行。
    3)其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码。
  2. CPU的组成
    1)运算器:信息处理。
    2)寄存器:信息存储。
    3)控制器:控制各种器件工作。
    4)控制总线:
  3. 寄存器
    1)汇编程序员可以用指令读写
    2)寄存器的数量、结构因CPU不同而不同
    3)8086的14个寄存器:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、DS、ES、SS、PSW
  4. 通用寄存器
    1)用来存储一般性的数据
    2)AX、BX、CX、DX
    3)高8位,低8位 AX(AH,AL)
  5. 地址加法器
    1)两个16位地址:段地址、偏移地址
    2)物理地址20位
    2)物理地址=段地址*16+偏移地址
    3)内存没有分段,CPU以段的方式进行内存管理,段地址寄存器:CS、DS、ES、SS。
  6. CS和IP
    1)CS:代码段寄存器
    2)IP:指令指针寄存器
    3)8086机器中,任意时刻,CPU把CS:IP指向的内容当作指令执行

    4)
  7. DS和[Address]
    1)DS:数据段寄存器
    2)[Address]:表示内存单元,括号中的值表示偏移地址
    3)不能直接将数据放入段寄存器,可以使用寄存器进行中转
    1 mov bx,1000H
    2 mov ds,bx
    3 ;上面两句用bx中转,设置ds的段地址为1000H
    4 mov al,[0]
    5 ;将物理地址1000H*16+0的数据存入al寄存器

     

  8. DEBUG工具
    1)R  查看改变CPU寄存器内容
    2)D  查看改变内存内容
    3)E  改写内存内容
    4)U  内存中的机器指令翻译成汇编指令
    5)T  执行机器指令
    6)A  以汇编指令的格式在内存中写入机器指令

  9. 1)栈是一种具有特殊访问方式的存储空间。最后进入的数据最先出去(LIFO)
    2)入栈PUSH、出栈POP
     
    push ax;将段寄存器ax中的数据送入栈中
    pop ax;从栈顶取出数据存入ax寄存器

     

    3)SS和SP
      SS:栈顶的段地址;SP:栈顶的偏移地址
      SS:PP指向栈顶地址
posted @ 2010-09-13 16:19  伸手不见五趾  阅读(251)  评论(0编辑  收藏  举报