⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sy4-3.asm

📁 硬件电路测试参考数据包
💻 ASM
字号:
;       实验四  8253定时/计数器实验

;       SY4-2.ASM

TIM_CTL EQU     293H
TIMER0  EQU     290H
TIMER1  EQU     291H
TIMER2  EQU     292H
MODE20  EQU     10010000B
NUM0    EQU     060H

DATA    SEGMENT
MESS2   DB      '8253A TIMER2 IN MODE0! COUNT=0FEH',0DH,0AH
	DB      'PRESS ANY KEY quit TO DOS !',0DH,0AH,'$'
DCTBL   DB      3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh,77h,7Ch,39h,5Eh,79h,71h
NUM     DW      ?
DATA    ENDS

STAC    SEGMENT PARA STACK 'STACK'
STA     DB      50 DUP(?)
TOP     EQU     LENGTH STA
STAC    ENDS

CODE    SEGMENT
MAIN    PROC    FAR
ASSUME  CS:CODE,DS:DATA
START:  NOP
	MOV     AX,NUM0
	MOV     NUM,AX
	MOV     AX,DATA
	MOV     DS,AX
	MOV     AX,STAC
	MOV     SS,AX
	MOV     AX,TOP
	MOV     SP,AX
	MOV     DX,OFFSET MESS2
	MOV     AH,09
	INT     21H
	CLI
	MOV     DX,TIM_CTL
	MOV     AL,MODE20
	OUT     DX,AL
	MOV     DX,TIMER2
	MOV     AX,NUM0
	OUT     DX,AL
	STI

LOP1:   MOV     DX,TIMER2
	IN      AL,DX
	MOV     AH,00H
	MOV     NUM,AX
	CALL    DISP
	MOV     AX,NUM
	CMP     AX,00H
	JNZ     LOP2
	MOV     AX,NUM0
	MOV     NUM,AX
LOP2:   NOP
	MOV     DL,0FFH
	MOV     AH,06H
	INT     21H
	JZ      LOP1

	MOV     AX,4C00H
	INT     21H
	RET
MAIN    ENDP

DISP    PROC    NEAR            
	PUSH    DS
	PUSH    CX
	PUSH    AX

DISP0:  MOV     CX,NUM
	MOV     AX,CX
	AND     AL,0FH
	MOV     AH,AL
	MOV     AL,CL
	MOV     CL,04H
	SHR     AL,CL
	MOV     CH,AL
	MOV     CL,AH

DISPL:  mov     dx,288h
	mov     al,02h
	out     dx,al
	mov     dx,284h
	mov     al,cl
	mov     ah,0
	lea     bx,dctbl
	mov     si,ax
	mov     al,[bx+si]
	out     dx,al
	CALL    DELAY1
DISPH:  mov     dx,288h
	mov     al,01h
	out     dx,al
	mov     dx,284h
	mov     al,ch
	mov     ah,0
	lea     bx,dctbl
	mov     si,ax
	mov     al,[si+bx]
	out     dx,al
	CALL    DELAY1
	POP     AX
	POP     CX
	POP     DS
	RET
DISP    ENDP

DELAY1  PROC    NEAR
	PUSH    CX
	MOV     CX,0F00H
	LOOP    $
	POP     CX
	RET
DELAY1  ENDP
DELAY2  PROC    NEAR
	PUSH    AX
	PUSH    CX
	MOV     CX,030H
DL21:   CALL    DELAY1
	LOOP    DL21
	POP     CX
	POP     AX
	RET
DELAY2  ENDP
CODE    ENDS
	END     START

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -