如何使用额外的片段和适当的偏移来存储2位数据....我厌倦了这种方式..
SECTION .data
offset : db 0100H
data : db 56H
SECTION .bss
.......(initializations not required in this program)
SECTION .text
global main
main :
mov ax,1000H
mov es,ax
mov si,[offset]
mov al,[data]
mov es:[si],al
mov rdi,0
mov rax,60
syscall
这有什么问题?我在nasm编程方面是全新的......
答案 0 :(得分:0)
使用segent指针直接访问某个内存地址只能在16位实模式下工作。在64位保护模式下,MMU将物理内存地址映射到应用程序可见地址。这通常由操作系统管理,而用户空间应用程序根本不允许使用它进行调节。如果你想访问某些物理内存,你需要告诉操作系统以某种方式将它映射到你的内存空间。