找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2344|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于8086的中斷實驗匯編程序與Proteus仿真圖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:567008 發(fā)表于 2022-4-30 11:31 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


實驗內(nèi)容
1.實現(xiàn)子程序和中斷服務(wù)子程序的設(shè)計;
2.編寫子程序設(shè)置40H中斷為自定義中斷服務(wù)子程序;
3.編寫中斷服務(wù)子程序?qū)崿F(xiàn)AX=AX+BX;
4.編寫主程序調(diào)用子程序和中斷。

二.程序流程


8086匯編語言源程序如下:
  1. LED_IO  EQU 8000H       ;LED端口地址

  2. CS8259A EQU 9000H       ;8259地址
  3. CS8259B EQU 9002H
  4.    
  5. ICW1    EQU 00010011B   ;單片8259,上升沿中斷,要寫ICW4
  6. ICW2    EQU 00100000B   ;中斷號為20H
  7. ICW4    EQU 00000001B   ;工作在8086/88方式
  8. OCW1    EQU 00000000B   ;只響應(yīng)IR0中斷

  9. CODE SEGMENT
  10.     ASSUME CS:CODE,DS:DATA
  11.         
  12. ORG 00H
  13.     JMP INTSERV
  14.    
  15. ORG 100H

  16. START:
  17.     MOV AX,DATA
  18.     MOV DS,AX
  19.    
  20.     CLI             ;關(guān)閉CPU可屏蔽中斷

  21.     MOV AX,0
  22.     MOV ES,AX
  23.     MOV BX,20H*4      ;中斷號為20H的中斷向量入口
  24.    
  25.     MOV AX,OFFSET INTSERV   ;中斷入口地址偏移地址
  26.     MOV WORD PTR ES:[BX],AX
  27.     MOV AX,SEG INTSERV      ;中斷入口地址段地址
  28.     MOV WORD PTR ES:[BX+2],AX

  29.     CALL INTSET     ;調(diào)用設(shè)置中斷工作方式的子程序
  30.    
  31.     STI             ;打開CPU可屏蔽中斷
  32.    
  33.     MOV AL,LED_ON
  34.     MOV DX,LED_IO
  35.     OUT DX,AL

  36. LP:                 ;等待中斷,并計數(shù)
  37.     NOP
  38.     JMP LP

  39. INTSET:
  40.     MOV DX,CS8259A  ;寫ICW1
  41.     MOV AL,ICW1
  42.     OUT DX,AL
  43.    
  44.     MOV DX,CS8259B  ;寫ICW2
  45.     MOV AL,ICW2
  46.     OUT DX,AL
  47.    
  48.     MOV AL,ICW4     ;寫ICW4
  49.     OUT DX,AL

  50.     MOV AL,OCW1     ;寫OCW1
  51.     OUT DX,AL
  52.     RET

  53. INTSERV:
  54.     CLI

  55.     MOV AL,LED_ON
  56.     SHL AL,1
  57.     JNZ OK
  58.     MOV AL, 01H
  59. OK:
  60.     MOV LED_ON,AL
  61.     MOV DX,LED_IO
  62.     OUT DX,AL   
  63.    
  64.     MOV DX,CS8259A
  65.     MOV AL,20H      ;中斷服務(wù)程序結(jié)束指令
  66.     OUT DX,AL   
  67.     STI
  68.     IRET
  69. CODE ENDS

  70. DATA SEGMENT
  71.     LED_ON DB  01H  ;初始LED1亮
  72. DATA ENDS

  73.     END START
復(fù)制代碼

代碼與Proteus仿真下載: 8086中斷.7z (64.52 KB, 下載次數(shù): 12)

八路搶答器.zip

39.31 KB, 下載次數(shù): 4, 下載積分: 黑幣 -5

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表