汇编语言分支结构程序设计.doc

汇编语言分支结构程序设计.doc

ID:56964586

大小:184.00 KB

页数:7页

时间:2020-07-29

汇编语言分支结构程序设计.doc_第1页
汇编语言分支结构程序设计.doc_第2页
汇编语言分支结构程序设计.doc_第3页
汇编语言分支结构程序设计.doc_第4页
汇编语言分支结构程序设计.doc_第5页
资源描述:

《汇编语言分支结构程序设计.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验七分支结构程序设计一、实验目的掌握条件转移指令的使用方法及指令对标志寄存器中各标志位的影响;掌握标志位和转移指令之间的关系;会用条件转移指令和无条件转移指令设计多分支结构程序;掌握设置断点调试程序的方法。二、示例1、内存自BUF单元开始的缓冲区连续存放着10个学生的英文分数,编程序统计其中90~100,60~89,60以下者各有多少人?并把90-100分人数结果存放在P1单元中、60-89分人数结果存放在P2单元中,60分以下人数结果存放在P3单元中(P1、P2、P3为数据段的单元),最后把P1、P2、P3中的数以”P1=?、P2

2、=?、P3=?”显示在屏幕上。(注:数据以10进制显示)DATASEGMENTBUFDB70H,58H,50H,91H,99H,62H,75H,82H,74H,60H;定义BUF单元地址开始的缓冲区的数据ORG0020H;程序执行时,将P1送到0200H内存单元P1DB0ORG0030H;程序执行时,将P2送到0300H内存单元P2DB0ORG0040HP3DB0;程序执行时,将P3送到0400H内存单元ORG0050H;程序执行时,将DP1送到0500H内存单元DP1DB'P1=$'ORG0060H;程序执行时,将DP2送到0600

3、H内存单元DP2DB'P2=$'ORG0070H;程序执行时,将DP3送到0700H内存单元DP3DB'P3=$'ORG0080H;程序执行时,将COUNT送到0800H内存单元COUNTDW10;'$'为地址运算符,返回当前程序语句的地址偏移值DATAENDS;定义数据段CSEGSEGMENTASSUMECS:CSEG,DS:DATAPUSHDS;将DS压入堆栈SUBAX,AX;将AX内存器内容清空PUSHAXSTART:MOVAX,DATAMOVDS,AX;将数据传给数据段DSMOVCX,COUNT;设置计数器CX,最多为10MO

4、VSI,0;给SI赋值为0LP1:MOVAL,BUF[SI];将BUF内存单元的第si个内容赋值给ALCMPAL,90H;判断该学生的分数是否>=90JNBLP2;若不低于90则跳转到LP2CMPAL,60H;判断该学生的分数是否>=60JCLP3;若产生进位则跳转到LP3INCP2;将分数在60-89的学生的分数个数存放到P2中JMPLP5;跳转到LP5,即循环遍历数组BUFLP3:INCP3;将P3中的个数+1JMPLP5;跳转到LP5LP2:INCP1;给P1中的个数+1LP5:INCSI;将SI进行+1操作,即下一个成绩分数L

5、OOPLP1;循环LP1LEADX,DP1MOVAH,09HINT21HMOVDL,P1ADDDL,30H;转对应的ASCII值MOVAH,2INT21H;将P1数据转10进制输出LEADX,DP2MOVAH,09HINT21HMOVDL,P2ADDDL,30H;转对应的ASCII值MOVAH,2INT21H;将P2数据转10进制输出LEADX,DP3MOVAH,09HINT21HMOVDL,P3ADDDL,30H;转对应的ASCII值MOVAH,2INT21HMOVAH,4CHINT21H;将P3数据转10进制输出CSEGENDSE

6、NDSTART对上述程序加上注释,并运行观察结果。运行结果:BUF开始的内存单元的10个数中有2个>=90,6个在60-89,2个在60以下验证正确三、实验题1已知DATAX和DATAY单元各存放一个带符号字节数据,从键盘上接收加(+)、减(-)、乘(*)或除(/)符号,然后完成相应运算,结果存入RLT单元。四、实验报告1、总结调试分支程序的方法;2、写出程序清单,并记录执行结果。解:1.总结调试分支程序的方法将每个分支的功能编写清楚后,根据运行结果与自身判断结果相比较,若有误,则单步执行程序,观察程序运行的每一步结果变化是否和自身想

7、象的一样。2.已知DATAX和DATAY单元各存放一个带符号字节数据,从键盘上接收加(+)、减(-)、乘(*)或除(/)符号,然后完成相应运算,结果存入RLT单元。程序代码:DATASSEGMENTDATAXDB9HDATAYDB2HRLTDB1DUP(?);此处输入数据段代码DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AX;将DATAS中的数据存入DSMOVBL,DATAX;将DATAX送入BLMOVBH,DATAY;将DATAY送入BHMOV

8、AH,01Hint21H;DOS功能调用,等待键盘输入一个值CMPAL,'+'JEaddition;若输入符号为'+',则跳转到additionCMPAL,'-'JEsubtraction;若输入符号为'-',则跳转到s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。