汇编实验(中断及应用)

自定义中断,用中断来算算术

自定义79h号中断,在中断被调用时,可以将(ah)和(al)中的两个数按(bl)中提供的运算符(’+‘或’-’)计算,其结果由(ah)返回。编程序实现该中断并将其安装到0:200H。例如,(ah)=5,(al)=3,(bl)=’+‘时,(ah)=8;(ah)=5,(al)=3,(bl)=’-’ 时,(ah)=2。
定义并安装中断例程的代码为(加入足量注释):

assume cs:code, ss:stack
stack segment stack
      db 16 dup(0)
stack ends
code segment
start:
;-----------------------------
;		1.安装中断例程
;		2.设置中断向量表
;-----------------------------
      ;将自定义的79h号中断的中断例程安装到 0:200
      mov ax,cs
      mov ds,ax
      lea si,do79h
      mov ax,0
      mov es,ax
      mov di,200h
      mov cx,offset do79h_end - offset do79h
      cld
      rep movsb		;指令movsb 源ds:si, 目标es:di
      
      ;设置79h号中断的中断向量表
      mov word ptr es:[79h*4],200h
      mov word ptr es:[79h*4+2],0
      mov ax,4c00h
      int 21h

;---------------------------
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值