x86的寄存器

最近一段时间,在看汇编语言方面的东西。
看的大部分都是基于8086。而8086的芯片中是16位的数据线,16位的寄存器。看了大部分指令后也是16位的。
所在在把程序移植到32位的处理器上的时候,就会发现有此不同。虽然处理器是32位的,但是它还是保留的AX,BX,CX,DX,BP寄存器还是16位。
其寻址方式也按字节寻址。

比如16位的地址0000只是对应了一个字节的内容 CD,而16位的地址0001也是对应了一个字节的内容 如20。

那么

mov ax,[0000]

时,我们就把20CD内容送到了,这个32位的寄存器中去了。所以一个字占两个字节。

而且8086规定在以低8位(低字节)所在单元的地址作为字或双字数据的地址,存放的顺序是:高字节数据放在高地址单元中,将低字节数据放在低地址单元中。

汇编图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值