汇编提问

来源:百度知道 编辑:UC知道 时间:2024/06/03 06:14:25
请问汇编输出一行字符的指令是什么(除了调用printf),有个例子更好.
补充一下,我要GNU下的代码

BIOS中断调用:INT 10H
DOS中断调用:INT 21H
用nasm编译器,主要代码:
org 100h
mov ax, cs
mov ds, ax
mov es, ax
mov ax, msg
mov bp, ax ; ES:BP = 串地址
mov cx, 6 ; CX = 串长度
mov ax, 01301h ; AH = 13, AL = 01h
mov bx, 000ch ; 页号为0(BH = 0) 白底黑字(BL = 70h)
mov dl, 0
int 10h ; 10h 号中断
msg: db "Hello!"

你可以用BIOS中断调用或者DOS(int 21h)中断调用.那个printf好像是C语言的吧.没听说过汇编语言中有这个.我今天没带书,那个中断调用的参数设成什么没记住.你看看书上怎么弄吧.

如果你定义一个字符串如下
msg db ‘hello$'

你就可以采用中断21的方式来显示它,如下

mov dx,offset msg ;ds:dx 字符串的地址
mov ah, 09h ;ah=9 显示字符串
int 21h