最新微机原理-第5版(周荷琴)-第四章-(3)教学讲义PPT课件.ppt

最新微机原理-第5版(周荷琴)-第四章-(3)教学讲义PPT课件.ppt

ID:62128912

大小:643.50 KB

页数:115页

时间:2021-04-17

最新微机原理-第5版(周荷琴)-第四章-(3)教学讲义PPT课件.ppt_第1页
最新微机原理-第5版(周荷琴)-第四章-(3)教学讲义PPT课件.ppt_第2页
最新微机原理-第5版(周荷琴)-第四章-(3)教学讲义PPT课件.ppt_第3页
最新微机原理-第5版(周荷琴)-第四章-(3)教学讲义PPT课件.ppt_第4页
最新微机原理-第5版(周荷琴)-第四章-(3)教学讲义PPT课件.ppt_第5页
资源描述:

《最新微机原理-第5版(周荷琴)-第四章-(3)教学讲义PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、微机原理-第5版(周荷琴)-第四章-(3)§4.3汇编语言程序设计方法与实例汇编语言程序设计汇编语言程序设计采用结构化程序设计方法。每个程序只有一个入口,必须要有出口,中间内容不能含有死循环语句。程序都按照顺序结构、条件分支结构和循环结构等3种基本结构进行构建。设计时先考虑总体、全局目标,再考虑细节、局部问题,把复杂问题分解为一个个模块或子目标,一步步进行设计。将这些基本结构、子模块合理组合起来,就可构成一个大的程序。4.3.1顺序结构程序设计如果用循环程序将00FFH先后送入DL,再利用DOS的2号功能调用,则可显示全部的标准和扩展ASCII码,包括全部控制符以及积分符、希腊字母等。例4

2、.34由人机对话从键盘输入1个10进制数(0~9),查表求键入数字的平方值,存入AL寄存器中,并显示有关的提示信息。试编写汇编语言程序。解:数据段中,先给出数字0~9的平方值,逐个存入TABLE开始的内存中,形成表格,以便查找,再给出等待显示的提示信息。代码段由3个部分组成:显示提示信息;等待键入数字;查表求键入数字的平方值,并将结果存入AL中。程序如下:DATASEGMENTTABLEDB0,1,4,9,16,25,36,49,64,81;数字0~9的平方值BUFDB‘Pleaseinputanumber(0~9):’,0DH,0AH,‘$’;提示信息DATAENDSCODESEGMENT

3、ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX;设置DSMOVDX,OFFSETBUF;设置DX,使字符串首地址=DS:DXMOVAH,9H;9号DOS功能调用INT21H;显示提示信息例4.34MOVAH,01;1号功能调用,等待键入字符INT21H;AL键入数字的ASCII码ANDAL,0FH;AL截下数字值;(表内元素序号)MOVBX,OFFSETTABLE;BX指向表头地址TABLEMOVAH,0;AX寄存器高字节清0ADDBX,AX;表头地址+键入数字(AL),结果存入BXMOVAL,[BX];查表求得平方值;MOVAX,4C00HI

4、NT21H;返回DOSCODEENDSENDSTART例4.344.3.1顺序结构程序设计例4.35在存储单元A1和A2中,各存有一个2字节的无符号数,低字节在前,高字节在后。编程将两数相加,结果存入SUM单元,也要求低字节在前,高字节在后,进位存入最后一个字节单元。DATASEGMENTA1DB56H,78H;数A1A2DB4FH,9AH;数A2SUMDB3DUP(0);存两数相加之和,考虑进位位DATAENDS;CODESEGMENTASSUMECS:CODE,DS:DATABEGIN:MOVAX,DATAMOVDS,AX;设置数据段基址MOVBX,0;BX为地址指针,初值清0CLC;进

5、位位清0MOVAL,A1[BX];取低字节A1ADCAL,A2[BX];与A2低字节相加MOVSUM[BX],AL;存入SUM单元(低字节)INCBX;调整指针MOVAL,A1[BX];取高字节相加ADCAL,A2[BX]MOVSUM[BX],AL;存高字节JNCSTOP;无进位,转STOP例4.35INCBX;有进位MOVAL,0INCALMOVSUM[BX],AL;进位存入SUM+2单元STOP:MOVAX,4C00HINT21HCODEENDSENDBEGIN例4.354.3.1顺序结构程序设计4.3.2分支程序设计4.3.3循环结构程序4.3.4代码转换程序4.3.5过程调用4.3.

6、2分支程序设计要求程序根据不同条件选择不同的处理方法,即程序处理步骤中出现了分支,应根据某一特定条件,选择其中一个分支执行。例4.36设某学生的英语成绩已存放在AL寄存器中,如果分数低于60分,则打印F,如高于等于85分,则打印G,否则打印P。这就是一个分支程序。程序框图4.3.2分支程序设计下面介绍一个比较复杂的分支程序,其中也包含了循环程序。例4.37在存储器中以首地址BUF开始存有一串字符,字符串个数用COUNT表示。要求统计数字0~9、字母A~Z和其它字符的个数,并分别将它们的个数存储到NUM开始的3个内存单元中去。在ASCII码表中,数字09的ASCII码为30H~39H,大写

7、字母A~Z的ASCII码为41H~5AH,其余值为其它字符或控制符的ASCII码值。可以将ASCII码分成5个部分或5个分支来处理,其示意图如下4.3.2分支程序设计程序框图先从BUF单元取出1个字符的ASCII码,经分支程序判断它属于数字、字母还是其它字符,然后使相应计数器的值+1。数字个数存放在DL中,字母个数存放在DH中。接下来分析第2个数,直至所有字符处理完后,将统计出的个数送入相应存储单元。例4.

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

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

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