汇编语言学习之寄存器

寄存器

  • 一个典型的CPU由运算器、控制器、寄存器等器件构成,这些器件靠内部总线相连。
  • 运算器进行信息处理。
  • 寄存器进行信息存储。
  • 控制器控制各种器件进行工作。
  • 内部总线连接各种器件,在他们之间进行数据的传送。

通用寄存器

  • 对于8086CPU来说,所有的寄存器都是16位的。AX、BX、CX、DX这4个寄存器被定义为通用寄存器,用来存放一般性的数据。AX可以分为AH和AL;BX可以分为BH和BL;CX可以分为CH和CL;DX可以分为DH和DL。

物理寄存器

  • CPU访问内存单元时,要给出内存单元的地址。所有的内存单元构成的存储空间是一个一维的线性空间,每一个内存单元在这个空间中都有唯一的地址,我们将这个唯一的地址称为物理寄存器。

段寄存器

  • 8086CPU有4个寄存器:CS、DS、SS、ES
  • CS和IP是8086CPU中两个最为关键的寄存器,它们指示了CPU当前要读取指令的地址。CS为代码段寄存器,IP为指令指针寄存器。
  • CPU工作的本质是一直不断地取址执行,CPU每读取一条指令后,IP中的值会自动增加。
  • IP每次增加的长度依据当前读入指令的长度。

哪些指令可以修改CS、IP的值:
jmp <段地址> <偏移地址> —同时修改CS、IP
jmp <某一合法寄存器> —仅修改IP

如何在window7系统中使用debug调试汇编程序?
1、安装DOSBox0.74-win32-installer
2、安装debug程序


汇编debug调试工具常用指令:
1、r命令—查看、修改CPU中寄存器的内容。例如rcs—修改cs,rip—修改ip。
2、d命令—查看内存中的内容。
3、e命令—修改内存中的内容。
4、u命令—将内存中的内容解释为机器指令和对应的汇编指令。
5、t指令—单步运行程序指令
6、a指令—以汇编指令的形式向内存中写入指令

DS和[address]

  • 8086CPU中有一个DS寄存器,通常用来存放要访问数据的段地址。
  • […]表示一个内存单元,[…]中的数据表示内存单元的偏移地址。
  • 8086CPU不支持将数据直接送入段寄存器的操作。

mov指令的几种形式:
1、mov 寄存器,数据
2、mov 寄存器,寄存器
3、mov 寄存器,内存单元
4、mov 内存单元,寄存器
5、段寄存器,寄存器

  • 栈是一种具有特殊的访问方式的存储空间。它的特性在于,最后进入这个空间的数据,最先出去。
  • 栈顶是栈的增长方向,指针地址小于等于栈底指针
  • push ax—表示将ax中的数据送入栈中
  • pop ax—表示从栈顶取出数据送入ax
  • ss—存放栈顶的段地址,sp—存放栈顶的偏移地址
  • 任意时刻,ss:sp指向栈顶元素
  • 8086CPU中设置一个栈段的容量,最大可设置为64kb。因为sp为16bit的。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值