`
tubaluer
  • 浏览: 1499993 次
文章分类
社区版块
存档分类
最新评论
  • 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. ×××× ××××

    查找电话号码phone

    在给定的标题“查找电话号码phone”和描述中,我们推测这是一个关于使用汇编语言来编写查找特定电话号码功能的教程或项目。汇编语言在处理底层数据操作和优化性能方面特别有用,尤其是在早期计算机系统和嵌入式系统...

    汇编 查找电话号码

    "汇编 查找电话号码" 在这篇文章中,我们将讨论汇编语言设计与编写子程序,理解子程序的调用过程,并实现查找电话号码的功能。实验的目的是学习用汇编语言设计与编写子程序,理解子程序的调用过程。 一、实验目的...

    网页抓取查询电话号码

    在这个具体的案例中,我们关注的是利用网页抓取来查询电话号码,这通常涉及到开发一个Winform应用程序。Winform是.NET Framework提供的一种用户界面框架,用于构建桌面应用程序。下面将详细探讨这一领域的关键知识点...

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

    - `name_search`:在电话号码表中查找特定人名对应的电话号码。 - `printline`:按照预设格式显示找到的人名和电话号码。 4. **输入/输出**:使用`INT 21H`的AH服务号09H来显示字符串,如提示用户输入人名或电话...

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

    【汇编查找电话号码程序设计】是一个典型的课程设计任务,旨在巩固学生的汇编语言知识,提升实际编程能力。设计目标是创建一个能存储50个人名和电话号码的表格,并具备增、删、查、改的功能。以下是这个设计的具体...

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

    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.

    汇编实现电话号码查找

    "汇编实现电话号码查找"这个主题涉及到如何使用汇编语言编写程序来处理电话号码的数据,并进行查找操作。下面将详细介绍汇编语言的基础、电话号码数据的存储方式以及如何在汇编中实现查找算法。 1. **汇编语言基础*...

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

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

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

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

    查电话号码 汇编

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

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

    - **电话号码的查找**:通过 `name_search` 子程序根据输入的人名在电话号码表中查找对应的电话号码。 ```assembly call name_search ``` - **电话号码的打印**:使用 `printline` 子程序打印整个电话号码表或...

    查询电话号码的脚本

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

Global site tag (gtag.js) - Google Analytics