dos中断的指令:int
中断处理程序入口程序CS:IP
中断号*4 例:int 21h 21h*4=84h (低字存放IP,高字存放CS)
则中断指令的入口地址 IP存放0084h,0085h
入口地址CS存放0086H 0087H
中断调用 INT 21H
DOS中断调用步骤
第一步:置入口参数
第二步:功能号送AH
第三步:执行 INT 21H
(1)1号功能 键盘输入
格式:MOV AH, 1
INT 21H
功能:接收键盘输入1个字符,保存在AL寄存器中。
(2)2号功能 屏幕输出
格式:
MOV DL, 输出字符的ASCII
MOV AH,2
INT 21H
(3)5号功能 打印机输出
格式:MOV DL, 输出字符的ASCII
MOV AH,5
INT 21H
(4)9号功能 屏幕输出字符串
格式:LEA DX, 字符串变量名
MOV AH,9
INT 21H
功能:屏幕显示一串字符
(5)10号功能(0AH号)从键盘输入一串籽符串保存在变量缓冲区中
格式:LEA DX, 字符串变量名
MOV AH,10
INT 21H
(6)4CH号功能 程序结束返回DOS
格式:MOV AH,4CH
INT 21H
实验1: 从键输入一串字符“I am student. ”,屏幕显示回车换行后,输出该串字符。
Data segment
A db 20, 0, 20 dup('$')
Data ends
Code segment
Assume cs:code, ds:data
Start:mov ax,data
Mov ds,ax
Lea dx,a
Mov ah, 10
Int 21h
Mov d

本文介绍了8086汇编语言中的中断调用,包括DOS中断如键盘输入、屏幕输出等,并给出了实验示例。同时讲解了子程序的设计,包括段内和段间调用的实现方式,通过实际实验步骤演示了如何调用及返回。
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



