汇编网首页登录博客注册
y2j2c1的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
好友圈
文章收藏
友情链接

[2008-05-01 21:18] 检测点2.1

(1)写出每条汇编指令执行后相关寄存器中的值
mov ax,62627  AX=F4A3H //62627是10进制,要转换成16进的
mov ah,31H    AX=31A3H
mov al,23H    AX=3123H 
add ax,ax      AX=6246H
mov bx,826CH  BX=826CH
mov cx,ax     CX=6246H
mov ax,bx     AX=826CH
add ax,bx     AX=04D8H  //溢出
mov al,bh     AX=82D8H
add ah,ah     AX=04D8H
add al,6      AX=04DEH
add al,al     AX=04BCH
mov ax,cx     AX=6702H

(2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方
mov ax,2   //ax=2
add ax,ax  //ax=4,2的2次方
add ax,ax  //ax=8,2的3次方
add ax,ax  //ax=16,2的4次方
评论次数(4)  |  浏览次数(704)  |  类型(汇编作业) |  收藏此文  | 

[  lwbfq   发表于  2008-05-02 12:20  ]

(1)从“add ax,bx     AX=04D8H  //溢出”这一行以下的都错了,再仔细看看吧。

[  y2j2c1   发表于  2008-05-02 20:17  ]

ax=826C,bx=826C,add ax,bx   AX=104D8,但AX只能保存16个位的数啊,不是只留04D8吗?想不明白

[  y2j2c1   发表于  2008-05-02 20:27  ]

我用debug输入上面的命令运行了下,明白了,只是
add ax,bx这一行下面的错,这行没错,错的原因就我太粗心了,原理我就懂的。谢谢老师
更正如下:
mov al,bh  AX=0482
add ah,ah  AX=0882
add al,6   AX=0888
add al,al  AX=0810
mov ax,cx  AX=6246

[  游客   发表于  2008-05-03 11:26  ]

还是不对吧。你少写了一条指令 mov al,bh后面还有一个mov ah,bl了。

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码