基于分支、循环结构的表格查询程序的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(一)实验名称

基于分支、循环结构的表格查询程序的设计

(二)实验内容和要求

在仓库管理中,具有包含货品的编号、名称、数量、价格等情况的表格,根据用户提供的编号可以找到相关货品。假设表格中共有6种货品,表格的格式为:

stoktab db ‘11’,’Excavators’

db ‘12’,’Lifters’

db ‘13’,’Presses’

db ‘14’,’Valves’

db ‘15’,’Processors’

db ‘16’,’Pumps’

LEN EQU $-stoktab

试编写一程序,根据用户输入的编号在屏幕上显示相应货品的名称。

要求:(1)能够循环输入物品的编号进行查询,界面简洁友好;

(2)合理使用分支、循环程序结构,语句简练,具有一定说明文档。(三)实验目的

1)感受和学习分支、循环程序结构

2)感受和学习宏定义及宏语句的使用

3)进一步感受和学习汇编语言程序的设计方法、语句和技巧

4)进一步感受和学习汇编语言程序的调试方法

(四)实验日期、时间和地点

时间:2010年11月12日8:00——9:30

地点:微机高级实验室

(五)实验环境(说明实验用的软硬件环境及调试软件)

使用MASM调试

(六)实验步骤(只写主要操作步骤,要简明扼要,还应该画出程序流程图或实验电路的具体连接图)

(七)实验结果(经调试通过的源程序的所有代码,应包含必要的说明文字)

DATAS SEGMENT

stoktab DB'11','Excavators'

DB'12','Lifters'

DB'13','Presses'

DB'14','Valves'

DB'15','Processors'

DB'16','Pumps'

LEN EQU $-stoktab

string1 DB 0DH,0AH,'Please input the numble:$'

string2 DB 0DH,0AH,'Not in table$'

BUF1 DB 0DH,0AH,50 DUP(0) ;定义两个缓存区 BUF2 DB 81,?,80 DUP(?)

DATAS ENDS

STACKS SEGMENT

DB 100 DUP(0)

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

MOV AX,DATAS

MOV DS,AX

MOV ES,AX

LOP1:

LEA DX,string1

MOV AH,09H

INT 21H

LEA DX,BUF2

MOV AH,0AH

INT 21H

CMP [BUF2+2],'Q';按‘Q’退出

JZ EXIT

MOV AL, [BUF2+1]

CMP AL,2

JNZ NO

CMP [BUF2+2],'1'

JNZ NO

MOV AL,[BUF2+3] ;编码录入

CMP AL,'0'

JZ NO

CMP AL,'6'

JA NO

MOV CL,AL

AND CX,0FH

LEA DI,stoktab

MOV AL,31H

CLD

LOP2: ;将DI定位到要输出字符处

PUSH CX

MOV CX,LEN

REPNZ SCASB

INC DI

POP CX

LOOP LOP2

MOV SI,1

MOV BX,DI

DEC BX

MOV CX,LEN

LOP3: ;将对应的名称存到BUF1中INC SI

INC BX

MOV AL,[BX]

CMP AL,'A'

JB NEXT2

MOV [BUF1+SI],AL

LOOP LOP3

NEXT2:

MOV [BUF1+SI],'$';在BUF1的字符末端加'$' LEA DX,BUF1

MOV AH,09H

INT 21H

JMP LOP1

NO: ;显示NOT IN TABLE LEA DX,string2

MOV AH,09H

INT 21H

JMP LOP1

EXIT: ;退出

MOV AH,4CH

INT 21H

CODES ENDS

END START

(八)讨论(说明本次实验的收获及心得体会,尤其遇到问题和困难后是如何分析并解决的,总结失败原因。要从实验结果中归纳出一般性、概括性的判断,要简练、准确、严谨、客观)

1练习了分支,循环控制结构

2学习了对SCASB的使用

3认识到一定要在CV调试下观察数据的传递

(九)实验参考资料(详细列举在实验中所用到的参考资料)

相关文档
最新文档