9、王爽《汇编语言》笔记_第十二、十三、十四章

本文详细介绍了汇编语言中的中断处理过程,包括中断类型码、中断过程、中断返回指令iret的运作机制。同时,讲解了BIOS中断10h的功能,如设置光标位置和显示字符。此外,还阐述了端口的概念,如何通过in和out指令进行数据读写,并区分了8位和16位的数据操作。最后提到了逻辑移位操作shl和shr。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、中断类型码:最多支持256个

0

除零错误

1

单步执行

2

不可屏蔽中断

4

执行into指令

2、中断过程/ int n

1) 取得终端类型码N

2) pushf

3) TF=0;IF=0

4) push CS

5) push IP

6) (IP)=(N*$),(CS)=(N*4+2)

3、中断返回:iret

1) pop IP

2) pop CS

3) popf

4、对堆栈操作的影响

1)设置ss,sp应当连续完成

2)pop,push完成之前不产生中断

5、BIOS中断——10h

1)设置光标位置

mov ah,2			;置光标
mov bh,0			;第0页
mov dh,5			;dh放行号
mov dl,12		;dl放列号
int 10h

2)在光标位置显示字符

mov ah,9			;在光标位置显示字符
mov al,’a’		;字符
mov bl,7			;颜色属性
mov bh,0			;第0页
mov cx,3			;字符重复个数
int 10h
6、DOS中断——21h

1) 程序返回

mov ah,4ch		;程序返回
mov al,0			;返回值
int 21h

2) 在光标位置显示字符串(以$结尾)

ds:dx 指向字符串	;要显示的字符串以“$”结束
mov ah,9			;功能号9,表示在光标位置显示字符串
int 21h

7、端口:

1) 由总线控制;端口范围为0~65525;

2) in和out分别用于从端口读写数据;

3) 8位使用al;16位使用ax;

4) 0~255端口读写(直接):

in al,20h			; 从20h端口读入
out 20h,al			; 向20h端口写出

5)256~65535端口读写(端口号放到dx中)

mov dx,3f8h
in al,dx
out dx,al

8、逻辑左移:shl;逻辑右移:shr; 补齐0;











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值