汇编 调试 内存的内容不能赋值给AX

来源:百度知道 编辑:UC知道 时间:2024/06/24 15:23:51
在XP下用debug 调试。
题如下:
DATAS SEGMENT
;此处输入数据段代码
DATAS ENDS

STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
mov ax,1000H
mov ds,ax
mov ax,[0]

MOV AH,4CH
INT 21H
CODES ENDS
END START

调试结果如下:

-u
1436:0000 B80010 MOV AX,1000
1436:0003 8ED8 MOV DS,AX
1436:0005 B80000 MOV AX,0000
1436:0008 B44C MOV AH,4C
1436:000A CD21 INT 21

-d 1000:0
1000:0000 8B 2E 81 56 80 3E 3F 57-00 74 08 B9 04 00 E8 9A
...V.>?W.t......
1000:0010 E8 EB 13 B9 02 00 80 3E-A6 56 01 74 F1 38 0E A6
.......>.V.t.8..

为什么AX=0,而不是2E8B。
谢谢!

在masm里和在debug里是不同的
在masm中:如果用mov ax,ds:[0]就可以,但是用mov ax,[0],会变成
mov ax,0。。。。。。
在debug里:用mov ax,[0]就行。

你百度搜一下就有。
http://zhidao.baidu.com/question/72522472.html?fr=qrl&fr2=query

u命令过后需要t命令执行
再有题目中有MOV AX,0000指令啊