(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次方
- [mess] 实践出真知,这次实验可以自己总结出规律,不错的方法哦 :-) 05/17 10:13
- [mess] 答案没有问题,都正确。 mov sp,1aH //设置栈顶指针指向栈空间的下一个地址 这个空应 05/17 10:12
- [starrynight] http://www.asmedu.net/blog/user/postcontent.jsp?ne 05/09 22:41
- [游客] 对~ 05/03 20:57
- [游客] 还是不对吧。你少写了一条指令 mov al,bh后面还有一个mov ah,bl了。 05/03 11:26
- [游客] 正确。 05/03 11:04
- [y2j2c1] 我用debug输入上面的命令运行了下,明白了,只是 add ax,bx这一行下面的错,这行没错,错 05/02 20:27
- [y2j2c1] ax=826C,bx=826C,add ax,bx AX=104D8,但AX只能保存16个位的数 05/02 20:17
- [lwbfq] 正确 05/02 12:33
- [lwbfq] (1)从“add ax,bx AX=04D8H //溢出”这一行以下的都错了,再仔细看看吧 05/02 12:20
[ 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了。