上师大,微型计算机实验全代码
实验一 LED实验
C8255 EQU 21AH
CW8255 EQU 21BH
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
START: PUSH CS
POP DS
OUT DX,AL
NOP
MOV CX,4
LQ: CALL LEFTP
CALL RIGHTP
CALL GLINT
LOOP LQ
JMP $
LEFTP PROC
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV BL,0FEH
MOV CX,8
MOV DX,C8255
L1: MOV AL,BL
OUT DX,AL
CALL DELAY1
ROL BL,1
LOOP L1
POP DX
POP CX
POP BX
POP AX
RET
LEFTP ENDP
RIGHTP PROC
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV BL,7FH
MOV CX,8
MOV DX,C8255
L2: MOV AL,BL
OUT DX,AL
CALL DELAY1
ROR BL,1
LOOP L2
POP DX
POP CX
POP BX
POP AX
RET
RIGHTP ENDP
GLINT PROC
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV CX,2
MOV DX,C8255
MOV BL,0AAH
L3: MOV AL,BL
OUT DX,AL
CALL DELAY1
NOT BL
LOOP L3
POP DX
POP CX
POP BX
POP AX
RET
GLINT ENDP
DELAY1 PROC
PUSH BX
PUSH CX
MOV BX,10
LOP1: MOV CX,2801
WAITD:LOOP WAITD
DEC BX
JNZ LOP1
PUSH AX
PUSH BX
PUSH CX
PUSH DX
POP DX
POP CX
POP BX
POP AX
POP CX
POP BX
RET
DELAY1 ENDP
FINI: JMP $
CODE ENDS
END START
实验二 模拟交通灯实验D1 EQU 10H
D2 EQU 200H
DATA SEGMENT
PB DB ?
DATA ENDS
STACK SEGMENT STACK
STA DW 50 DUP(?)
TOP EQU LENGTH STA
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: PUSH CS
POP DS
MOV DX,203H
MOV AL,80H
OUT DX,AL
MOV DX,202H
MOV AL,00
OUT DX,AL
MOV DX,202H
MOV AL,0F0H
OUT DX,AL