マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

初心に戻ってHello World!

初心に戻ってはじめから。まだブートローダの部分だけど、Hello Worldを表示している

   ORG 0x7C00

    XOR AH, AH
    MOV AL, 0x03
    INT 0x10

    MOV SI, MESSAGE
    CALL print

    MOV SI, D_KAMI
    CALL print

fin:
    JMP fin

print:
    MOV AH, 0x0E

mloop:
    MOV AL, [SI]
    OR AL, AL
    JE print_fin

    INT 0x10
    ADD SI, 1
    JMP mloop

print_fin:
    RET

MESSAGE:
    DB "Hello World!", 0x0D, 0x0A, 0x00 

D_KAMI:
    DB "Hello d-kami!", 0x0D, 0x0A, 0x00

    TIMES 510 - ($ - $$) DB 0
    DB 0x55, 0xAA