第六章 汇编语言程序设计详解ppt课件.ppt

第六章 汇编语言程序设计详解ppt课件.ppt

ID:58678872

大小:666.50 KB

页数:94页

时间:2020-10-05

第六章 汇编语言程序设计详解ppt课件.ppt_第1页
第六章 汇编语言程序设计详解ppt课件.ppt_第2页
第六章 汇编语言程序设计详解ppt课件.ppt_第3页
第六章 汇编语言程序设计详解ppt课件.ppt_第4页
第六章 汇编语言程序设计详解ppt课件.ppt_第5页
资源描述:

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

1、第六章汇编语言程序设计程序设计步骤顺序结构查表程序分支结构循环结构子程序综合举例6-1汇编语言程序设计步骤开始确定解题步骤(算法)上机调试编程画程序框图分析问题(题意)结束重新分析题意改算法调程序课堂教学内容实验教学内容流程图构成部件:3S1S2S3完成S1的工作完成S2的工作完成S3的工作开始结束6-2顺序程序特点:走向只有一条路径。一、顺序结构(直线程序)4此题可否这样做?为什麽?MOVAX,DS:[1000H]ADDAX,DS:[1010H]DAAMOVDS:[1020H],AX低字节相加调整存和高字节相加调整存和开始结束例1、设两个BCD数1234H和567

2、8H分别存放在数据段中从1000H和1010H开始的单元中,计算这两个数的和(<1个字),结果存放在1020H开始的单元中。二、举例法1:MOVAL,DS:[1000H]ADDAL,DS:[1010H];低字节相加DAA;十进制调整MOVDS:[1020H],AL;存低字节和MOVAL,DS:[1001H]ADCAL,DS:[1011H];高字节带进位相加DAA;十进制调整MOVDS:[1021H],AL;存高字节和法2:MOVSI,1000HMOVDI,1010HMOVBX,1020HMOVAL,[SI]ADDAL,[DI];低字节相加DAA;十进制调整MOV[B

3、X],AL;存低字节和MOVAL,[SI+1]ADCAL,[DI+1];高字节带进位相加DAA;十进制调整MOV[BX+1],AL;存高字节和例2、拆字。将1000H单元的内容拆成两段。每段四位存入其后的单元中。(低位在前,高位在后)1000H380803(1000H)AL屏蔽高4位存数(1000H)AL开始结束右移4位存数8MOVAL,[SI];AL=38HMOVCL,4SHRAL,CL;AL=03HMOV[SI+2],AL;[1002H]=03HHLT1000H380803编程:MOVSI,1000HMOVAL,[SI];AL=38HANDAL,0FH;AL

4、=08HMOV[SI+1],AL;[1001H]=08H96-3查表程序查找内容和它在表中的位置有一定的规律。例1:21000H单元有一个BCD数(00H-09H),求其平方值,送存21001H单元。Y=x²(1)计算出平方表格,存放到TABLE(21080H)(2)编程:y=(TABLE+x)基地址偏移量答案地址10法1:MOVAX,2000HMOVDS,AX;建立段地址MOVBX,1080H;建立表首址(基地址)MOVSI,1000HMOVAL,[SI];取BCD数MOVAH,0ADDBX,AXMOVAL,[BX];AL[BX]MOV[SI+1],ALHLT设

5、:[1000H]=3查表后[1001H]=949H36H25H16H09H04H01H00H64H81H2000:1080H11MOVAX,2000HMOVDS,AX;建立段地址MOVBX,1080H;建立表首址(基地址)MOVSI,1000HMOVAL,[SI];取BCD数XLAT;AL[BX+AL]MOV[SI+1],ALHLT设:AL=5[BX+AL]=[1080H+5]=[1085H]=25H49H36H25H16H09H04H01H00H64H81HTABLE注:使用XLAT指令前:表指针--BX待查的数--AL法2:12例2、将AL的1位十六进制数

6、(低位)转换为ASCII码;数据段ORG1050HASCDB30H,31H,32H,33H,34H,35H,36H,37H,38H,39HDB41H,42H,43H,44H,45H,46H;代码段;若AL=D7HMOVBX,OFFSETASC;BX=_____HANDAL,0FH;AL=___HXLAT;AL=___H136-4分支程序由条件转移指令构成程序判断框部分,形成程序分支结构。一、分支结构(分支程序)条件满足?N影响条件Y处理段条件满足?N影响条件Y处理1处理2单分支结构例1、将AX中存放的无符号数除以2。(如果是奇数则加1后除以2)问题:如何判断AX中的

7、数据是奇数还是偶数?解答:判断AX最低位是“0”(偶数),还是“1”(奇数)。15TESTAX,01H;测试AX的D0位JZE1;D0=0,则ZF=1,AX是偶数,程序转移E1ADDAX,1;否则AX为奇数,加1E1:SHRAX,1;AX←AX÷2HLT法1:用测试TEST指令判断最低位。若判断是0,AX就是偶数;否则,为奇数。16法2:将最低位用移位指令移至进位标志,判断进位标志是0,AX就是偶数;否则,为奇数MOVBX,AXSHRBX,1;将AX的最低位D0移进CFJNCE1;CF=0,AX内是偶数,程序转移E1ADDAX,1;否则,AX内的奇数,加1E1:

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

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

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