引导程序在汇编中打印字符串

时间:2019-07-01 17:37:50

标签: assembly nasm x86-16 bootloader

我在汇编中有一个非常简单的引导程序,应该可以打印一个字符串。我尝试查找许多不同的方式来在汇编中打印字符串,但没有一种方式对我有用。这是我在一些教程中看到的最新尝试,但是没有用。它显示T而不是消息。

mov si, message       ;The message location *you can change this*
    call print            ;CALL tells the pc to jump back here when done

    print:
      mov ah, 0Eh         ;Set function

    .run:
      lodsb               ;Get the char
    ; cmp al, 0x00        ;I would use this but ya know u dont so use:
      cmp al, 0           ;0 has a HEX code of 0x48 so its not 0x00
      je .done            ;Jump to done if ending code is found
      int 10h             ;Else print
      jmp .run            ; and jump back to .run

    .done:
      ret                 ;Return

    message           db  'Hello, world', 0 ;IF you use 0x00
    ;message          db  'Hello, world', 0x00

jmp $

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

0 个答案:

没有答案