我有一个指针寄存器,
edx
,它通过以下指令设置:
mov edx, stringvar
在哪里
stringvar
定义为 stringvar: db "teststring", 0xA, 0xD, 0
so
edx
包含 stringvar 中第一个字节的内存地址,“t”
但是当我去打印它时
mov ah, 0x0E
mov al, [edx]
int 0x10
它打印“☰”
这段代码实际上在做什么?
原来是我设置不当
org
我从引导加载程序复制了代码
org 7C00
代替
org 7E00
,内核在内存中的起始位置