int指令

int n相当于引发一个n号中断

int n执行过程如下:

(1)取中断类型码n

(2)标志寄存器入栈,IF = 0,TF = 0

(3)CS、IP入栈

(4)(IP) = (n*4),(CS) = (n*4+2)

可以在程序中使用int指令调用任何一个中断的中断处理程序。

如:start:

mov ax,0b800h

mov es,ax

mov byte ptr es:[12*160+40*2],'!'  //屏幕输出!

int 0  //将引发0号中断

例子:编写7ch中断计算ax的平方,并求2*3456^2

步骤:编写7ch中断求ax的平方再调用7ch中断求公式

1.编写int 7ch中断程序并加入中断向量表

start: mov ax,cs

mov ds,ax

mov si,offset sqr

mov ax,0

mov es,ax

mov di,200h

mov cx,offset sqrend-offset sqr

cld

rep movsb

mov ax,0

mov es,ax

mov word ptr es:[7ch*4],200h

mov word ptr es:[7ch*4+2],0

sqr: mul ax

iret

sqrend:nop

2:调用7ch中断

mov ax,16

int 7ch

注意:cpu执行int 7ch指令进入中断例程之前,标志寄存器,cs、ip被压入栈中,中断执行结束后应该用iret指令恢复标志寄存器和cs、ip;int和iret的配合使用与call和ret有异曲同工之妙

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,335评论 8 114
  • 版权声明:本文为 gfson 原创文章,转载请注明出处。注:作者水平有限,文中如有不恰当之处,请予以指正,万分感谢...
    gfson阅读 829评论 3 0
  • 王爽汇编全书知识点大纲 第一章 基础知识 机器语言 汇编语言的产生 汇编语言的组成 存储器 cpu对存储器的读写 ...
    2c3ba901516f阅读 2,440评论 0 1
  • # 常见汇编代码 # 1. 编写程序:比较AX,BX,CX中带符号数的大小,将最大的数放在AX中 code...
    喝豆腐脑加糖阅读 2,649评论 0 0
  • 头要炸开了,天天失眠,要疯了,是不是不适合这里,大脑有些跟不上节奏
    此处有危险请远离阅读 177评论 0 0