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

📄 97_editerindos_v0.01.asm

📁 汇编语言 参考书 包含作业与答案 从入门到精通 通俗易懂
💻 ASM
字号:
	.model 	small
	
	stack	segment	stack
		WORD	100 DUP(?)
	STACK 	ENDS

	DATA	SEGMENT	PARA
		LEFT_INDENT	EQU	1
		DATALEN		WORD	100
		ROW		BYTE	2
		COL		BYTE	0
		DATA_BUFFER	BYTE	'TEST IT OK!    TEST IT OK!    TEST IT OK!    TEST IT OK!    TEST IT OK!    TEST IT OK!    TEST IT OK!    TEST IT OK!    ',1024 DUP(?),'$'		
	data	ENDS

	CODE	SEGMENT	PARA
		ASSUME	CS:CODE,DS:DATA,SS:STACK
	MAIN	PROC	FAR
		MOV	AX,DATA		;初始化DS,ES
		MOV	DS,AX
		MOV	ES,AX

		CALL	CLEAR_SCREEN
		CALL	SET_CURSOR
		CALL	DISP_DATA
	NEXT:
		CALL	SET_CURSOR
		CALL	DEAL_KEYBRD
		CMP	AH,01H
		JNE	NEXT
		CALL	CLEAR_SCREEN

		CALL	RETURN

	MAIN	ENDP
;********************************************************
	CLEAR_SCREEN	PROC	NEAR
		MOV	AX,0600H
		MOV	BH,10H
		XOR	CX,CX
		MOV	DX,184FH	;30*80
		INT 10H

		RET
	CLEAR_SCREEN	ENDP
;********************************************************
	SET_CURSOR	PROC	NEAR
		MOV	AH,2H
		XOR	BH,BH
		MOV	DH,ROW
		MOV	DL,COL
		;ADD	DL,INDENT	;可用来设置左缩进
		INT 10H

		RET
	SET_CURSOR	ENDP
;*******************************************************
	DISP_DATA	PROC	NEAR
		MOV	AX,1301H	;
		MOV	BX,0016H
		LEA	BP,DATA_BUFFER
		MOV	CX,DATALEN
		MOV	DH,ROW
		MOV	DL,COL
		;ADD	DL,LEFT_INDENT
		INT 10H

		RET
	DISP_DATA	ENDP
;********************************************************
	DEAL_KEYBRD	PROC	NEAR
		MOV	AH,10H
		INT 16H

		CMP	AL,00H
		JE	LEFT
		CMP	AL,0E0H
		JE	CONTROLCHAR

		CALL	ASCIICHAR
		JMP	DEALOK
	LEFT:
		CMP	AH,4DH
		JNE 	RIGHT
		CALL	DEAL_LEFT
		JMP	DEALOK
	RIGHT:
	UP:
	DOWN:
	DELETE:
	BACKSPACE:
	HOME:
	END:	

	DONEOK:
		RET	
	DEAL_KEYBRD 	ENDP
;********************************************************
	DEAL_KEY_LEFT	PROC	NEAR
		RET
	DEAL_KEY_LEFT	ENDP
;********************************************************
	DEAL_KEY_RIGHT	PROC	NEAR
		RET
	DEAL_KEY_RIGHT	ENDP
;********************************************************
	DEAL_KEY_UP	PROC	NEAR
		RET
	DEAL_KEY_UP	ENDP
;********************************************************
	DEAL_KEY_DOWN	PROC	NEAR
		RET
	DEAL_KEY_DOWN	ENDP
;********************************************************
	DEAL_KEY_DELETE	PROC	NEAR
		RET
	DEAL_DEY_DELETE	ENDP
;*******************************************************
	DEAL_KEY_BACK	PROC	NEAR
		RET
	DEAL_DEY_BACK	ENDP
;*******************************************************
	DEAL_KEY_HOME	PROC	NEAR
		RET
	DEAL_DEY_HOME	ENDP
;*******************************************************
	DEAL_KEY_END	PROC	NEAR
		RET
	DEAL_DEY_END	ENDP
;*******************************************************
;********************************************************
	RETURN	PROC	NEAR
		MOV	AX,4C00H
		INT 21H
		
		RET
	RETURN	ENDP
;*******************************************************	
	CODE	ENDS
		END	MAIN
	

⌨️ 快捷键说明

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