如何将数据保存在内存DOS 16位ASM中?

时间:2016-03-14 08:42:47

标签: assembly dos 16-bit

我是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命令

进行调试

enter image description here

上图显示A变量的正常顺序为hexa值,B变量位于CD然后AB

我的问题是为什么A变量中的数据与B变量保存的不同,您能解释一下吗?

1 个答案:

答案 0 :(得分:1)

x86使用小端,因此将存储为低字节,高字节 dword ,因为低-word,高词

记事中

0x10200x20 0x10 0xabcd12340x34 0x12 0xcd 0xab

通过定义db <string>命令汇编程序将字符串用作字节序列,并且每个字节以相同的顺序逐个存储

所以例如 db '012345",13,0将为0x30 0x31 0x32 0x33 0x34 0x35 0x0D 0x00