注册 登录
编程论坛 汇编论坛

求教!!! 一道试题!!!有疑惑.....

jhtyolg20002 发布于 2007-12-26 21:43, 1700 次点击
已知DS=2000H, SS=5000H, SP=0010H, AX=2000H, BX=1200H, SI=0002H, DI=0003H, (21200H)=50H, (21201H)=02H, (21202H)=0F7H, (21203H)=90H, 请写出下列各条指令独立执行后有关寄存器和存储单元的结果。
1)ADD  AX, 1200H           ;AX=
2)SUB  AX,  BX             ;AX=
3)MOV  [BX], AX            ;(21200H)=
4)DEC  BYTE  PTR[1200H]     ;(21200H)=
5)SAR  BYTE  PTR1200[SI],1  ;(21200H)=

我的解答 1)ADD  AX, 1200H           ;AX=3200H
        2)SUB  AX,  BX             ;AX=2000H
        3)MOV  [BX], AX            ;(21200H)=00H
        4)DEC  BYTE  PTR[1200H]     ;(21200H)=00H
        5)SAR  BYTE  PTR1200[SI],1  ;(21200H)=00H

我感觉3 4  5  我的解答应该是不对的,这个应该是要用到堆栈的知识吧,可是我不懂是先进先出呢 还是替换
希望有人能帮我解开疑惑 谢谢!!!
7 回复
#2
zhoulikelvjj2007-12-26 23:22
说的是独立执行。。每天指令间没关联的吧
第2题:800H
第3题:2000H
第4题:024FH
第5题:0250H
[BX]就是内存中21200H的内容DS*16+BX
[1200] :      DS*16 +1200
1200[si] :  DS*16 + 1200 + SI
没用到堆栈

[[italic] 本帖最后由 zhoulikelvjj 于 2007-12-26 23:26 编辑 [/italic]]
#3
jhtyolg200022007-12-27 10:00
物理地址我是会求的 但我的疑惑是 21200H 只是一个字节存储单元 是不是
第3题:00H
第4题:4FH
第5题:50H

是应该是这样吗??
再次请求解答!!!
#4
xyc_lemon2007-12-27 13:53
无能为力```我还没学这个饿``
#5
jhtyolg200022007-12-27 14:22
版主!版主!在不在! 进来看一下这个问题!! 谢谢!!
#6
爱以走远2007-12-27 14:43
如果每条指令是独立的 .
我的答案
1.3200H
2.800H
3.00H
4.FFH   
5.00H
#7
爱以走远2007-12-27 14:48
解释一哈..
  1和2题应该都会..
  3.   因为高地址放高位 低地址放低位 所以这个字节的低位为00H
  4.  DEC 自减一  所以为FFH.
  5. SAR是算术右移,他移动的是1200+SI(0002)的地址,所以与21200H地址无关,还是为00H
     不晓得对不..
#8
jhtyolg200022007-12-27 16:56
爱以远走 版主 既然是独立的 那第5题是不是应该是50H  还有那个自减1 你也算错了吧?

再次求教! 高手请进!!
1