第6章 程序的基本结构与汇编语言程序设计ppt课件.ppt

第6章 程序的基本结构与汇编语言程序设计ppt课件.ppt

ID:59209408

大小:298.00 KB

页数:41页

时间:2020-09-26

第6章 程序的基本结构与汇编语言程序设计ppt课件.ppt_第1页
第6章 程序的基本结构与汇编语言程序设计ppt课件.ppt_第2页
第6章 程序的基本结构与汇编语言程序设计ppt课件.ppt_第3页
第6章 程序的基本结构与汇编语言程序设计ppt课件.ppt_第4页
第6章 程序的基本结构与汇编语言程序设计ppt课件.ppt_第5页
资源描述:

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

1、第6章程序的基本结构与 汇编语言程序设计1本章学习内容程序设计的基本过程程序的基本结构汇编语言编程实例2本章学习目标灵活运用程序控制指令(如循环指令loop,条件转移指令等)实现循环结构、分支结构综合运用汇编指令和伪指令编程实现具体问题31.程序设计的基本过程nextpart问题分析算法设计程序设计程序检查与调试42.程序的基本结构顺序结构分支结构循环结构nextpart53.汇编程序设计实例选讲教材实例例6-1(P120)例6-2(P121)例6-5(P124)例5-1(P99)例5-2(P100)补充实例例1:

2、例2:nextpartgogogogogogogo6例5-1:(P99)统计一个字节数据块中负元素的个数,统计结果存入cnt变量,并显示.(1)问题分析(2)算法设计(3)编程实现-11011-7-948array7算法:开始初始化:统计结果清0:cnt=0设置循环次数:(cx)=数组长度设置控制元素:(si)=数组第一个元素偏移地址([si])<0Ncnt+1→cnt(cx)-1→(cx)(cx)=0?YYN(si)+1→(si)输出cnt结束next8算法实现:nextdatasegmentparaarrayd

3、b-1,10,11,-7,-9,4,8lenequ$-arraycntdb?dataendscodesegmentparaassumecs:code,ds:datastart:movax,datamovds,ax…movah,4chint21hcodeendsendstart统计负数个数输出cnt9movcnt,0movcx,lenleasi,arrayagain:cmpbyteptr[si],0jlcountjmpnextcount:inccntnext:incsiloopagainmovdl,cntordl,3

4、0hmovah,2int21h初始化:统计结果清0设置循环次数设置控制元素([si])<0Ncnt+1→cnt(cx)-1→(cx)(cx)=0?YYN(si)+1→(si)输出cntreturn10例5-2:(P100)已知:AX寄存器中为一个16位的二进制数要求:编程统计其中值为1的二进制的个数,统计结果存入result单元(1)问题分析(2)算法设计(3)编程实现b15b0b7b81010000011110000(AX)=0a0f0hb15b0b7b80100000111100000CF1return算法1算

5、法211算法1:next开始初始化:统计结果清0:result=0设置循环次数:(CX)=16(AX)左移1位(CF)=1?Nresult+1→result(CX)-1→(CX)(CX)=0?YYN结束12datasegmentnumdw0afehresultdb?dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,ax…movah,4chint21hcodeendsendstartmovax,nummovresult,0movcx,16算法1

6、实现again:shlax,1jccountjmpnextcount:incresultnext:loopagaincalldisplay子程序定义next开始初始化:统计结果清0:result=0设置循环次数:(CX)=16(AX)左移1位(CF)=1?Nresult+1→result(CX)-1→(CX)(CX)=0?YYN结束13displayprocnearmoval,resultmovah,0movbl,10divblmovbh,ahoral,30hmovah,2movdl,alint21horbh,30

7、hmovah,2movdl,bhint21hretdisplayendpreturn14算法2:开始初始化:统计结果清0:(cl)=0(AX)左移1位(CF)=1?N(cl)+1→(cl)(AX)=0?YYN结束(cl)→resultnext15s_segsegmentparastackdw100dup(?)s_segendsd_segsegmentparanumdw0a3fhresultdb?d_segendsnext算法2实现:16c_segsegmentparaassumecs:c_seg,ds:d_seg,

8、ss:s_segmainprocfarpushdsmovax,0pushaxmovax,d_segmovds,ax…retmainendpc_segendsendmainmovcl,0movax,numloop1:andax,axjzdonesalax,1jncnextincclnext:jmploop1done:movresult,clcalldispla

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

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

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