+ -
当前位置:首页 → 问答吧 → 立即寻址

立即寻址

时间:2010-11-21

来源:互联网

mov ax, 'AB'
书上说是把ASCII码(4241H)传送到AX,但是我debug的时候,AX是4142,没有倒过来啊(用-r看的)
用-d时,看到又是BA字符。
各种乱……

作者: lzy6032   发布时间: 2010-11-21

1,在源程序中允许mov ax,‘AB’这样的格式,在debug里则是非法的
2,在8086汇编语言里, 数据在内存里采用小端存贮方式, 即高地址存放高字节低地址存放低字节的形式。
3,举例:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

d:\MASM>debug
-a
1472:0100 mov ax,0
1472:0103 mov ds,ax
1472:0105 mov ax,4142 ;将AB赋值给AX
1472:0108 ds: ;将AB存放至内存单元0:200处
1472:0109 mov [200],ax
1472:010C
-d 0:200 20f
0000:0200 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
-g10c
;执行上述指令结果
AX=4142 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0000 ES=1472 SS=1472 CS=1472 IP=010C NV UP EI PL NZ NA PO NC
1472:010C E9E8C5 JMP C6F7
-d 0:200 20f
0000:0200 42 41 00 00 00 00 00 00-00 00 00 00 00 00 00 00 BA..............
-q

d:\MASM>

作者: masmaster   发布时间: 2010-11-21