销毁 NASM x86 程序集中的变量

问题描述

我需要在汇编中重新定义/删除一个变量,以便可以重新定义它 我正在研究裸机,所以我不能使用 windows/linux 操作系统调用

我的代码

; Print String code
; Invoke with CALL PRINTS,otherwise it jump to a random command
prints:
    mov ax,0x07c0
    mov ds,ax

    mov si,msg
    cld
    jmp .loop
.loop:lodsb
    or al,al ; zero=end or str
    jz .done  ; get out
    mov ah,0x0E
    mov bh,0
    int 0x10
    jmp .loop
.done:
    popa
    pop msg
    ret
 
msg   db 'AHHHHHHHHHHHHHHHHHHHHHHHHH',0

解决方法

我认为没有(好的)方法可以做到,所以我会让他们选择要打印的 VAR 名称,如果有冲突,我会让 NASM 对他们尖叫。

>