微机原理第04章3顺序分支循环结构

微机原理第04章3顺序分支循环结构

ID:37767909

大小:333.10 KB

页数:34页

时间:2019-05-30

微机原理第04章3顺序分支循环结构_第1页
微机原理第04章3顺序分支循环结构_第2页
微机原理第04章3顺序分支循环结构_第3页
微机原理第04章3顺序分支循环结构_第4页
微机原理第04章3顺序分支循环结构_第5页
资源描述:

《微机原理第04章3顺序分支循环结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机接口技术 (汇编与接口)第四章汇编语言程序设计3主要内容:汇编语言源程序的结构汇编语言语句格式伪指令功能调用汇编语言程序设计一个完整源程序结构例DSEGSEGMENTDATA1DB1,2,DATA2DW1234HDSEGENDSESEGSEGMENTDB20DUP(?)ESEGENDSSSEGSEGMENTSTACK‘STACK’DB200DUP(?)SSEGENDS一个完整源程序结构例CSEGSEGMENTASSUMECS:CSEG,DS:DSEG,ES:ESEG,SS:SSEGSTART:MOVAX,D

2、SEGMOVDS,AXMOVAX,ESEGMOVES,AX┇movah,4chint21hCSEGENDSENDSTART汇编语言程序设计设计步骤:根据实际问题抽象出数学模型确定算法画程序流程图分配内存工作单元和寄存器程序编码调试第4章:4.3顺序程序设计没有分支、循环等转移指令的程序,会按指令书写的前后顺利依次执行,这就是顺序程序顺序结构是最基本的程序结构完全采用顺序结构编写的程序并不多见例题4.4顺序程序设计实例采用查表法,实现一位16进制数转换为ASCII码显示第4章:例4.4数据段;数据段ASCIIdb3

3、0h,31h,32h,33h,34h,35h,36h,37h,38h,39h;对应0~9的ASCII码db41h,42h,43h,44h,45h,46h;对应A~F的ASCII码hexdb04h,0bh;假设两个数据第4章:例4.4代码段;代码段movbx,offsetASCII;BX指向ASCII码表moval,hex;AL取得一位16进制数;恰好就是ASCII码表中的位移andal,0fh;只有低4位是有效的,高4位清0Xlat;换码:AL←DS:[BX+AL]XLAT第4章:例4.4代码段(续)movdl,

4、al;入口参数:DL←ALmovah,2;02号DOS功能调用int21h;显示一个ASCII码字符moval,hex+1;转换并显示下一个数据andal,0fhxlatmovdl,almovah,2int21hXLAT第4章:4.4分支程序设计分支程序根据条件是真或假决定执行与否判断的条件是各种指令,如CMP、TEST等执行后形成的状态标志转移指令Jcc和JMP可以实现分支控制分支结构有单分支结构双分支结构多分支结构第4章:单分支结构条件成立跳转,否则顺序执行分支语句体注意选择正确的条件转移指令和转移目标地址实

5、例:求绝对值第4章:计算AX中有符号数的绝对值cmpax,0jgenonneg;条件满足(AX≥0),转移negax;条件不满足,求补nonneg:movresult,ax;条件满足;不恰当的分支cmpax,0jlyesneg;条件满足(AX<0),转移jmpnonnegyesneg:negax;条件不满足,求补nonneg:movresult,ax;条件满足第4章:双分支结构条件成立跳转执行第2个分支语句体,否则顺序执行第1个分支语句体注意第1个分支体后一定要有一个JMP指令跳到第2个分支体后实例:显示BX的最

6、高位第4章:显示BX的最高位(双)shlbx,1;BX最高位移入CF标志jcone;CF=1,即最高位为1,转移movdl,30h;CF=0,即最高位为0:DL←30H=‘0’jmptwo;一定要跳过另一个分支体one:movdl,31h;DL←31H=‘1’two:movah,2int21h;显示可以用JNC替换JC4章:显示BX的最高位(双)shlbx,1;BX最高位移入CF标志jncone;CF=0,即最高位为0,转移movdl,31h;CF=1,即最高位为1:DL←31H=‘1’jmptwo;一定要跳过另

7、一个分支体one:movdl,30h;DL←30H=‘0’two:movah,2int21h;显示4章:显示BX的最高位(单支)movdl,’0’;DL←30H=‘0’shlbx,1;BX最高位移入CF标志jnctwo;CF=0,即最高位为0,转移movdl,’1’;CF=1,即最高位为1:DL←31H=‘1’two:movah,2int21h;显示编写分支程序,需留心分支的开始和结束4章:显示BX的最高位(无分支)movdl,0shlbx,1;BX最高位移入CF标志adcdl,30h;CF=0,DL←0+30h

8、+0=30H=‘0’;CF=1,DL←0+30h+1=31H=‘1’two:movah,2int21h;显示分支结构(多分支)试编写程序段,实现符号函数。1X>0Y=0X=0-1X<0程序START:MOVAX,BUFFER;(BUFFER)=XORAX,AXJzZERO;X=0,则转ZEROJNSPLUS;X为正数,则转PLUSMOVBX,0FFFFH;X为负数,则-1

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

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

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