鱼C论坛

 找回密码
 立即注册
查看: 2251|回复: 3

汇编语言 CS与IP

 关闭 [复制链接]
发表于 2014-9-12 17:35:05 | 显示全部楼层 |阅读模式
1鱼币
在讲CS与IP寄存器的时候,动画显示mov AX,0123H占用三字节 而 mov AX,BX占用两字节是怎么回事?
(找了一下没找到,或是看不懂,谁可以帮我一下!感激不尽)

视频

视频

百度

百度

最佳答案

查看完整内容

从8086指令编码而言, intel编码中mov AX,0123H的二进制码: B8 2301 操作数有一个2字节立即数,B8长度一个字节指明操作模式是(mov ax, 立即数) 所以就三字节了 mov ax,bx这种除了指明操作模式的1字节外,直接用另一个字节表明是这两个寄存器, 所以是二字节 说实话立即数比较占地方,指明一个通用寄存器只需要3个二进制位,而立即数最短也要8位 初学汇编不用看得太细,机器码的长度影响不到一般的汇编编程
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-12 17:35:06 | 显示全部楼层
本帖最后由 漩涡鸣人 于 2014-9-12 18:20 编辑

从8086指令编码而言,
intel编码中mov AX,0123H的二进制码:
B8 2301
操作数有一个2字节立即数,B8长度一个字节指明操作模式是(mov ax, 立即数)
所以就三字节了
mov ax,bx这种除了指明操作模式的1字节外,直接用另一个字节表明是这两个寄存器,
所以是二字节

说实话立即数比较占地方,指明一个通用寄存器只需要3个二进制位,而立即数最短也要8位
初学汇编不用看得太细,机器码的长度影响不到一般的汇编编程
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-9-12 21:50:58 | 显示全部楼层
漩涡鸣人 发表于 2014-9-12 18:12
从8086指令编码而言,
intel编码中mov AX,0123H的二进制码:
B8 2301

谢谢你的回答,基本明白了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-16 20:06:37 | 显示全部楼层
我也开始学了2014-9-16日开始 学
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 12:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表