【问题标题】:How to reserve bytes in code segment in 8086如何在8086中保留代码段中的字节
【发布时间】:2022-01-15 01:11:10
【问题描述】:

我想知道是否有任何方法可以为代码段(特别是 256 个)保留更多字节,因为我需要所有段至少有 256 个字节长,并且我需要在所有段中存储数据。我尝试了适用于所有其他细分市场的 resb,但这似乎不适用于 cs。

【问题讨论】:

  • 我需要所有段至少有 256 个字节长。这种说法没有意义。段不是可变长度的。您是说这里的部分吗?

标签: assembly nasm


【解决方案1】:

在 BSS 部分,您可以使用 RESBRESW、...

在数据部分,您可以使用DBDW、...

在 CODE 部分你通常只写指令,但你也可以使用DB, DW, ...
访问这些数据需要使用像 mov ax, [cs:bx] 这样的段覆盖前缀。

此外,您还可以在 CODE 和 DATA 部分中使用 ALIGN 宏。

假设您的 CODE 部分仅包含一条指令 RET,而您让它跟在 ALIGN 256 之后,那么新的 CODE 部分将有 256 个字节:1 次 RET 和 255 次 NOP

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-28
    相关资源
    最近更新 更多