我已将特定数据存储在内存位置0x4000上。我想将一个字节从那里传递到内存位置0xb800,以便将数据打印在屏幕上。当我尝试将我假设在0x4000:0中的第一个字节存储在0xb800:0中时,就会出现问题。我用作示例的代码如下:
mov ax, 0xb800
mov es, ax
mov byte [es:0], 'A'
这可以很好地编译并完美运行,但是我正在尝试适应的内容会在 NASM 上引发“无效段覆盖”错误。这是我的非工作代码:
mov ax, 0xb800
mov es, ax
mov byte [es:0], byte [0x4000:0]
是否可以使用 ES 段从 0x4000:[offset] 获取单个字节并将其馈送到 0xb800:[offset] ?如果是这样,怎么做?