永发信息网

关于王爽的汇编语言第2章寄存器的汇编指令

答案:1  悬赏:50  手机版
解决时间 2021-04-22 10:36
  • 提问者网友:溺爱和你
  • 2021-04-21 10:46
就是他的汇编指令
汇编指令 控制cpu完成的操作 用高级语言的语法描述
mov ax,18 将18送入寄存器ax ax=18
mov ah,78 将78送入寄存器AH ah=78
add ax,8 将寄存器ax中的数值加上8 ax=ax+8
mov ax,bx 将寄存器bx中的数据导入ax ax=bx
add ax,bx 将ax和bx中的数值相加,结果存在ax中 ax=ax+bx


这个公式看明白了 可下面的表我不明白每一道题的数值怎么的出来的
程序段中的命令 指令执行后的ax中的数据 指令执行后bx中的数据
mov ax,4E20H 4E20H(这个数怎么得出来的) 0000H(这个数怎么得出来的)
add ax,1406H 6226H(同样) 0000H(同上)
mov bx,2000H 6226H(同上) 2000H
add ax,bx 8226H(同上) 2000H
mov bx,ax 8226H(同上) 8226H
add ax,bx ? 8226H


这些都是怎么算出来的? 请高手指教!!!!谢谢
最佳答案
  • 五星知识达人网友:逐風
  • 2021-04-21 11:11

哦 ~~~


首先 ax=0H ,bx=0h


mov ax,4E20H 等同于 ax=4E20H ,bx=0H
add ax,1406H 等同于 ax=ax+1406H 所以ax= 6226H,bx 没动所以 bx还是 0H
mov bx,2000H 执行到这的时候 ax还是 6226H ,bx=2000H


add ax,bx 这句话等同于 ax=ax+bx 因为 ax=6226H bx=2000H 所以 ax=6226H+2000H =8226H,bx没有动 还是 2000H
mov bx,ax 这个吧 ax中的数据移动到 bx ,所以 bx=8226H, ax依然是 8226H


add ax,bx 最后这个要注意了。 正常 这个式子应该是 ax=ax+bx 就是 8226H+8226H =1044CH 但 由于你 用学的是十六位 汇编 也就是说 寄存器 只能容纳 0~FFFFH 的数据 所以 最高位 被截去了 所以最后 ax 应该 是 044CH ,而bx 依然是 8226H


如果还有什么不懂可以 问我 qq476226912

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯