📄 input.asm
字号:
INCLUDE filefuc.mac
PUBLIC INPUT
EXTRN OPENFILES:far
EXTRN INPUTSDATA:FAR
EXTRN CLSPS:FAR
EXTRN DELE:FAR
EXTRN QIUHE:FAR
EXTRN PAIXU:FAR
STSG SEGMENT STACK 'S'
DW 32 DUP(?)
STSG ENDS
DATA SEGMENT
MSG6 DB 'select-6','$'
MSG7 DB 'delete-7','$'
PAGES DW ?
DATA ENDS
CODE SEGMENT
INPUT PROC far
ASSUME CS:CODE,DS:DATA,SS:STSG
PUSHREG
push DS
LOADDS DATA
MOV PAGES,BX
MOV DH,3
MOV DL,2
CURSOR
REPS:
MOV AH,0
INT 16H;输入了个数字
CMP AH, 48H;判断是否要将光标上移
JZ UP
CMP AH, 50H;判断是否要将光标下移
JZ DOWN
CMP AH, 4BH;判断是否要将光标左移
JZ LEFT
CMP AH, 4DH;判断是否要将光标右移
JZ RIGHT
CMP AH, 1;判断是否要退出编辑状态
JZ FANHUI
CMP AL,55;判断是否要删除当前光标所在行记录
JZ DESS
CMP AL,52;判断是否要向下翻页
JZ NEXTPAGE
CMP AL,53;判断是否要向上翻页
JZ LASTPAGE
CMP AL,54;判断是否要在选定矩形框输入信息
JNZ REPS
PUSH DX
PUTS 0,55,MSG6,7CH
POP DX
CURSOR
PUSH BX
MOV BX,PAGES
CALL FAR PTR INPUTSDATA
POP BX
PUSH DX
PUTS 0,55,MSG6,7FH
POP DX
CURSOR
JMP REPS
NEXTPAGE:
CMP PAGES,2
JZ REPS
CALL FAR PTR CLSPS
INC PAGES
PUSH BX
MOV BX,PAGES
CALL FAR PTR OPENFILES
POP BX
MOV DH,3
MOV DL,2
CURSOR
JMP REPS
LASTPAGE:
CMP PAGES,0
JZ REPS
DEC PAGES
CALL FAR PTR CLSPS
PUSH BX
MOV BX,PAGES
CALL FAR PTR OPENFILES
POP BX
MOV DH,3
MOV DL,2
CURSOR
JMP REPS
DESS:PUSH DX
PUTS 0,65,MSG7,7CH
POP DX
CURSOR
CALL FAR PTR DELE
CALL FAR PTR QIUHE
CALL FAR PTR PAIXU
CALL FAR PTR CLSPS
MOV BX,PAGES
CALL FAR PTR OPENFILES
PUSH DX
PUTS 0,65,MSG7,7FH
POP DX
CURSOR
JMP REPS
UP: CMP DH,4
JB REPS
SUB DH,2
JMP GUANGBIAO
DOWN: CMP DH,21
JAE REPS
ADD DH,2
JMP GUANGBIAO
RIGHT: CMP DL,70
JAE REPS
CMP DL,2
JZ NEXT
ADD DL,10
JMP NEXTS
NEXT: ADD DL,13
NEXTS:
JMP GUANGBIAO
LEFT: CMP DL,10
JB REPS
CMP DL,15
JZ NEXTSS
SUB DL,10
JMP NEXTSSS
NEXTSS : SUB DL,13
NEXTSSS: JMP GUANGBIAO
GUANGBIAO: CURSOR
JMP REPS
FANHUI:
pop ds
POPREG
RET
INPUT ENDP
CODE ENDS
END INPUT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -