搜索
bottom↓
回复: 9

proteus对8259和8086仿真操作

[复制链接]

出0入0汤圆

发表于 2011-11-13 21:38:25 | 显示全部楼层 |阅读模式
想对8259仿真操作,现在有2个问题需要解决:
1)如何定义中断子程序;
2)如何调用中断子程序。
附件中用led来观测是否调用了中断子程序,可是未成功,请指教。
汇编EMU8086编写的8259调用程序ourdev_694876GMP7CK.rar(文件大小:49K) (原文件名:8259.rar)

仿真图片,未成功,初始时led为0 (原文件名:2011-11-13_213735.jpg)

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2011-11-13 21:40:43 | 显示全部楼层
我认为我的问题出在 中断子程序定义上面。

如8259已经设置中断向量18-1FH
子程序定义如下: 还需要设置各中断向量的具体地址吗? 因为中断向量表应该是保存CS,IP地址的。

Iproc proc
    INT 18H
            MOV AL,1
            MOV BX,OFFSET LED

      XLATB
            MOV DX,PORTB
       OUT DX,AL

    IRET
    ;------------------------------------------------
    INT 19H
            MOV AL,2   
            MOV BX,OFFSET LED

      XLATB
            MOV DX,PORTB
       OUT DX,AL
    IRET
    ;------------------------------------------------
    INT 1AH
            MOV AL,3
            MOV BX,OFFSET LED

      XLATB
            MOV DX,PORTB
       OUT DX,AL
    IRET
    ;------------------------------------------------
Iproc endp

出0入0汤圆

 楼主| 发表于 2011-11-13 21:42:30 | 显示全部楼层

未成功啊 (原文件名:2011-11-13_2141393333.jpg)

出0入0汤圆

 楼主| 发表于 2011-11-13 21:43:17 | 显示全部楼层
主要使用了8255用于led驱动显示;
8259 获取中断向量。



; You may customize this and other start-up templates;
; The location of this template is c:\emu8086\inc\0_com_template.txt

org 100h

CT8255SET EQU 86H        ;CPU-8255控制寄存器
PORTA EQU 80H        ;8086 A1接8255 A0;A2 接 A1; A3,A4,A5控制片选 ,A7控制E门
PORTB EQU 82H
PORTC EQU 84H
CTAIBO EQU 10010000B        ;A IN, B OUT

;8259地址 ,设置奇偶地址
CT8259_EVEN EQU        88H        ;片选A3=1.100010A0 ;A1负责奇偶地址
CT8259_ODD EQU 8AH

;--------------------------------
;设置8259
        MOV AL,13H
        MOV DX, CT8259_EVEN;ICW1 偶地址 ;单片;边缘触发方式
        OUT DX,AL

        MOV AL, 18H
        MOV DX,CT8259_ODD; ICW2 基地址;设置中断号18-1FH
        OUT DX,AL

        MOV AL, 01H
        OUT DX,AL ;定义ICW4,非级联,非缓冲

        ;定义OCW2 中断嵌套方式
        MOV AL,00100000B
        MOV DX, CT8259_EVEN;OCW2 普通EOI方式
        OUT DX,AL
;----------------------------------------------
      STI



BEGIN:
       
      MOV DX,CT8255SET        ;pc to  8255 control byte;设置8255工作方式
      MOV AL,CTAIBO        ;control byte addr
      OUT DX,AL
      
      MOV DX,PORTB
      MOV AL,0
      ;      
;数码管译码
      
      MOV BX,OFFSET LED

      XLATB
      OUT DX,AL
      
      G1:  
        call Iproc  
     ; MOV BL,0FFH      
;数码管译码
      
      MOV BX,OFFSET LED

      XLATB

     ;-------------
     PUSH CX
      MOV CX,40H        ;延时      
DELAY:LOOP DELAY
      POP CX
;-------------------
       MOV DX,PORTB
       OUT DX,AL

     JMP G1:
      
       HLT

LED DB 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,77H,7cH,39H,5eH,79H,71H;////共阴数码管段选码表,无小数点
;中断
;-----------------------------------------------
Iproc proc
    INT 18H
            MOV AL,1
            MOV BX,OFFSET LED

      XLATB
            MOV DX,PORTB
       OUT DX,AL

    IRET
    ;------------------------------------------------
    INT 19H
            MOV aL,2   
            MOV BX,OFFSET LED

      XLATB
            MOV DX,PORTB
       OUT DX,AL
    IRET
    ;------------------------------------------------
    INT 1AH
            MOV aL,3
            MOV BX,OFFSET LED

      XLATB
            MOV DX,PORTB
       OUT DX,AL
    IRET
    ;------------------------------------------------
Iproc endp   
    ret

出0入0汤圆

 楼主| 发表于 2011-11-15 21:22:50 | 显示全部楼层
中断定义问题解决了;
INT21 (25H)可以定义中断子程序的入口地址

可是如何调用呢?

出0入0汤圆

 楼主| 发表于 2011-11-15 21:34:25 | 显示全部楼层
未成功,但是有一点进步。
8259结果 (原文件名:1.jpg)

出0入0汤圆

 楼主| 发表于 2011-11-16 11:54:26 | 显示全部楼层
最新8259程序ourdev_695717MRBW07.rar(文件大小:50K) (原文件名:8259.rar)

出0入0汤圆

发表于 2011-11-24 16:25:11 | 显示全部楼层
谢了!

出0入0汤圆

发表于 2014-12-30 23:21:01 | 显示全部楼层
来学习看看,正在微机原理的学习中。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 05:16

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表