找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 9177|回復(fù): 6
收起左側(cè)

8086中斷實驗 含proteus仿真和匯編源碼

[復(fù)制鏈接]
ID:263544 發(fā)表于 2017-12-19 10:49 | 顯示全部樓層 |閱讀模式
8086中斷實驗
一.實驗內(nèi)容
1.實現(xiàn)子程序和中斷服務(wù)子程序的設(shè)計;
2.編寫子程序設(shè)置40H中斷為自定義中斷服務(wù)子程序;
3.編寫中斷服務(wù)子程序?qū)崿F(xiàn)AX=AX+BX
4.編寫主程序調(diào)用子程序和中斷。
0.jpg
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.jpg 0.png


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. ……………………

  66. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
0.jpg
所有資料51hei提供下載:
中斷實驗.rar (45.73 KB, 下載次數(shù): 123)






回復(fù)

使用道具 舉報

ID:270942 發(fā)表于 2018-1-3 18:53 | 顯示全部樓層
運行有錯誤阿
回復(fù)

使用道具 舉報

ID:272645 發(fā)表于 2018-1-7 11:10 | 顯示全部樓層
可以多個中斷嗎
回復(fù)

使用道具 舉報

ID:424780 發(fā)表于 2018-11-12 00:48 | 顯示全部樓層
哥們這個運行失敗了呀,是BUG么
回復(fù)

使用道具 舉報

ID:192890 發(fā)表于 2018-12-26 21:38 | 顯示全部樓層
下了試試
回復(fù)

使用道具 舉報

ID:736430 發(fā)表于 2020-4-23 19:49 | 顯示全部樓層
好厲害,下載看看。
回復(fù)

使用道具 舉報

ID:1050254 發(fā)表于 2022-11-14 18:56 | 顯示全部樓層
efds 發(fā)表于 2018-1-3 18:53
**** 作者被禁止或刪除 內(nèi)容自動屏蔽 ****

我的pro8.13可以運行
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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