(1)写出每条汇编指令执行后相关寄存器中的值。
mov ax,62627 ax = F4A3H
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 = 0482H
mov ah,bl ax = 6C82H
add ah,ah ax = D882H
add al,6 ax = D888H
add al,al ax = D810H
mov ax,cx ax = 6246H
当寄存器存不下相应的计算结果时,将高位的进位丢弃;
一定要看清楚寄存器符号,高8位还是低8位。第一次做的时候就糊里糊涂的把ah看成了al,细心细心再细心!
(2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。
mov al,2
add al,al ;2*al=2*2
add al,al ;2*(2*2)
add al,al ;2*(2*(2*2))
- [游客] 感谢 11/15 22:10
- [游客] 把:DD 5937000,改成:DD 4294967295,你的错误,立刻就暴露出来。呵呵 05/19 18:30
- [游客] 计算人均时,是DD型除以DW型。把DD型的最大值代进去,你的程序,就溢出了。 05/19 18:28
- [游客] 注意不溢出的除法。 05/19 18:25
- [游客] 老师好啊~ 06/28 11:01
- [longphui] 谢谢 09/03 20:10
- [longphui] 谢谢 09/03 16:23
- [longphui] 谢谢 09/02 15:26
- [longphui] 谢谢 09/02 09:13
- [sissim] 恩恩,谢谢指正 01/11 18:24
- [even3] 亲,你好。。。这边有一个汇编语言程序,但是就是不知道哪里出了问题,问了很多人,都不知道想麻烦您一下, 05/16 20:48
- [mcjfo] 楼主可以帮我解决这个问题吗?谢谢! 为什么它会跳过JMP DD 指令不执行啊 小弟搞了好久抖没 06/08 06:50
[ tinyparticle 发表于 2009-10-20 21:33 ]
正确
[ sissim 发表于 2009-10-20 21:38 ]
谢谢!!
[ 511632734 发表于 2011-07-30 20:14 ]
mov bx,826cH ax = 826CH
这一条。。应该是bx=826CH
而不是ax=826CH
[ sissim 发表于 2012-01-11 18:24 ]
恩恩,谢谢指正
[ longphui 发表于 2012-09-02 15:26 ]
谢谢