1、1“汇编语言程序设计”实验报告学院:计算机学院 班级:1202 班 姓名:张加玲 学号:123110010成绩:实验一 表格查找的实现一. 实验目的掌握汇编语言源程序的建立及.asm 文件生成.exe 文件的方法;学习调试工具 Debug 的使用。 二. 实验主要内容1. 汇编语言程序的生成.2. 表格查找 tabsrch 的实现.(流程图)2三实验的过程及总结1. 汇编语言程序的建立及执行过程.(1) tabsrch 代码:;*datasg segment para datamessl db stock nember?,13,10,$;stoknin label bytemax db 3ac
2、t db ?stokn db 3 dup(?) ;stoknab db 05, Excavators db 08, Lifters db 09, Presses db 12, Valves db 23, Processors db 27, Pumps descrn db 14 dup(20h),13,10,$mess db Not in table!,$datasg ends;*3codesg segment para codeassume cs:codesg,ds:datasg,es:datasg;-main proc farpush ds ;save old data segmentsub
3、 ax,ax ;put zero in AXpush ax ;save it on stackmov ax,datasg ;data segment addrmov ds,ax ; into DS registermov es,ax ; into ES register;MAIN PART OF PROGRAM GOES HEREstart:lea dx,messlmov ah,09int 21hlea dx,stokninmov ah,0ahint 21hcmp act,0je exitmov al,stoknmov ah,stokn+1mov cx,06lea si,stoknaba20:
4、cmp ax,word ptrsije a30add si,21loop a20lea dx,messmov ah,09int 21hjmp exita30:mov cx,07lea di,descrnrep movswlea dx,descrnmov ah,09int 21hjmp startexit:retmain endp4;-codesg ends;*end main(2)编译生成 tabsrch.obj(3)连接成 tabsrch.exe52. 表格查找 tabsrch 的实现及调试工具 Debug 的使用.运行 tabsrch.exedebug 调试:6总结:因为,基于 win7 环境下实验,原 masm,link 等软件不兼容,所以装载 DOSBOS 软件,在该环境下完成所有实验。初始,在字符串长度定义时与循环条件 si 的增值不符,致使除第一个数据“05”能正常输出,其他均显示 ,调整 si 增值与字符串长度一样后,成功完成实验。