微机实验2-中断-代码及结果

本文详细记录了微机实验中的三个任务,尤其是任务三,该任务聚焦于中断优先级的理解与实现,通过代码展示并解析了中断处理的过程。
摘要由CSDN通过智能技术生成

 

任务一:

  include io.inc
    .model small
    .stack
    .data
intmsg byte 'TPCA Interrupt No.3!',13,10,0
counter byte 0
    .code
start:
    mov ax,@data
    mov ds,ax   ;设置数据段
​
    mov ax,350bh
    int 21h;调用21中断35号功能,获得0b号中断向量表项
    push es
    push bx
    cli
    push ds
    mov ax,seg new0bh
    mov ds,ax
    mov dx,offset new0bh
    mov ax,250bh
    int 21h;调用21中断25号功能,修改0b号中断向量表项
    pop ds
​
    in al,21h
    push ax
    and al,0f7h
    out 21h,al
    mov counter,0
    sti
​
start1:
    cmp counter,5
    jb start1
    cli
    pop ax
    out 21h,al
    pop dx
    pop ds
    mov ax,250bh
    int 21h;调用21中断35号功能,恢复0b号中断向量表项
    sti
    .exit 0;以上是主程序
​
​
new0bh proc;新的0b中断服务
    sti;开中断
    push ax
    push si
    push ds
    mov ax,@data
    mov ds,ax;设置数据段
    inc counter
    mov si,offset intmsg
    call dpstri;调用子程序打印字符串
    mov al,20h
    out 20h,al;EOI
    pop ds
    pop si
    pop ax
    iret;中断返回
new0bh
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值