我是靠谱客的博主 现代柜子,最近开发中收集的这篇文章主要介绍汇编语言:自定义78h号中断的中断处理例程,并将其安装到内存中,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

自定义78h号中断的中断处理例程,并将其安装到内存中
;文件名: ptest.asm

assume cs:code
code segment
start:
;将自定义的78h号中断的中断例程安装到0:200
mov ax,cs
mov ds,ax
mov ax,0
mov es,ax
lea si, do_78h
mov di,200h
mov cx,offset do78h_end - offset do_78h
cld
rep movsb
;设置78h号中断的中断向量表
mov word ptr es:[78h*4],200h
mov word ptr es:[78h*4+2],0
mov ax,4c00h
int 21h
;自定义的78h号中断的中断例程:显示"flying";
do_78h: jmp short istart
msg db 'flying!-Piao Guo....'
istart:
push ds
push es
push si
push di
push ax
push cx
mov ax, cs
mov ds, ax
mov si, 202h
mov ax,0b800h
mov es,ax
mov di,160*24
mov ah, 11001111b ;闪烁红底加亮白字
mov cx,offset istart - offset msg
s: mov al,[si]
mov es:[di],ax
;字符与属性一起移入
inc si
add di,2
loop s
pop cx
pop ax
pop di
pop si
pop es
pop ds
iret
do78h_end:nop
code ends
end start

编译、连接及运行过程如下:
这里写图片描述
编程序,触发中断78h
;文件名: pa.asm

assume cs:code, ss:stack
stack segment stack
db
16 dup (0)
stack ends
code segment
start:
int 78h
;由本条指令触发78h中断
mov ax,4c00h
int 21h
code ends
end start

编译、连接、运行程序:
这里写图片描述
上图红色区域本来是一闪一闪的字,截图的时候恰巧字没显示出来…

最后

以上就是现代柜子为你收集整理的汇编语言:自定义78h号中断的中断处理例程,并将其安装到内存中的全部内容,希望文章能够帮你解决汇编语言:自定义78h号中断的中断处理例程,并将其安装到内存中所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部