我正在使用16位TASM编译器与DOSBox,并想知道如何在我的汇编代码中包含dosbox打印功能。我试图做的事情类似于以下内容(但这是与NASM和我需要TASM。即一些与8086一起工作的东西):
global _main
extern _printf ;What would be its equivalent in TASM?
section .data
msg db "Hello World!", 0Dh, 0Ah, 0
section .bss
section .text
_main:
push ebp
mov ebp, esp
push msg ;How do we do
call _printf ;this with TASM?
add esp, 4
mov esp, ebp
pop ebp
ret
1条答案
按热度按时间dwbf0jvd1#
你可以使用int 21 h中断来打印一个msg.你可以这样做,首先在msg中结束,你需要字符'$'来表示msg的结束,其次将msg的偏移量移动到寄存器dx,然后mov ah,9并调用中断。
它应该如下所示:msg db 'hello wrold!$'
mov dx,offset msg mov ah,9 int 21h