版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、汇编语言实验 一、实验目的:1、熟练汇编语言运行环境和方法。2、了解如何使用汇编语言编制程序。3、熟悉 DEBUG常用的命令的使用方法。4、会使用DEBUG命令调试程序。二、实验内容:STRING1和STRING2相同,则输出MATCH,不相同则输出2、学会对汇编语言程序进行汇编、连接和运行。3、学会用DEBUG中的D命令,E命令,R命令,G命令,F命令,U命令,A命令以及T命令。三、实验要求:1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。DEBUG调试程序和执行程序。四、实验报告:1、程序说明。说明程序的功能、结构。检查两个字符串是否相同2、调试说明
2、。包括上机调试的情况、上机调试步骤、调试所遇果进行分析。运行e28forward3、写出源程序清单和执行结果。实验清单:datarea segmentstring1 db Move the cursor backwordstring2 db Move the cursor backwordmess1 db Match.,13,10,$mess2 db No match!,13,10,$datarea endsprognam segmentmain proc farassume cs:prognam,ds:datarea,es:datareastart:push dssub ax,dxpush
3、axmov ax,datareamov ds,axmov es,axlea si,string1lea di,string2cldmov cx,25repz cmpsbjz matchlea dx,mess2jmp short displea dx,mess1match:disp:mov ah,09int 21hmov ah,4chint 21hmain endpprognam endsend start一、实验目的:1、熟悉循环、DOS功能调用等基本的程序结构。二、实验内容:三、编程提示:1、定义如下的数据结构:grade DW 88,75,95,63,98,78,87,73,90,60ra
4、nk DW 10 DUP(?)data ENDS2、通过双重循环实现:对于数组的每个元素(学生成绩),查找数组中比该元素值大的元素个数I,则I-1即为该学生的名次,并将名次依次保存在以rank为首地址的字数组中。四、实验报告:1、程序说明。说明程序的功能、结构。功能:将给出的数组每个元素在数组的大小位置找出来,放到rank数组中数据定义块:data segmentgrade dw 88h,75h,95h,63h,98h,78h,87h,73h,90h,60hrankdw 10 DUP(?)count dw ?data ends代码块:code segmentassume cs:code,ds:
5、datamain proc farstart:mov ax,datamov ds,axxorax,axmov si,axmov count,ax外层循环:lea1lea1:leabx,grademov cx,rank-gradesarxorleacx,1ax,axdi,grade内层循环lea2,lea3.lea4lea2:mov dx,dicmp bx+si,dxmov dx,word ptr bx+sijllea4add di,2loop lea2lea3:mov si,countmov rank+si,axaddcount,2mov si,countcmp count,rank-grad
6、e返回语句:jelea5lea1jmplea4:inc axadd di,2loop lea2jmp lea3lea5:mov ah,4chint21hmain endpcode endsend start2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇果进行分析。3、画出程序框图。4、写出源程序清单和执行结果清单:data segmentgrade dw 88h,75h,95h,63h,98h,78h,87h,73h,90h,60hrankdw 10 DUP(?)count dw ?data endscode segmentassume cs:code,ds:datamain pro
7、c farstart:mov ax,datamov ds,axxorax,axmov si,axmov count,axlea1:leabx,grademov cx,rank-gradesarxorleacx,1ax,axdi,gradelea2:mov dx,dicmp bx+si,dxmov dx,word ptr bx+sijllea4add di,2loop lea2lea3:mov si,countmov rank+si,axaddcount,2mov si,countcmp count,rank-gradejelea5lea1jmplea4:inc axadd di,2loop l
8、ea2jmp lea3lea5:5、体会和意见。一、实验目的:1、熟悉分支、DOS功能调用等基本的程序结构。二、实验内容:(JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT三、编程提示:1、定义如下的数据结构 3 ? 3 DOS系统功能调用实现从键盘输入月份数值(可能是一位也可能是二位),将月份值的ASCII转换成数值,根据此数值确定月份英文名在字符串数组montab中的位置,将该位置连续三个字节拷贝到alfmonDOS系统功能调用显示alfmon为起始的字符串。四、实验报告:1、程序说明。说明程序的功能、结构。2、调试说明。包括上机调试的情况、上机调试步骤、调试
9、所遇果进行分析。3、画出程序框图。4、写出源程序清单和执行结果。data segmentplease db please enter the momth:,13,10,$max DB 3act DB ?mon DB 3 DUP(?)alfmon DB ?,13,10,$montabDBJAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DECdata endscode segmentassume ds:data,cs:code,es:datamain proc farstart:mov ax,datamov ds,axmov es,axlen0:lea dx
10、,pleasemov ah,09hint 21hlea dx,maxmov ah,0ahint 21hmov cl,byte ptr actxor ax,axxor bx,bxxor ch,chlea si,monlen1:mov dl,10mul dlmov bl,byte ptr sisub bl,30hadd ax,bxadd si,1loop len1len2:mov dl,3mul dllea si,montabsub ax,3add si,axlea di,alfmonmov cx,3cldrep movsblea dx,alfmonmov ah,09hint21h5、体会和意见。
11、 一、实验目的:1、熟悉分支、循环、子程序调用、DOS 功能调用等基本的程序结构。2、掌握子程序调用的参数传递。3、掌握综合程序的编制及调试方法。二、实验内容:从键盘输入一个四位的十进制数(如 4525D),然后在屏幕上以十六进制形式将其显示出来(11ADH)。三、编程提示:1、采用 DOS功能调用从键盘输入一串字符。2、设计一个子程序将键盘缓冲区中的字符转换为数值,即4-4、5-5、2-2、5-5,再将其转化为数值4525保存到BX寄存器中。 BX循环依次取 BX 中四位二进制 N 数,将其转化为对应十六进制数的ASCII码,再通过DOS系统调用将其显示出来。四、实验报告:1、程序说明。说明
12、程序的功能、结构。2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇果进行分析。3、画出程序框图。4、写出源程序清单和执行结果。data segmentplease db please enter the number:,13,10,$answer db the answer is:,13,10,$max DB 5act DB ?mon DB 4 DUP(?)temp db 4 DUP(?),13,10,$tem dw 10hdata endscode segmentassume ds:data,cs:code,es:datastart:mov ax,datamov ds,axmov e
13、s,axlen0:leadx,pleasemov ah,09hint 21hlea dx,maxmov ah,0ahint 21hcall change1call change2lea dx,answermov ah,09hint 21hlea dx,tempmov ah,09hint 21hexit:mov ah,4chint 21hchange1 procmov cl,byte ptr actxor ax,axxor bx,bxxor ch,chleasi,monlen1:mov dx,10mul dxmov bl,byte ptr sisub bl,30hadd ax,bxadd si,
14、1loop len1mov bx,axretchange1 endpchange2 procxorxorxorleaax,axcx,cxdx,dxsi,temp+4mov cx,4mov ax,bxlen4:div temcmp dx,9ja len6add dx,30hjmp len7len6:add dx,40hsub dx,9len7:mov byte ptr si,dlxor dx,dxdec siloop len4retchange2 endpcodeend start5、体会和意见。一、实验目的:1、掌握分支、循环、子程序调用、DOS 功能调用等基本的程序结构。二、实验内容:设有十
15、个学生成绩分别是 76,69,84,90,73,88,99,63,79 分和100三、编程提示:1、成绩分等部分采用分支结构,统计所有成绩则用循环结构完成,显示统计结果采用DOS功能调用。2、统计学生成绩和显示统计结果两部分内容用子程序结构来完成。四、实验报告:1、程序说明。说明程序的功能、结构。2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇果进行分析。3、画出程序框图。4、写出源程序清单和执行结果。change macro tempadd temp,30hmov dl,tempmov ah,02hint 21hendmdata segmentgrand db 76,69,84,90
16、,73,88,99,63,100,80sum1 db 0sum2 db 0sum3 db 0sum4 db 0sum5 db 0sum6 db 0sum db 10data endscode segmentassume ds:data,cs:codestart:mov ax,datamov ds,axmov es,axcall alucall showmov ah,4chint 21halu procmov si,-1str:cmp sum,0jz exitinc sidec sumcmp grandsi,60jb len1cmp grandsi,70jb len2cmp grandsi,80
17、jb len3cmp grandsi,90jb len4cmp grandsi,100jb len5jmp len6len1:inc sum1jmp strlen2:inc sum2jmp strlen3:inc sum3jmp strlen4:inc sum4jmp strlen5:inc sum5jmp strlen6:inc sum6jmp strexit:retalu endpshow procchange sum1change sum2change sum3change sum4change sum5change sum6retshow endp5、体会和意见。 顺序显示学生名次(2
18、)一、实验目的:1、掌握分支、循环、子程序调用、DOS 功能调用等基本的程序结构。2、掌握综合程序的编制及调试方法。二、实验内容:按学号顺序从键盘输入学生成绩 (成绩之间用逗号分隔)保存在组,最后,按学号顺序显示每个学生的名次。三、编程提示:1、设计一个子程序 INPUT 接受键盘输入的每个学生成绩,并存 INPUT子程序调用DECIBIN成绩保存在BX BX到回车表示成绩输入完毕。2、设计 RANKP 子程序根据成绩数组计算每个学生名次,并将名次写入名次数组(这部分功能请参考实验二)。 OUTPUT形式的名次转换成ASCIIBINDEC实现转换。四、实验报告:1、程序说明。说明程序的功能、结
19、构。2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇果进行分析。3、画出程序框图。4、写出源程序清单和执行结果。data segmentgrade db 50 dup(?)rank db 50 dup(?)count dw ?ts1 db please enter grade,13,10,$ts2 db the rank is:,13,10,$data endscode segmentassume ds:data,cs:code,es:datastart:mov ax,datamov ds,axmov es,axcall inputcall rank1call outputmov ah,4chint 21hinput proclea dx,ts1mov ah,09hint 21hxor si,sibegin1:xor ax,axxor bx,bxxor cx,cxxor d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理教育学第九章:护理教育综合应用
- 心梗急救护理实践技巧交流
- 苯酐装置操作工岗前技术理论考核试卷含答案
- 铸造模型工岗前安全培训效果考核试卷含答案
- 古建琉璃工风险识别知识考核试卷含答案
- 二次雷达机务员保密意识知识考核试卷含答案
- 烧结成品工班组建设知识考核试卷含答案
- 集成电路管壳制造工冲突管理强化考核试卷含答案
- 护理管理新思路与新方法分享
- 铸管喷漆工安全知识评优考核试卷含答案
- 2026江苏苏州市健康养老产业发展集团有限公司下属子公司招聘15人(第二批)笔试参考试题及答案解析
- 2026贵州黔西南技师学院公开招聘事业单位工作人员14人考试备考试题及答案解析
- 历史(四川卷)(考试版)-2026年高考考前预测卷
- 2026年佳木斯富锦市市政设施管护中心公开招聘一线工程技术人员3人笔试备考试题及答案解析
- 2026年江苏泰州市初二学业水平地生会考试卷题库及答案
- GB/T 1048-2019管道元件公称压力的定义和选用
- GA 1283-2015住宅物业消防安全管理
- 中等职业学校班主任能力比赛汽车运用与维修专业班级建设方案
- 储罐安全附件基础知识讲座课件
- 分子设计育种课件
- (完整版)机械工程专业英语课件
评论
0/150
提交评论