NASM 汇编编程(四)实现换行(进阶)
上期实现了简单的换行,今天这期将用一个“函数”实现换行。
newline: ;显示回车换行
mov ah,0eh
mov al,0ah ;0x0a=10对应换行符
int 10h ;输出
mov al,0dh ;0x0d=13对应回车符
int 10h ;输出
ret
把这个“函数”写入文件中再调用。
DOS版
org 100h
jmp start
welcome: db HelloWorld,$
start: mov si, welcome
call printstr
call newline
ret
printstr:
mov al,[si]
cmp al,$
je discover
mov ah,0eh
int 10h
inc si
jmp printstr
discover:
ret
newline: ;显示回车换行
mov ah,0eh
mov al,0ah ;0x0a=10对应换行符
int 10h ;输出
mov al,0dh ;0x0d=13对应回车符
int 10h ;输出
ret
映像版
org 7c00h
jmp start
welcome: db HelloWorld,$
start: mov ax, 0
mov ds, ax
mov si, welcome
call newline
call printstr
ret
printstr:
mov al,[si]
cmp al,$
je discover
mov ah,0eh
int 10h
inc si
jmp printstr
discover:
ret
newline: ;显示回车换行
mov ah,0eh
mov al,0ah ;0x0a=10对应换行符
int 10h ;输出
mov al,0dh ;0x0d=13对应回车符
int 10h ;输出
ret
times 510-($$-$) db 0
db 0x55,0xaa
