![]() |
#2
zklhp2013-11-12 15:40
|

data segment
a dw 'AB'
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
code ends
end start
根据8086的双字内存分配规则,dw 'AB'会把这个字符串当作一个整体转换成ASCII码后是dw 4142h,再根据低地址对应低位,高地址对应低位的原则,存入内存中从低到高为a dw 'AB'
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
code ends
end start
42,41,也就是B,A,但是用这个版本的编译器结果是相反的,3.07版本却似正常的,这是什么情况?