如何在程序集中更改变量的值

时间:2014-11-20 06:05:18

标签: variables assembly operating-system nasm interrupt

我正在为我的MikeOS端口编写一些代码。它是用NASM x86 16位汇编编写的。我正在尝试将我所做的变量更改为具有不同的值。它编译没有错误,但是当我调用os_print_string时,它会输出一些奇怪的ASCII字符。这是代码:

    BITS 16
    ORG 32768
    %INCLUDE "mikedev.inc"



start:
    mov si, test2          ; give si test 2 value
    mov [test1], si        ; give test 1 si's value
    mov si, test1          ;now give test1's value to si
    call os_print_string   ; and print

test2 db "adsfasdfasdf", 0
test1 db "asdf", 0

我知道这段代码是多余的。我只需要解释如何更改变量的值。提前做出来的!

-Ryan

0 个答案:

没有答案