sslas 发表于 2011-8-16 00:32:25

实验5的问题

本帖最后由 sslas 于 2011-8-16 10:45 编辑

AX=13EBBX=0008CX=0000DX=0000SP=0002BP=0000SI=0000DI=0000
DS=13E9ES=13D9SS=13EBCS=13ECIP=001A   NV UP EI PL NZ NA PO NC
13EC:001A B8004C      MOV   AX,4C00
-t

Program terminated normally
-d 13e9:0
13E9:000001 00 02 00 03 00 04 00-05 00 06 00 07 00 08 00   ................
13E9:001009 00 0A 00 0B 00 0C 00-0D 00 0E 00 0F 00 FF 00   ................
13E9:002002 30 04 00 03 00 02 00-01 00 00 00 00 00 00 00   .0..............
13E9:0030B8 E9 13 8E D8 B8 EB 13-8E D0 BC 0A 00 BB 00 00   ................
13E9:0040B9 04 00 FF 37 83 C3 02-E2 F9 B8 00 4C CD 21 00   ....7.......L.!.
13E9:005000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
13E9:006000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
13E9:007000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
-d 13EB:0
13EB:000002 30 04 00 03 00 02 00-01 00 00 00 00 00 00 00   .0..............
13EB:0010B8 E9 13 8E D8 B8 EB 13-8E D0 BC 0A 00 BB 00 00   ................
13EB:0020B9 04 00 FF 37 83 C3 02-E2 F9 B8 00 4C CD 21 00   ....7.......L.!.
13EB:003000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
13EB:004000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
13EB:005000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
13EB:006000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
13EB:007000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................


上面是实验5第六题在debug中调试结果,题目是用push指令将a段中的前8个字型数据逆序存放到b段中
可答案不正确啊 代码如下:
assume cs:code,ss:b,ds:a
a segment
dw 1,2,3,4,5,6,7,8,9,0aH,0bH,0cH,0dH,0eH,0fH,0ffH
a ends

b segment
dw 0,0,0,0,0,0,0,0
b ends

code segment
start:mov ax,a
      mov ds,ax

      mov ax,b
      mov ss,ax
      mov sp,10

      mov bx,0
      mov cx,4
      s:push
      add bx,2
loop s

mov ax,4c00H
int 21H

code ends
end start到底是那出错了呢?

sslas 发表于 2011-8-16 00:46:30

cx改成8了 还是不对啊AX=4C00BX=0010CX=0000DX=0000SP=FFFABP=0000SI=0000DI=0000
DS=13E9ES=13D9SS=13EBCS=13ECIP=001D   NV UP EI PL NZ AC PO NC
13EC:001D CD21          INT   21
-p

Program terminated normally
-d 13e9:0
13E9:000001 00 02 00 03 00 04 00-05 00 06 00 07 00 08 00   ................
13E9:001009 00 0A 00 0B 00 0C 00-0D 00 0E 00 0F 00 FF 00   ................
13E9:002005 00 04 00 03 00 02 00-01 00 00 00 00 00 00 00   ................
13E9:0030B8 E9 13 8E D8 B8 EB 13-8E D0 BC 0A 00 BB 00 00   ................
13E9:0040B9 08 00 FF 37 83 C3 02-E2 F9 B8 00 4C CD 21 CC   ....7.......L.!.
13E9:005000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
13E9:006000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
13E9:007000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
-d 13e8:0
13E8:000000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
13E8:001001 00 02 00 03 00 04 00-05 00 06 00 07 00 08 00   ................
13E8:002009 00 0A 00 0B 00 0C 00-0D 00 0E 00 0F 00 FF 00   ................
13E8:003005 00 04 00 03 00 02 00-01 00 00 00 00 00 00 00   ................
13E8:0040B8 E9 13 8E D8 B8 EB 13-8E D0 BC 0A 00 BB 00 00   ................
13E8:0050B9 08 00 FF 37 83 C3 02-E2 F9 B8 00 4C CD 21 CC   ....7.......L.!.
13E8:006000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
13E8:007000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................应该是这样的效果吧?-d 13e8:0
13E8:000000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
13E8:001008 00 07 00 06 00 05 00-04 00 03 00 02 00 01 00   ................
13E8:002009 00 0A 00 0B 00 0C 00-0D 00 0E 00 0F 00 FF 00   ................
13E8:003005 00 04 00 03 00 02 00-01 00 00 00 00 00 00 00   ................
13E8:0040B8 E9 13 8E D8 B8 EB 13-8E D0 BC 0A 00 BB 00 00   ................
13E8:0050B9 08 00 FF 37 83 C3 02-E2 F9 B8 00 4C CD 21 CC   ....7.......L.!.
13E8:006000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
13E8:007000 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................

ㄨ珊瑚岛Γ 发表于 2011-8-16 02:53:45

mov sp,10 错 。是 mov sp,16

parbbo 发表于 2011-8-16 09:23:37

10需要改成10h

s0512 发表于 2013-1-21 21:47:05

MOV SP,10H后,答案也是不对的,还有循环这块MOV CX,8(之前是4)要改,但不能单步调试,否则会出错,原因是,栈设置的太小,溢出!
页: [1]
查看完整版本: 实验5的问题