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

📄 a18-1.asm

📁 汇编语言的设计
💻 ASM
字号:
STACK 	SEGMENT STACK
      	DW 64 DUP(?) 
STACK ENDS

DATA  	SEGMENT
TABLE  	DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DATA  	ENDS

CODE 	SEGMENT
      	ASSUME CS:CODE,DS:DATA
START:  MOV AX,DATA
	MOV DS,AX
 	MOV SI,3000H
	MOV AL,00H
	MOV [SI],AL
	MOV [SI+1],AL
	MOV [SI+2],AL
	MOV [SI+3],AL
	MOV DI,3003H
	MOV AL,81H
	OUT 63H,AL
BEGIN:  CALL DIS
	CALL CLEAR
	CALL CCSCAN
	JNZ INK1
	JMP BEGIN
INK1:   CALL DIS
	CALL DALLY
	CALL DALLY
	CALL  CLEAR
	CALL CCSCAN
	JNZ INK2
	JMP BEGIN
INK2:   MOV CH,0FEH
	MOV CL,00H
COLUM:  MOV AL,CH
	OUT 60H,AL
	IN AL,62H
	TEST AL,01H
	JNZ LONE
	MOV AL,00H
	JMP KCODE
LONE:   TEST AL,02H
	JNZ NEXT
	MOV AL,04H
KCODE:  ADD AL,CL
	CALL PUTBUF
	PUSH AX
KON:    CALL DIS
	CALL CLEAR
	CALL CCSCAN
	JNZ KON
	POP AX
NEXT:   INC CL
	MOV AL,CH
	TEST AL,08H
	JZ KERR
	ROL AL,1
	MOV CH,AL
	JMP COLUM
KERR:   JMP BEGIN
CCSCAN:  MOV AL,00H
	OUT 60H,AL
	IN AL,62H
	NOT AL
	AND AL,03H
	RET
CLEAR:   MOV AL,00H
	OUT 61H,AL
	RET
DIS:    PUSH AX
	MOV SI,3000H
	MOV DL,0F7H
	MOV AL,DL
AGAIN:  OUT 60H,AL
        MOV AL,[SI]
	MOV BX,OFFSET TABLE
	AND AX,00FFH
	ADD BX,AX
	MOV AL,[BX]
	OUT 61H,AL
	CALL DALLY
	INC SI
	MOV AL,DL
	TEST AL,01H
	JZ OUT
	ROR AL,1
	MOV DL,AL
	JMP AGAIN
OUT:    POP AX
	RET
DALLY:  PUSH CX
	MOV CX,0010H
T1:     MOV AX,0010H
T2:     DEC AX
	JNZ T2
	LOOP T1
	POP CX
	RET
PUTBUF: MOV SI,DI
	MOV [SI],AL
	DEC DI
	CMP DI,2FFFH
	JNZ GOBACK
	MOV DI,3003H
GOBACK: RET
CODE ENDS
      END START

⌨️ 快捷键说明

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