- 微机原理与接口技术39讲
- BIOS和DOS系统调用
- BIOS更加底层,可以直接使用DOS
- DOS软中断
INT 21H
- 调用步骤
- 单字符输入
- 按下回车退出
assume cs:code
code segment
start:
get_key:
mov ah,1
int 21h
cmp al,'y'
jz yes
cmp al,'n'
jz no
cmp al,0dh
jz exit
yes:mov dl,'Y'
mov ah,2
int 21h
jmp get_key
no:mov dl,'N'
mov ah,2
int 21h
jmp get_key
exit:
mov ah,4ch
int 21h
code ends
end start
- 单字符显示输出
- 字符串输入
- 定义字节,缓冲区最大255,N2一定要留出来给系统数你敲了几下键,不包含回车键
assume cs:code
data segment
dat1 db 20,?,20 dup(?)
dat2 db 'input string:',0dh,0ah,'$'
data ends
code segment
start:
get_key:
mov ax,data
mov ds,ax
lea dx,dat1
mov ah,0ah
int 21h
mov ah,9h
lea dx,dat2
int 21h
exit:
mov ah,4ch
int 21h
code ends
end start
-
调试观察
-
输入缓冲区
-
字符串显示输出
-
注意
- 返回操作系统(DOS)功能
- 总结