【不求甚解】《汇编语言》第 11 章:int 指令


前言

参考书籍:
王爽。汇编语言。北京:清华大学出版社, 2013:1-1

本人菜狗一枚,不敢咬文嚼字,只能站在巨人的肩膀上窥探一下未曾了解的世界。


中断信息可以来自 CPU 的内部外部,当 CPU 的内部由需要处理的事情发生的时候,将产生需要马上处理的中断信息,引发中断过程。

int 指令

int 指令的格式:int n
n 为中断类型码,它的功能是引发中断过程。

CPU 执行 int n 指令,相当于引发一个 n 号中断的中断过程,执行过程如下。

  1. 取中断类型码 n;
  2. 标志寄存器入栈,IF = 0,IF = 0;
  3. CS、IP 入栈;
  4. (IP)=(n * 4),(CS)=(n * 4 + 2)。

从此处转去执行 n 号中断的中断处理程序。例如,下面的程序:

assume cs:code

code segment
	start:
		mov ax, 0b800h
		mov es, ax
		mov byte ptr es:[12 *160 + 40 * 2], '!'
		int 0
code ends
end start

一般情况下,系统将一些具有一定功能的子程序,以中断处理程序的方式提供给应用程序调用。我们在编程的时候,可以用 int 指令调用这些子程序,当然,也可以自己编写一些中断处理程序供别人使用。

编写供应用程序调用的中断例程

assume cs:code

code segmnet
start:	
	mov ax, 3456
	int 7ch
	add ax, ax
	abc dx, dx
	mov ax, 4c00h
	int 21h
code ends
end start
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值