📄 main.asm
字号:
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;huyisong 20053449 12110502
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
INCLUDE CONTROL.lib
INCLUDE screen.lib
INCLUDE doc.lib
EXTRN INPUT:FAR,SAVEFILE:FAR,PROSUM:FAR,PROLIST:FAR,PROOPEN:FAR,PRODELETE:FAR,PROQUERY:FAR,PROMODIFY:FAR,PROCREATE:FAR
;堆栈段
STACK SEGMENT STACK 'S'
DW 64 DUP('S')
STACK ENDS
DATA SEGMENT
MENU DB '0-CREATE '
DB '1-OPEN '
DB '2-SAVE '
DB '3-INSERT '
DB '4-DELETE '
DB '5-QUERY '
DB '6-MODIFY '
DB '7-LIST '
DB '8-EXIT ',0DH,0AH,'$'
strmaininit1 DB 0DH,0AH,'INPUT SELECT(0-8):','$'
;跳转表
JMUP_TAB DW CREATE
DW OPEN
DW SAVE
DW INSERT
DW DELETE
DW QUERY
DW MODIFY
DW LIST
DW EXIT
STRCLF0 db 0DH,0AH,'$'
strmaininit0 DB 'Press any key to continue...','$'
strmaininit2 DB 'Do you put the HU.DAT in C?$'
strinputquerymsg DB 'what is the name you want to search:','$' ;
strinputmodifymsg DB 'what is the name you want to modify:','$'
welcome DB '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<',0DH,0AH,'$'
welcome1 DB '<< <<',0DH,0AH,'$'
welcome4 DB '<< welcome to my assemble world!!! <<',0DH,0AH,'$'
welcome7 DB '<< my name is huyisong !! <<',0DH,0AH,'$'
welcome8 DB '<< my student number is 20053449 <<',0DH,0AH,'$'
welcome9 DB '<< my class is 12110502!!!!! <<',0DH,0AH,'$'
welcome14 DB '<< wish you enjoy this program !!! <<',0DH,0AH,'$'
welcome17 DB '<< my best wishes <<',0DH,0AH,'$'
welcome18 DB '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<',0DH,0AH,'$'
welcome19 DB ' THANK YOU FOR USING GOODBYE !! ',0DH,0AH,'$'
welcome20 DB ' ',0DH,0AH,'$'
welcomedel db '<< NOW WE ARE GOING TO DELETE PROGRAM !! <<',0DH,0AH,'$'
welcomeinsert db '<< NOW WE ARE GOING TO INSERT PROGRAM !! <<',0DH,0AH,'$'
welcomemodify db '<< NOW WE ARE GOING TO MODIFY PROGRAM !! <<',0DH,0AH,'$'
welcomequery db '<< NOW WE ARE GOING TO QUERY PROGRAM !! <<',0DH,0AH,'$'
welcomelist db '<< NOW WE ARE GOING TO LIST PROGRAM !! <<',0DH,0AH,'$'
bufinitial DB 2
DB ?
DB 2 DUP(?)
strexittosave db 'did you want to save the data to C:\HU.DAT?(y/n):','$'
DATA ENDS
;代码段开始
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
LOADDS DATA
CLRSCR
MOV AH,2
XOR BH,BH
mov dx,0
INT 10H
mov ah,6
mov al,24
mov ch,0
mov cl,0
mov dh,24
mov dl,79
mov bh,70h
int 10h
lea dx,welcome;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome4;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome7;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome8;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome9;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome14;welcome
MOV AH,9
INT 21H
lea dx,welcome17;welcome
MOV AH,9
INT 21H
lea dx,welcome18;welcome
MOV AH,9
INT 21H
lea dx,strmaininit0;welcome
MOV AH,9
INT 21H
MOV AH,1
INT 21H
xor ax,ax
INIT:
CLRSCR
CURSOR:
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
PUTS 0,0,MENU
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<,
PUTS 2,0,strmaininit1
RDKB:
MOV AH,0AH
LEA DX,bufinitial
INT 21H
MOV AL,bufinitial+2
CMP AL,30H
JB BEEP
CMP AL,38H
JA BEEP
AND AL,0FH
XOR AH,AH
ADD AX,AX
LEA BX,JMUP_TAB
ADD BX,AX
JMP [BX]
BEEP: MOV AH,14
MOV AL,7
MOV BH,0
INT 10H
JMP INIT
CREATE: CALL FAR PTR PROCREATE
JUMP INIT
OPEN: CALL FAR PTR PROOPEN
JUMP INIT
SAVE: CALL FAR PTR SAVEFILE
JUMP INIT
INSERT:
CLRSCR
MOV AH,2
XOR BH,BH
mov dx,0
INT 10H
mov ah,6
mov al,24
mov ch,0
mov cl,0
mov dh,24
mov dl,79
mov bh,0Bh
int 10h
lea dx,welcome;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcomeinsert;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome;welcome
MOV AH,9
INT 21H
lea dx,strmaininit0;welcome
MOV AH,9
INT 21H
MOV AH,1 ;读取键盘字符
INT 21H
xor ax,ax
CALL FAR PTR INPUT
JUMP INIT
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
DELETE:
CLRSCR
MOV AH,2
XOR BH,BH
mov dx,0
INT 10H
mov ah,6
mov al,24
mov ch,0
mov cl,0
mov dh,24
mov dl,79
mov bh,0Bh
int 10h
lea dx,welcome;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcomedel;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome1;welcome
MOV AH,9
INT 21H
lea dx,welcome;welcome
MOV AH,9
INT 21H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -