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

📄 txl.asm

📁 汇编写的通讯录代码
💻 ASM
字号:
JILU STRUC
SNAME DB 10,?,10 DUP(?)
SEX DB 7,?,7 DUP(?)
ADDRESS DB 10,?,20 DUP(?)
TELEPHONE DB 10,?,10 DUP(?)
JILU ENDS
DATA SEGMENT
PATHE1 DB 'C:\TXLU.DAT',0
PATHE2 DB 'C:\TXLU1.DAT',0
SPACE DB 20 DUP(' ')
STUDENT JILU <>
HANDL1 DW 0
HANDL2 DW 0
filend db 1ah
typical db 10,13
BUFFER DB 39 DUP(?),'$'
buffer2 db 10,?,20 dup(?)
MES1 DB 10,13,'请输入学生姓名 : $'
MES2 DB 10,13,'请输入学生性别 : $'
MES3 DB 10,13,'请输入学生住址 : $'
MES4 DB 10,13,'请输入学生电话 : $'
MES5 DB 10,13,'请输入学生工作单位 : $'
MES6 DB 10,13,'请输入学生职务 : $'
MES7 DB 10,13,'姓名 性别 住址 电话',10,13,'$'
TISHI DB 10,13,'F1:输入信息 F2:添加内容 F3:退出',10,13,'$'
ERMES1 DB 10,13,'*******文件建立失败*******$'
ERMES2 DB 10,13,'*******读取文件失败*******$'
ERMES3 DB 10,13,'*******关闭文件失败*******$'
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
LEA DX,PATHE1
MOV CX,0
MOV AH,3CH
INT 21H
JC ERROR1
MOV HANDL1,AX
LEA DX,TISHI
MOV AH,09H
INT 21H
FCHOSE:
MOV AH,7
INT 21H
CMP AL,0
JE GET_F
JMP FCHOSE
GET_F:
MOV AH,7
INT 21H
CMP AL,3BH
JE FUNCTION1
CMP AL,3CH
JE FUNCTION2
CMP AL,3DH
JNE FCHOSE
JMP EXIT
ERROR1:
LEA DX,ERMES1
MOV AH,09H
INT 21H
JMP EXIT
FUNCTION1:
CALL FAR PTR FILEINPUT
LEA DX,TISHI
MOV AH,09H
INT 21H
JMP FCHOSE
FUNCTION2:
CALL FAR PTR FILEADJUST
LEA DX,TISHI
MOV AH,09H
INT 21H
JMP FCHOSE
FILECLOSE PROC NEAR
CMP BX,0
JZ QUIT
lea dx,filend
mov cx,2
mov ah,40h
int 21h
MOV AH,3EH
INT 21H
JC ERROR3
JMP QUIT
ERROR3:
LEA DX,ERMES3
MOV AH,09H
INT 21H
QUIT:
RET
FILECLOSE ENDP
EXIT:
MOV BX,HANDL1
CALL FILECLOSE
MOV BX,HANDL2
CALL FILECLOSE
MOV AH,4CH
INT 21H
CODE ENDS
CODE2 SEGMENT
ASSUME DS:DATA,CS:CODE2
MOV AX,DATA
MOV DS,AX
FILEINPUT PROC FAR
LEA DX,MES1
MOV AH,09H
INT 21H
LEA DX,STUDENT.SNAME
MOV AH,0AH
INT 21H
LEA DX,MES2
MOV AH,09H
INT 21H
LEA DX,STUDENT.SEX
MOV AH,0AH
INT 21H
LEA DX,MES3
MOV AH,09H
INT 21H
LEA DX,STUDENT.ADDRESS
MOV AH,0AH
INT 21H
LEA DX,MES4
MOV AH,09H
INT 21H
LEA DX,STUDENT.TELEPHONE
MOV AH,0AH
INT 21H
MOV AH,42H
MOV AL,2
MOV BX,HANDL1
MOV CX,0
MOV DX,0
INT 21H
mov bx,handl1
LEA DX,STUDENT.SNAME
CALL FILEWRITE
LEA DX,STUDENT.SEX
CALL FILEWRITE
LEA DX,STUDENT.ADDRESS
CALL FILEWRITE
LEA DX,STUDENT.TELEPHONE
CALL FILEWRITE
mov cx,2
lea dx,typical
mov ah,40h
int 21h
RET
FILEINPUT ENDP
FILEWRITE PROC NEAR
MOV si,DX
mov ch,0
MOV Cl,[si]
INC si
SUB Cl,[si]
PUSH CX
MOV Cl,[si]
add dx,2
MOV AH,40H
INT 21H
POP CX
LEA DX,SPACE
MOV AH,40H
INT 21H
RET
FILEWRITE ENDP
FILEADJUST PROC FAR
LEA DX,PATHE2
MOV CX,0
MOV AH,3CH
INT 21H
MOV HANDL2,AX
MOV AH,42H
MOV AL,0
MOV BX,HANDL1
MOV CX,0
MOV DX,0
int 21h
chon:
MOV CX,39
LEA DX,BUFFER
MOV AH,3FH
INT 21H
JC ERROR2
CMP AX,0
JZ QUIT2
LEA DX,BUFFER
MOV AH,09H
INT 21H
lea dx,buffer
mov cx,37
mov bx,handl2
mov ah,40h
int 21h
LEA DX,MES5
MOV AH,09H
INT 21H
lea dx,buffer2
mov ah,0ah
int 21h
lea dx,buffer2
mov bx,handl2
call filewrite
LEA DX,MES6
MOV AH,09H
INT 21H
lea dx,buffer2
mov ah,0ah
int 21h
lea dx,buffer2
mov bx,handl2
call filewrite
mov cx,2
lea dx,typical
mov ah,40h
int 21h
mov bx,handl1
jmp chon
ERROR2:
LEA DX,ERMES2
MOV AH,09H
INT 21H
quit2: RET
FILEADJUST ENDP
CODE2 ENDS
END START

⌨️ 快捷键说明

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