首页 > 解决方案 > 使用汇编语言写入视频内存时无效的段覆盖

问题描述

我有这个汇编代码用于将像素写入视频内存:

mov ax, 0x0013
int 0x10

x db 1
y db 1
videomem dd 0xa000

mov bx, y
mov ax, 0x0140 ;320
mul bx

add ax, x

mov cx, videomem
mov [cx:ax], 0x09;

jmp $
times 510-($-$$) db 0
dw 0xaa55

问题是 NASM 返回此错误:

boot.asm:15:错误:无效段覆盖

我应该在第 15 行更改什么才能使其正常工作?另外,我不知道 cx 和 ax 是什么,所以它会返回这个错误,那么 NASM 中是否有编译时调试器?

标签: assemblycompiler-errorsnasmmemory-segmentationvideo-memory

解决方案


推荐阅读