📄 main.asm
字号:
EXTRN GET_INPUT:FAR
EXTRN DARW_WIN:FAR
EXTRN SAVE_DOS_SCR:FAR
EXTRN RESET_DOS_SCR:FAR
EXTRN SHOW_M1:FAR
EXTRN SHOW_M2:FAR
EXTRN SAVE_FILE:FAR
EXTRN NEW_FILE:FAR
EXTRN EDIT_WORKSPACE:FAR
STACK SEGMENT PARA STACK
DW 200H DUP(?)
STACK ENDS
DATA SEGMENT PARA
NO_IN DW 0000H
ALT_F DW 2100H
ALT_H DW 2300H
ALT_X DW 2D00H
WORK_STATE DB 00H ;00H -WAIT FOR COMMAND, 01H -EDIT
DATA ENDS
CODE SEGMENT PARA 'CODE'
ASSUME CS:CODE,SS:STACK,DS:DATA
;---------------------------MAIN LOOP--------------------------------------
MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
CALL SAVE_DOS_SCR
CALL DARW_WIN
;CALL NEW_FILE
MLP:
CALL GET_INPUT
;CMP AX,NO_IN ;NO INPUT: DO NOTHING
;JZ MLP
CMP AL,'Q'
JZ EXIT@@
CMP AX,ALT_X ;ALT+X: EXIT
JZ EXIT@@
CONT1: CMP AX,ALT_F ;ALT+F: SHOW MENU 1 -FILE
JNZ CONT2
CALL SHOW_M1
;------------SEE WHAT TO DO NEXT-----------
SEE_M1: CMP BX,0000H ;LOOK AT SHOW_M1 IN GUI.ASM
JZ EXIT@@
CMP BX,0100H
JZ MLP
CMP BX,0202H
JNZ SM1_C1
CALL SHOW_M2
JMP SEE_M2
SM1_C1: CMP BX,0301H ;'New'SELECTED
JNZ SM1_C2
CALL NEW_FILE
MOV WORK_STATE,1
JMP MLP
SM1_C2: CMP BX,0302H ;'Save'SELECTED
JNZ SM1_C3
CALL SAVE_FILE
JMP MLP
SM1_C3: CMP BX,0303H ;'Exit'SELECTED
JNZ MLP ;??THIS WILL NEVER HAPPEN
JMP EXIT@@
;------------------------------------------
CONT2: CMP AX,ALT_H ;ALT+H: SHOW MENU 2 -HELP
JNZ CONT3
CALL SHOW_M2
JMP SEE_M2
MLP@@: JMP MLP ;@@!!WAHAHAHAHAHA...
EXIT@@: JMP EXIT
;------------SEE WHAT TO DO NEXT-----------
SEE_M2: CMP BX,0000H ;LOOK AT SHOW_M1 IN GUI.ASM
JZ EXIT
CMP BX,0100H
JZ MLP@@
CMP BX,0201H
JNZ SM2_C1
CALL SHOW_M1
JMP SEE_M1
SM2_C1: CMP BX,0301H ;'Short Cut'SELECTED
JNZ SM2_C2
;CALL SHORT_CUT_DLG
JMP MLP@@
SM2_C2: CMP BX,0302H ;'About'SELECTED
JNZ MLP@@ ;??THIS WILL NEVER HAPPEN
;CALL ABOUT_DLG
JMP MLP@@
;------------------------------------------
CONT3: ;TODO: CONTINUE COMPARE
MOV BL,WORK_STATE
CMP BL,00H
JZ MLP@@ ;WAIT
;OTHERWISE EDIT
PUSH AX
CALL EDIT_WORKSPACE
JMP MLP@@ ;OTHER: DO NOTHING
EXIT: CALL RESET_DOS_SCR
MOV AX,4C00H
INT 21H
MAIN ENDP
;---------------------------------------------------------------------
CODE ENDS
END MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -