13.1 int指令
int指令的格式为:int n,n为中断类型码,它的功能是引发中断过程
CPU执行int n指令,相当于引发一个n号中断的中断过程,执行过程如下:
可以在程序中使用int指令调用任何一个中断的中断处理程序
13.2 编写供应用程序调用的中断例程
用int指令模拟loop
assume cs:code
;int 07ch是中断码
;在[07ch]中存储的是中断程序的偏移地址,[07ch+2]中存储的是中断程序的段地址
;先将中断程序放到内存中,内存中地址为0:200h
;再将0:200放入07ch对应的中断标量表中
;因为我们要用其模拟loop效果,所以设置好cx,之后将其放入对应的显存中
;然后int 07ch
code segment
main: ;源地址
mov ax,code
mov ds,ax
mov si,offset myloop0
;目的地址
mov ax,0
mov es,ax
mov di,200
mov cx,offset myloop0end - offset myloop0
cld
rep movsb
;将0:200放入0:07ch*4中
mov ax,0
mov es,ax
mov word ptr es:[07ch * 4],200
mov word ptr es:[07ch * 4 + 2],0
mov cx,80
mov ax,0b800h
mov es,ax
mov si,10*160
mov bx,offset pr - offset pr0
pr: mov byte ptr es:[si],'!'
add si,2
int 7ch
pr0: nop
mov ax,4c00h
int 21h
myloop0: push bp
mov bp,sp
dec cx
jcxz lpret
add [bp+2],bx
lpret: pop bp
iret
myloop0end: nop
code ends
end main