汇编语言-寄存器(内存访问)

寄存器(内存访问)。


几个通用寄存器介绍:

AX 寄存器称为累加器,常用于存放算术、逻辑运算中的操作数或结果。另外,所有的I/O指令都要使用累加器与外设接口传递数据。

BX 寄存器称为基址寄存器,常用来存放访问内存时的地址。

CX 寄存器称为计数寄存器,在循环、串操作指令中用作计数器。

DX 寄存器称为数据寄存器,在寄存器间接寻址中的I/O指令中存放I/O端口的地址。

此外,在做双字长乘除法运算时,DX 与 AX 合起来存放一个双字长数(32位),其中 DX 存放高16位,AX 存放低16位。


DS 寄存器和 ES 寄存器:

DS 寄存器和 ES 寄存器:

  1. DS 数据段寄存器(Data Segment)

  2. ES 附加段寄存器(Extra Segment)

特点:

  1. 属于段寄存器,不能直接保存数据,只能通过其他的段寄存器保存数据。

  2. 他们两个一个没有明显的区别,但是DS 是其他指针寄存器的默认段寄存器。(BX,BP,SI,DI)

举个粟子:

假设我们要将 a1 中的数据送入内存单元 10000H 中

那么完整的指令应该是:


mov bx,1000H
mov ds,bx
mov [0],al

因为CPU不能直接将数据直接送入 ds 寄存器中,

所以只能通过其他寄存器送入。

[] 括号表示一个内存单元,0 表示内存单元的偏移地址


mov、add、sub 指令:

mov传送指令mov a,b 将b数据放进a

mov 寄存器, 数据 ---> 比如:mov ax,8
mov 寄存器, 寄存器 ---> 比如:mov ax,bx
mov 寄存器, 内存单元 ---> 比如:mov ax,[0]
mov 内存单元,寄存器 ---> 比如:mov [0],ax
mov 段寄存器, 寄存器 ---> 比如:mov ds,ax
add求和指令 add a,b a=a+b

add 寄存器, 数据 ---> 比如:add ax,8
add 寄存器, 寄存器 ---> 比如:add ax,bx
add 寄存器, 内存单元 ---> 比如:add ax,[0]
add 内存单元,寄存器 ---> 比如:add [0],ax
sub减法指令 sub a,b a=a-b

sub 寄存器, 数据 ---> 比如:sub ax,8
sub 寄存器, 寄存器 ---> 比如:sub ax,bx
sub 寄存器, 内存单元 ---> 比如:sub ax,[0]
sub 内存单元,寄存器 ---> 比如:sub [0],ax
  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余十步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值