目前我正在学习x86组装以获得乐趣,我喜欢微控制器编程,所以我熟悉汇编.
目前我一直在寻找这个问题的答案的高低,但似乎无法找到它...... DS寄存器,我知道它应该指向我程序中的全局数据,但我不知道知道它是如何工作的.我正在使用NASM,在大多数简单的程序中,我看到以下内容:
[org 0x7C00] [bits 16] main: mov ax, 0x0000 mov ds, ax mov al, [msg] mov ah, 0x0E mov bx, 0x0007 int 0x10 jmp $ msg db 'X' times 510-($-$$) db 0 dw 0xAA55
并且它完美地工作(即使我省略了粗体代码),但是如何?CPU是否自动加载从0x0000开始的全局变量?或者我有什么内在的东西,我错过了?