【汇编语言-王爽】第二章:寄存器

知识点

(一)寄存器

  • 一个典型的CPU由运算器、控制器、寄存器等器件构成,这些器件靠内部总线相连。
  • 8086CPU有14个寄存器:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW。
  • 其中AX、BX、CX、DX为通用寄存器,可以分为两个独立使用的8位寄存器来使用,比如AX可以分成AH和AL。
  • CS、DS、SS、ES为段寄存器
  • CS为代码段寄存器,IP为指令指针寄存器。任意时刻,CPU将CS:IP指向的内容当作指令执行。
  • CPU从CS:IP指向的内存单元读取指令,放入指令缓冲器;IP=IP+所读取指令的长度,从而指向下一条指令;接着,执行当前指令
  • 8086CPU的所有寄存器都是16位的,可以存放两个字节。

(二)地址

  • 每一个内存单元在这个空间中都有唯一的地址,这个唯一的地址称为物理地址。
  • 8086是16位结构的CPU,如果直接简单发出地址,则寻址能力只有64KB。因此,8086CPU采用一种在内部用两个16位地址合成的方法来形成一个20位的物理地址,即段地址和偏移地址。
  • 物理地址=段地址X16+偏移地址
  • 段地址X16必然是16的倍数,所以一个段的起始地址也一定是16的倍数;偏移地址为16位,16位地址的寻址能力为64KB,所以一个段的长度最大位64KB。

(三)指令

  • mov 指令为传送指令
  • 修改CS、IP的值,可以用转移指令,比如jmp指令。
  • jmp 段地址:偏移地址 的功能:用段地址修改CS,偏移地址修改IP
  • jmp 寄存器 的功能:仅修改IP,用寄存器中值修改IP。

(四)Debug的使用

  • R命令:查看、改变CPU寄存器的内容。 比如:“r ax”。
  • D命令:查看内存中的内容。
  • E命令:改写内存中的内容。比如:“e 起始地址 数据 数据 …”。
  • U命令:将内存中的机器指令翻译成汇编指令。
  • T命令:执行一条机器指令。
  • A命令:以汇编指令的格式在内存中写入一条机器指令。比如:“a 1000:0”。

检测点

  1. 最多用4条指令,编程计算2的4次方。
;2^4 = 2*2*2*2
mov ax, 2
add ax, ax
add ax, ax
add ax, ax
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值