微机原理第4章3 汇编语言程序设计 ppt课件.ppt

微机原理第4章3 汇编语言程序设计 ppt课件.ppt

ID:59274107

大小:449.50 KB

页数:53页

时间:2020-09-22

微机原理第4章3 汇编语言程序设计 ppt课件.ppt_第1页
微机原理第4章3 汇编语言程序设计 ppt课件.ppt_第2页
微机原理第4章3 汇编语言程序设计 ppt课件.ppt_第3页
微机原理第4章3 汇编语言程序设计 ppt课件.ppt_第4页
微机原理第4章3 汇编语言程序设计 ppt课件.ppt_第5页
资源描述:

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

1、4.4汇编语言程序设计基础汇编语言程序设计的步骤:1-根据实际问题抽象出数学模型,确定算法2-画出程序框图(流程图)3-分配内存工作单元和寄存器4-根据框图编写源程序,存成.ASM文件5-对源程序汇编,生成.OBJ目标文件6-把.OBJ文件连接生成.EXE执行文件7-运行、调试1源程序的基本结构顺序结构:按照指令的排列顺序逐条执行分支结构:根据不同的条件转移到不同的程序段。循环结构:多次重复执行同样的工作。子程序结构:也叫过程结构,是完成特定功能的程序段。2一、顺序程序设计计算机执行程序的方式是“从头到尾”逐条顺序执行指令语句,直到程序结束。例1:计算设x=60,y=463DATASEG

2、MENTxDB60yDB46zDW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,xMULALMOVDX,AXMOVAL,yMOVBL,6MULBLSUBDX,AXMOVCL,3SHRDX,CLMOVz,DXMOVAH,4CHINT21HCODEENDSENDSTART4例2:把BUF开始的两个字节单元中的数相加,结果存入字单元RES中。DATASEGMENTBUFDB89H,34HRESDW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX

3、,DATAMOVDS,AXCLCLEABX,BUFMOVAL,[BX];取加数ADDAL,[BX+1];做加法XORAH,AHADCAH,00H;取CF位MOVRES,AX;存结果MOVAH,4CHINT21HCODEENDSENDSTART5例3:以BUF为首地址的内存中存有1~15的平方表。查表求X单元中数(在1~15之间)的平方值,并送回X单元。DATASEGMENTBUFDB1,4,9,16,25,36,49,64DB81,100,121,144,169,196,225XDB12DATAENDSSTACKSEGMENTDW100DUP(?)STACKENDSCODESEGMENT

4、ASSUMECS:CODE,DS:DATA,SS:STACK;段地址说明6START:MOVAX,DATAMOVDS,AX;数据段初始化MOVAX,STACKMOVSS,AX;堆栈段初始化MOVBX,OFFSETBUFMOVAL,X;取XXLAT;见P111MOVAH,4CHINT21H;返回DOSCODEENDSENDSTART7例4:编写S=86H*34H-21H。式中的三个数均为无符号数DATASEGMENTNUMDB86H,34H,21HRESULTDW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,A

5、XLEASI,NUMLEADI,RESULTMOVAL,[SI]MOVBL,[SI+1]MULBLMOVBL,[SI+2]MOVBH,0SUBAX,BXMOV[DI],AXMOVAH,4CHINT21HCODEENDSENDSTART8二、分支程序设计YN条件满足?处理IF…THEN结构条件2条件满足?处理P1处理P2条件1IF…THEN…ELSE结构9条件1成立?P1NYCASE结构条件2成立?条件n成立?…Pn+1P2PnNNYY10例5:编程求符号函数DATASEGMENTXDB30YDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:

6、MOVAX,DATAMOVDS,AX11MOVAL,XCMPAL,0JLEXDMOVY,1JMPNEXTXD:CMPAL,0JZDYMOVY,-1JMPNEXTDY:MOVY,0NEXT:MOVAH,4CHINT21HCODEENDSENDSTART12例6:将内存中以DATA1为首址的80个字节单元中存放着80个同学的考试成绩(0-100),编写程序统计≥90分以上、80-89分、70-79分、60-69分、60以下的人数,并把结果存在DATA2开始的5个单元中分析如下:1、这是一个多分支的程序,需要将每个同学的成绩依次与90、80、70、60比较。2、因为无论是成绩还是人数都不超过一

7、个字节所能表示的范围,故定义的变量均为字节型。3、统计结果用一个数组存放,分别存放5个分数段的人数。13DATASEGMENTDATA1DB80DUP(?)DATA2DB5DUP(0)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATABEGIN:MOVAX,DATAMOVDS,AXMOVCX,80;串长送CXLEASI,DATA1;SI指向学生成绩LEADI,DATA2;DI指向统计结果AGAIN:MO

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

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

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