📄 97_editerindos_v0.01.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 + -