我是ASM的新手。关于如何在内存中保存数据我有疑问。
这是我的ASM 16位代码
;db.com
.model small
.code
org 100h
start:
jmp proses
A db '123'
B dw 0abcdh
proses:
int 20h
end start
然后我尝试使用-d
命令
上图显示A
变量的正常顺序为hexa值,B
变量位于CD
然后AB
。
我的问题是为什么A
变量中的数据与B
变量保存的不同,您能解释一下吗?
答案 0 :(得分:1)
x86使用小端,因此字将存储为低字节,高字节和 dword ,因为低-word,高词
记事中 0x1020
将0x20 0x10
0xabcd1234
将0x34 0x12 0xcd 0xab
通过定义db <string>
命令汇编程序将字符串用作字节序列,并且每个字节以相同的顺序逐个存储
所以例如
db '012345",13,0
将为0x30 0x31 0x32 0x33 0x34 0x35 0x0D 0x00