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

📄 6-int10.asm

📁 利用dos功能调用
💻 ASM
字号:
TITLE TEST INT 10H

.MODEL SMALL
.CODE

MODE03          EQU     03H
SET_MODE        EQU     00H
SET_CURSOR      EQU     02H
WRITE_CHARACTER EQU     09H
READ_MODE       EQU     0FH

READ_KEY        EQU     00H
READ_STATUS     EQU     01H

INT10           MACRO   $AH,$AL
		MOV     AL,$AL
		MOV     AH,$AH
		INT     10H
		ENDM

INT16           MACRO   $AH
		MOV     AH,$AH
		INT     16H
		ENDM

		ORG     100H
START:          JMP     MAIN

STRING_MESS	DB      '4 Kinds of Graphics, Press CTRL+C to EXIT.'
STRING_LENGTH	EQU	$-STRING_MESS

CHAR            DB      0DBH              ;一块颜色
MODE            DB      0

MAIN:           INT10   READ_MODE,0
		MOV     MODE,AL
		INT10   SET_MODE,MODE03
		
		;用来显示提示
		MOV	BP,OFFSET STRING_MESS
		MOV	CX,STRING_LENGTH
		MOV	DX,020AH
		MOV	BH,00H
		MOV	AX,1300H
		MOV	BL,0FH           ;属性
		INT	10H		

		MOV     BH,00H
		MOV     DH,05H           ;第5行
		MOV     DL,0AH           ;第10列

SET_AGAIN:      INT10   SET_CURSOR,0     ;竖着5->20(同一列) 再第二列竖着下来,直到31列

		MOV     BH,00H
		MOV     BL,01H           ;在彩色模式下为兰色
		MOV     CX,01H           ;写一遍
		MOV     AL,03H           

		INT10   WRITE_CHARACTER,CHAR    
                CALL    DELAY
		INC     DH
		CMP     DH,14H           ;显示直到第20行
		JL      SET_AGAIN
		MOV     DH,05H
		INC     DL
		CMP     DL,1FH            ;显示直到第31列
		JL      SET_AGAIN
		MOV     DL,0AH            ;从第10列重新循环显示 
                ADD     CHAR,01H          ;加1,只显示4中图形
		CMP     CHAR,0DFH
		JNZ     CONTINUE
		MOV	CHAR,0DBH
CONTINUE:	JMP     SET_AGAIN

DELAY           PROC
		PUSH    CX
                MOV     CX,0C00H          ;等待C00次是否有键盘输入
NEXT:           NOP
		INT16   READ_STATUS
		JNZ     STOP
		LOOP    NEXT
		JMP     NORMAL
STOP:           INT16   READ_KEY
		CMP	AX,2E03H	  ;CTRL+C
		JNZ	NEXT
		POP     CX
		MOV     AL,MODE           ;恢复显示模式
		MOV     AH,0
		INT     10H

		INT     20H

NORMAL:         POP     CX
		RET
DELAY           ENDP

		RET

		END     START

⌨️ 快捷键说明

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