8088单板机上8253、8259的初始化代码

 

;--------------------------------------------------------
;intel 8253 init
;--------------------------------------------------------
       ;8253 init   t0 timer  
       ;-----------------------------
 _8253_init:
       nop 
       mov al,00110111b
	  ; mov al,00110110b;工作方式设置
       mov dx,303h
       out dx,al
       
       mov dx,300h;低字节
       mov al,00h
	   ;mov al,40h
       out dx,al
       
       mov al,40h;高字节
	   ;mov al,9ch
       out dx,al        
       
       
        ;-----------------------------
       ;8253 init   t1 timer  
       ;-----------------------------
       
       mov al,01110111b
       mov dx,303h
       out dx,al
       
       mov dx,301h
       mov al,00h
       out dx,al
       
       mov al,01h
       out dx,al  
       
            
        ;-----------------------------
       ;8253 init   t2 timer  
       ;-----------------------------
       
       mov al,10110111b
       mov dx,303h
       out dx,al
       
       mov dx,302h
       mov al,00h
       out dx,al
       
       mov al,01h
       out dx,al  
  ret     

 

;-----------------------------------------------------
;init 8259 code
;-----------------------------------------------------
init8259 :
    nop
    mov dx,port_8259_0
	mov al,17h
	out dx,al
	mov dx,port_8259_1
	;mov al,00h
	mov al,08h ;中断号  08h-0fH
	out dx,al
	mov al,0fh
	out dx,al
	;mov al,0feh
	mov al,0f0h
	out dx,al
	
	; push es
	; mov ax,0
	; mov es,ax
	; mov di,00h
	; mov es:[di],offset ISR_8259
	; add di,2
	; mov es:[di],cs
	; pop es
	
	            push es
	            xor ax,ax
				mov es,ax
				; mov al,00h
				; xor ah,ah
				; shl ax,1
				; shl ax,1
				mov ax,20h
				mov si,ax
				mov ax,nmi_isr
				mov [es:si],ax
				inc si
				inc si
				mov bx,cs
				mov [es:si],bx
				
				mov ax,24h  ;09H  interrupt vector
				mov si,ax
				mov ax,nmi_isr
				mov [es:si],ax
				inc si
				inc si
				mov bx,cs
				mov [es:si],bx
				
				
				pop es
	            nop
	
	sti

    ret	
	

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iCxhust

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值