`
tubaluer
  • 浏览: 1445058 次
文章分类
社区版块
存档分类
最新评论
  • sblig: c / c++ 是不一样的都会输出 100
    j = j++

查找电话号码

 
阅读更多
;查找电话号码
;建立一个可存放50项的电话号码表,每项包括人名(20个字符)及电话号码(8个字符)两部分
;程序可接收输入人名及相应的电话号码,并把它们加入电话号码表中
;凡有新的输入后,程序应按人名对电话号码表重新排序
;程序可接收需要查找电话号码的人名,并从电话号码表中查出其电话号码,再在屏幕上以如下格式显示出来。
;name tel.
;XXXX XXXXX
;编写程序如下
D_SEG SEGMENT
tel_tab DB 50 DUP (20 DUP(?),8 DUP(?)) ;电话号码,人名记录
tel_tabtemp DB 50 DUP (20 DUP(?),8 DUP(?)) ;转移实现电话号码,人名记录排序
STRINTRU DB 'Welcome to use!'
db 'you can continue to input your tel. NO. by input character I.',0dh,0ah
DB 'IF you want to find a NO. you can input character Y to do.',0dh,0ah
DB 'IF you want to exit ,please input character N.','$'
STRINPUT DB 0dh,0ah,'Input name:',0dh,0ah,'$'
STRINPHONE DB 'Input a telephone number:',0dh,0ah,'$'
STRYN DB 'Do you want a telephone number?(Y/N/I)','$'
STRNAME DB 0dh,0ah,'name?',0dh,0ah,'$'
STRPRINT DB 'name tel.',0dh,0ah,'$'
ACPNAME DB 21,?,21 DUP(?) ;接收人名
nth1 db 3 dup(?)
ACPTEL DB 9,?,9 DUP(?) ;接收电话号码
nth2 db 3 dup(?)
TEMP_TEL DB 0 ;临时存储TEL_TAB当前的偏移地址
TEMP_TELTEMP DB 0 ;临时存储TEL_TABTEMP当前的偏移地址
FINDNAME DB 20 DUP(?) ;要查找的人名
FINDTEL DB 8 DUP(?) ,0dh,0ah,'$' ;查找到的电话号码
D_SEG ENDS
;
PROG SEGMENT
ASSUME CS:PROG ,DS:D_SEG,ES:D_SEG
START:
MAIN PROC FAR
;
PUSH DS
XOR AX,AX
PUSH AX
;
MOV AX,D_SEG
MOV DS,AX
mov es,ax
;
;显示初始信息
LEA DX,STRINTRU
MOV Ah,09H
INT 21H
CALL input_name ;调用子程序INPUT_NAME接收人名
RET
MAIN ENDP
;***********************************
;接收人名子程序
input_name PROC NEAR
AGAIN:
;显示输入人名的提示信息
LEA DX,STRINPUT
MOV Ah,09H
INT 21H
;
;接收人名
LEA DX,ACPNAME
MOV Ah,0AH
INT 21H
;
SUB CH,CH ;清零
MOV CL,ACPNAME+1 ;实际字符数
LEA SI,ACPNAME+2 ;赋给人名字符首地址
;
SUB BH,BH
MOV Bx,OFFSET TEL_TAB
ADD Bx,word ptr TEMP_TEL
;
MOV DI,BX ;当前TEL_TAB中的人名首地址
REP MOVSB
;每输入一个名字,偏移地址往后移20
MOV AX,WORD PTR TEMP_TEL
ADD AX,20
MOV WORD PTR TEMP_TEL, AX
;显示输入电话号码的提示信息
LEA DX,STRINPHONE
MOV AH,09H
INT 21H
;接收电话号码
LEA DX,ACPTEL
MOV AH,0AH
INT 21H
;
SUB CH,CH
MOV CL,ACPTEL+1 ;实际字符数
lea SI,ACPTEL+2 ;接收的电话号码的首地址
;
SUB BH,BH
MOV BX,OFFSET TEL_TAB ;TEL_TAB的首地质
ADD BX,WORD PTR TEMP_TEL ;当前的偏移地址
;
MOV DI,BX ;目标串的首地址
REP MOVSB
;每输入一个电话号码,偏移地址往后移8
MOV AX,WORD PTR TEMP_TEL
ADD AX,8
MOV WORD PTR TEMP_TEL, AX
;
;调用NAME_SORT子程序对电话号码表按人名排序
;CALL STOR_NAME
FIND_AGAIN:
;显示提示是否查找信息
LEA DX,STRYN
MOV AH,09H
INT 21H
;
GET_KEY:
MOV AH,01H
INT 21H
CMP AL,'Y'
JE YES ;如果输入的是'Y',就跳转到YES
CMP AL,'N'
JE NO ;如果输入的是'N',就跳转到NO
CMP AL,'I' ;如果输入的是'I',就继续输入电话号码
JE AGAIN
JNE GET_KEY ;如果输入的都不是,等到输入了Y或者N为止
YES:
;调用查找程序
CALL NAME_SEARCH
JMP FIND_AGAIN ;继续查找下一个号码
;输出输入NAME信息
;LEA DX,STRNAME
;MOV AH,09H
;INT 21H
;调用INPUT_NAME子程序接收人名
;JMP AGAIN ;继续输入
NO:
RET
input_name ENDP
;************************************
;保存人名子程序
stor_name PROC NEAR

STOR_NAME ENDP
;************************************
;接收电话号码并保存电话号码子程序
INPHONE PROC NEAR
INPHONE ENDP
;***********************************
;电话号码表按人名排序子程序
NAME_SORT PROC NEAR
NAME_SORT ENDP
;***********************************
;电话号码查找子程序
NAME_SEARCH PROC NEAR
;输出输入NAME信息
MOV BX,0
LEA DX,STRNAME
MOV AH,09H
INT 21H
;接收人名
LEA DX,ACPNAME
MOV AH,0AH
INT 21H
;
SUB CH,CH ;清零
MOV CL,ACPNAME+1 ;实际字符数
LEA SI,ACPNAME+2 ;赋给人名字符首地址
;
LEA DI,FINDNAME
REP MOVSB
NEXT:
MOV CX,19
;---------------------------------
SUB AH,AH
MOV AX,OFFSET TEL_TAB
ADD AX,BX
;---------------------------------
LEA SI,FINDNAME
MOV dI,AX
CLD
REPZ CMPSB
JE a10
ADD BX,28
CMP BX,1400
JGE EXIT
JMP NEXT
a10:
MOV CX,8
ADD BX,20 ;当前找到人的电话号码的首地址
;--------------------------------
SUB AH,AH
MOV AX,OFFSET TEL_TAB
ADD AX,BX
;--------------------------------
LEA DI,FINDTEL
MOV SI,AX
REP MOVSB
;调用格式打印查找到的
CALL PRINTLINE
EXIT:
RET
NAME_SEARCH ENDP
;******************************
;显示人名及电话号码子程序
PRINTLINE PROC NEAR
;显示打印格式
LEA DX,STRPRINT
MOV AH,09H
INT 21H
;输出人名, 输出电话号码
LEA DX,FINDNAME
MOV AH,09H
INT 21H
ret
PRINTLINE ENDP
;******************************
PROG ENDS
END START
分享到:
评论

相关推荐

    使用汇编语言实现查找电话号码phone

    (1) 要求程序建立一个可存放50项的电话号码表,每项包括人名(20个字符)及电话号码(8个字符)两部分;... (4) 程序可接收需要查找电话号码的人名,并从电话号码表中查出其电话号码,再在屏幕上以如下格式显示出来。

    汇编子程序设计--------查找电话号码

    2.3 子程序设计 实验报告学生:计算机学院0801班王定桥 实验2.4 查找电话号码 ...4)程序可接收需要查找的电话号码的人名,并从电话号码表中查出电话号码,再在屏幕上以如下格式显示 name tel Xxxxx xxxxxxxxxx

    广东工业大学汇编实验四查找电话号码

    一、 实验目的与要求 学习用汇编语言设计与编写子程序。...(4) 程序可接受需要查找电话号码的人名,并从电话号码表中查出其电话号码,再在屏幕上以如下格式显示出来。 name tel. ×××× ××××

    汇编查找电话号码的程序设计

    1.要求程序建立一个可以存放50项的电话号码表,每项包括人名(20个字符)及电话号码(8个字符)两部分; 2. 程序可接收输放人名及相应的电话... 程序可接收需要查找电话号码的人名,并从电话号码表中查出其电话号码

    查找电话号码phone

    查找电话号码phone学习用汇编语言设计与编写子程序。

    子程序设计一(查找电话号码)

    要求程序建立一个可存放50项的电话号码表,每项包括人名(20个字符)及电话...程序可接收需要查找电话号码的人名,并从电话号码表中查出其电话号码,再在屏幕上以如下格式显示出来。 name telphone ×××× ××××

    电话号码本编辑和查找程序的设计与实现

    4) 程序可接受需要查找电话号码的人名,并从电话号码表中查出其电话号码,并显示出来。 5) 程序采用子程序结构,结构清晰; 6) 友好清晰的用户界面,能识别输入错误并控制错误的修改。 按照实验书的要求编写,但...

    INDEX()和MATCH()函数查找电话号码.xls

    INDEX()和MATCH()函数查找电话号码.xls

    《数据结构课程设计》设计哈希表实现电话号码查找系统

    问题描述: 设计哈希表实现电话号码查找系统。 基本要求: (1)设每个记录有下列数据项:电话号码、用户名、地址; (2)从文件中读取各记录,分别以电话号码和用户名为关键字建立不同的哈希表; (3)采用链地址法...

    汇编 查找电话号码

    汇编实验 电话号码查找

    汇编语言 电话号码查询

    1. 程序能够建立一个可存放20项的电话号码表。每项包括人名(8个字符)及电话号码(8个字符)两部分。 2.程序可接收人名及相应的...3.程序可接收需要查询电话号码的人名,并从电话号码表中查询其号码,并显示出来。

    查找电话号码本汇编实现

    (1) 要求程序建立一个可存放50项的电话号码表,每项包括人名(20个字符)及电话号码(8个字符...(4) 程序可接收需要查找电话号码的人名,并从电话号码表中查出其电话号码,再在屏幕上以如下格式显示出来。Name tel.

    汇编语言写的查找电话号码源代码

    清华大学出版的沈美明版的汇编语言程序设计的一道题目,程序可以存放50项的电话号码,可以输入,可以查找等。

    Python-phonescraperPython用于在用户随机输入文本中查找电话号码的Python库

    phone-scraper-Python用于在用户随机输入文本中查找电话号码的Python库

    查电话号码 汇编

    (1) 要求程序建立一个可存放50项的电话号码表,每项包括人名(20个字符)及电话号码(8个字符)两部分;...(4) 程序可接收需要查找电话号码的人名,并从电话号码表中查出其电话号码,再在屏幕上以如下格式显示出来。

    汇编实验4-查找电话号码

    实验四,电话号码,人名用20个字符表示,号码用8个字符表示,最多存放50项

    50个容量查找电话号码

    汇编小程序 查找电话号码 输入姓名,查找号码 50个人名容量 首先输入号码本50个 要求人名和电码(不限制位数)

    查询电话号码的脚本

    查询电话号码的脚本 可以使用这个批量查询 查询电话号码的脚本 可以使用这个批量查询

    网页抓取查询电话号码

    通过网页抓取来查询电话号码 winform程序

Global site tag (gtag.js) - Google Analytics