首页 > 其他分享 >微机原理与接口技术中断实验

微机原理与接口技术中断实验

时间:2023-10-28 14:44:38浏览次数:25  
标签:接口技术 中断 al mov 微机 ax ds 21h

;*******************************;
;*           中断实验IRQ3       *;
;*******************************;
    include io.inc
    .model small    ; 定义程序的存储模式
    .stack    ; 定义堆栈段(默认是1KB空间)
    .data
msg    byte 'TPCA interrupt No.3!',0dh,0ah,0
counter    byte 0
intseg    word ?
intoff    word ?
intimr    byte ?
    .code
start:    
        mov ax,@data
        mov ds,ax
        mov ax,350bh
        int 21h
        ;获取原中断向量表项
        mov intseg,es
        mov intoff,bx
        ;
        ;设置新0BH中断向量表项,这时应该关中断
        cli
        push ds
        mov dx,offset intproc
        mov ax,seg intproc
        mov ds,ax
        mov ax,250bh
        ;调用DOS功能调用,讲intproc的中断向量表项写入0bh
        int 21h
        pop ds
        ;设置imr允许IR3中断
        in al,21h
        mov intimr,al
        and al,0f7h
        out 21h,al
        ;开始直到3次中断结束
        mov counter,0
        ;当我们完成中断前的处理工作就可以开中断了
        sti
        ;
again:  cmp counter,5
        jb again
        ;
        ;中断返回程序,也要关中断
        cli
        mov al,intimr
        out 21h,al
        mov dx,intoff
        mov ax,intseg
        mov ds,ax
        mov ax,250bh
        int 21h
        sti
        ;中断返回程序开中断
    .exit 0

intproc proc
        sti
        push ax
        push si
        push ds
        ;
        mov ax,@data
        mov ds,ax
        ;
        inc counter
        mov si,offset msg
        call dpstri
        ;设置中断结束方式
        mov al,20h
        out 20h,al
        pop ds
        pop si
        pop ax
        iret
intproc endp
;
dpstri    proc
        push bx
disp1:  mov al,[si]
        test al,al
        jz disp2
        mov bx,0
        mov ah,0eh
        int 10h
        inc si
        jmp disp1
disp2:    pop bx
    ret
dpstri endp
    end start

标签:接口技术,中断,al,mov,微机,ax,ds,21h
From: https://www.cnblogs.com/cxy8/p/17794067.html

相关文章

  • 微机原理与接口技术-第八章常用接口技术
    目录定时控制接口8253/8254定时器定时器的应用并行接口并行接口电路8255内部引脚工作方式工作方式0:基本输入输出方式工作方式1:选通输入输出方式编程并行接口的应用用8255方式0与打印机接口数码管及其接口数码管的工作原理单个数码管的显示多个数码管的显示异步串行通讯接口模拟接......
  • 32-TIM定时中断
    一16位计数器,功能:定时中断、内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发 ......
  • stm32性能评估(程序执行效率,中断最大速率)
    自从研究stm32以来,对mcu的运行速度一直没有一个明确的概念,困惑一直卡在这,很烦,最近有了一点心得,记录一下。stm32的官方数据为1.25MIPS/MHZ,即每秒执行的汇编指令数应该是主频的1.25倍。stm32f103 72M主频,所以一秒执行90M汇编指令,stm32H743480M主频,一秒的指令只会大于600M指令......
  • 安信可小安派【IO中断】基于AI-M6X MCU
    最近在研究小安派的中断。昨晚写了一个Demo来进行测试。关于什么是中断这里已经讲的很清楚了。首先贴上引用参考。第一个是泽哥写的中断:http://ai-thinker.com/forum.php?mod=viewthread&tid=562&highlight=%E4%B8%AD%E6%96%AD&_dsign=fe47e0a0复制代码这个是我自己写......
  • hc32f4a0 bootloader跳转app后中断异常
    起因从HC32F460上移植bootloader到HC32F4A0上后,应用程序无法正常使用。主要代码如下:voidexecute_user_code(uint32_tappxaddr){uint32_tJumpAddress;sram_size=(*(uint32_t*)appxaddr)-0x1FFF8000;//differentsramadresswithotherMCUif(sram_size<=0x......
  • 外部中断和内部中断
    一.内部中断(也称为异常,是由CPU执行指令的内部事件因此的,中断信号来自于CPU内部)引起的原因有:1.用户态执行特权指令2.执行非法指令(除以0,地址越界,算术溢出)3.当应用程序中出现陷入指令时:当应用程序想请求操作系统内核服务的时候,应用程序会执行一个陷入指令(陷入指令什么时候出......
  • 微信小程序 mqtt 连接中断原因
    上周开发微信小程序时新加了一个页面,复用了以前页面的逻辑,但是今天发现新加的页面出现了很奇怪的问题:进入新页面后,点一下查询再退出页面,mqtt连接正常;进入新页面后,直接返回退出页面,mqtt连接中断。WebSocketconnectionto"wss://www.xxxx.com/mqtt"failed:Closereceiveda......
  • 微机原理与接口技术-第七章输入输出接口
    目录I/O接口概述I/O接口的典型结构基本功能I/O端口的编址独立编址统一编址输入输出指令I/O寻址方式I/O数据传输量I/O保护16位DOS应用程序DOS平台的源程序框架DOS功能调用无条件传送和查询传送无条件传送三态缓冲器锁存器接口电路I/O接口概述I/O接口的典型结构内部结构I/O接口......
  • STM32不使用 cubeMX实现外部中断
    这篇文章将介绍如何不使用cubeMX完成外部中断的配置和实现。@TOC前言实验开发板:STM32F103C8T6。所需软件:keil5,cubeMX。实验目的:如何不使用cubeMX实现外部中断。实验:使用外部中断控制key点亮led.如果大家想了解如何cubeMX实现外部中断,可以参考我之前的文章:最详细STM32,cub......
  • 最详细STM32,cubeMX外部中断
    这篇文章将详细介绍cubeMX外部中断的配置,实现过程。@TOC前言实验开发板:STM32F103C8T6。所需软件:keil5,cubeMX。实验目的:外部中断的意义,cubeMX配置和实现等。一、外部中断的基础知识。对于外部中断的基础知识,可以参考我之前的文章:STM32EXTI外部中断二、cubeMX配置外部中断选......