汇编语言程序设计_5ppt培训课件

汇编语言程序设计_5ppt培训课件

ID:34240674

大小:207.00 KB

页数:42页

时间:2019-03-04

汇编语言程序设计_5ppt培训课件_第1页
汇编语言程序设计_5ppt培训课件_第2页
汇编语言程序设计_5ppt培训课件_第3页
汇编语言程序设计_5ppt培训课件_第4页
汇编语言程序设计_5ppt培训课件_第5页
资源描述:

《汇编语言程序设计_5ppt培训课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章循环与分支程序设计5.1循环程序设计5.2分支程序设计5.3如何在实模式下发挥80386及其后继机型的优势1.编写汇编语言程序步骤l分析实际问题,确定解决问题的算法l按算法画出程序流程图l按流程图编写程序l上机调试,运行程序注:本教材所讨论的编程环境只限于在DOS操作系统下的实模式2.判断程序质量的标准程序的正确性程序的可读性程序的执行时间程序所占内存大小3.几种程序结构顺序结构循环结构分支结构子程序结构顺序结构形式循环结构形式当型循环(当条件成立进入循环)循环初始设置循环体循环条件判断?YN直到型循环(直到条件成立退出循环)Y

2、N循环初始设置循环体循环条件判断?两个分支YN、、、CMPAL,BLJGgreatJMPexitgreat:exit:、、、、、、AL≤BL处理AL>BL处理分支结构形式三个分支、、、CMPAL,0JGgreatJLlessJMPexitless:JMPexitgreat:exit:、、、AL=0处理AL>0处理AL<0处理YYNN分支结构形式……1.多处调用完成同一功能的子程:codeSEGMENTstart:、、CALLsubp、、CALLsubp、、CALLsubp、、MOVAH,4CHINT21HsubpPROC、、、、RET

3、subpENDPcodeENDSENDstart2.模块化程序设计:codeSEGMENTbegin:CALLsub1CALLsub2CALLsub3MOVAH,4CHINT21Hsub1PROC、、RETsub1ENDPsub2PROC、、RETsub2ENDPsub3PROC、、RETsub3ENDPcodeENDSENDbegin子程结构形式注意返回DOS语句位置开始结束初始化循环的初始状态循环体循环的工作部分及修改部分控制条件计数控制特征值控制地址边界控制5.1.1循环程序的结构形式5.1循环程序设计(1)DO-WHILE结构

4、(2)DO-UNTIL结构有关字符、数码转换的处理1.计算机处理字符时,常用的字符编码是ASCII码。2.数字和字母的ASCII码是一个有序序列数字0~9:30H~39H大写字母A~Z:41H~5AH小写字母a~z:61H~7AH5.1.2循环程序设计方法例5.1将寄存器BX中的内容以十六进制形式显示出来。BX是一个16位寄存器二进制1010100100111110用十六进显示时,每4位用一个字符显示,共4个其中:0000→’0’30H,1010→’A’41H0001→’1’31H,1011→’B’42H、、、、1001→’9’39H

5、,1111→’F’46H?十六进制A93E屏幕上的显示‘A’‘9’‘3’‘E’对应的ASCII41H39H33H45HBX1234算法:取出要显示的某4位,转换为对应的ASCII码,再调用DOS系统功能进行显示。(1)对于0000~1001(0~9),先扩展成一个字节,高4位清0,加上30H后,即可得字符’0’~’9’对应的ASCII码。00000001B+30H=31H00001001B+30H=39H0001B‘1’1001B‘9’(2)对于1010~1111(A~F),先扩展成一个字节,高4位清0,加上30H后,还要再加上07H

6、,才能得到’A’~’F’对应的ASCII码00001010B+30H+07H=41H00001111B+30H+07H=46H1010B‘A’1111B‘F’codeSEGMENTASSUMECS:codestart:MOVCH,4;字符个数rotate:MOVCL,4;循环移位次数ROLBX,CL;取显示位的值MOVAL,BL;保存在AL中ANDAL,0FH;清除高4位ADDAL,30H;转变为数字的ASCIICMPAL,3aH;大于3aH,则应转变JLprint;为数字0~9的ASCIIADDAL,07H;为字母A~F的ASCII

7、print:MOVDL,AL;送ASCII字符到DLMOVAH,2;显示DL中的字符INT21HDECCH;显示结束?JNZnextMOVAH,4CH;返回DOSINT21HcodeENDSENDstart显示字符个数CH=4循环移位次数CL=4BX循环左移4位,将要显示的值移至低4位,保存在AL中清AL的高4位,只保留要显示位的值AL←AL+30H完成数值0~9的ASCII码转换YNAL←AL+07H完成数值A~F的ASCII码转换用02功能显示DL中的字符YN返回DOSAL超出39H?CH←CH-1转换结束?开始例5.2在ADDR

8、单元中存放着数Y,度编制一程序把Y中1的个数存入COUNT单元中。datareasegmentaddredw1234hcountdw?datareaendsmovcx,0movbx,addremovax,bxagain:

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

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

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