汇编语言IBM-PC第5章.ppt
《汇编语言IBM-PC第5章.ppt》由会员分享,可在线阅读,更多相关《汇编语言IBM-PC第5章.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4章作业章作业 Page 156:4.4、4.6、4.9、4.13、4.17 第第4 4章教学要求章教学要求1.掌握完整段定义源程序格式掌握完整段定义源程序格式2.掌握常量表达、变量定义及应用、变量和标号的属性及操作符掌握常量表达、变量定义及应用、变量和标号的属性及操作符3.掌握基本伪指令和操作符:掌握基本伪指令和操作符:EQU;*/;DBDWDD、?、?DUP;ORG$、OFFSETSEGPTR;.MODEL.STACK.DATA.CODEEND;PROC/ENDP4.掌握汇编语言源程序的编辑、汇编、连接和调试的开发方法掌握汇编语言源程序的编辑、汇编、连接和调试的开发方法第第5章章 循环
2、与分支程序设计循环与分支程序设计 5.1 循环程序设计循环程序设计 5.2 分支程序设计分支程序设计掌握基本的顺序、分支、循环设计方法掌握基本的顺序、分支、循环设计方法熟悉常见程序设计问题:熟悉常见程序设计问题:多多精精度度运运算算,查查表表(查查代代码码、特特定定值值等等);数数据据范范围围判判断断(09、AZ、az)、字字母母大大小小写写转转换换;字字符符串串传传送送、比比较较等等操操作作、求求最最小小最最大大值、数据求和、统计字符个数值、数据求和、统计字符个数教学要求教学要求编制汇编语言程序的步骤:编制汇编语言程序的步骤:(1)分析题意,确定算法分析题意,确定算法(2)根据算法画出程序框
3、图根据算法画出程序框图(3)根据框图编写程序根据框图编写程序(4)上机调试程序上机调试程序分支结构分支结构 子程序结构子程序结构程序结构:程序结构:复合结构:多种程序结构的组合复合结构:多种程序结构的组合 顺序结构顺序结构 循环结构循环结构第第5章:章:顺序程序设计顺序程序设计没没有有分分支支、循循环环等等转转移移指指令令的的程程序序,会会按按指指令令书书写写的的前前后后顺顺利利依依次次执执行行,这这就就是是顺顺序程序序程序顺序结构是最基本的程序结构顺序结构是最基本的程序结构完全采用顺序结构编写的程序并不多见完全采用顺序结构编写的程序并不多见例题例题5.1:顺序程序设计实例顺序程序设计实例采用
4、查表法,实现一位采用查表法,实现一位16进制数进制数转换为转换为ASCII码显示码显示第第5章:例章:例5.1:采用查表法,实现一位采用查表法,实现一位16进制数转换为进制数转换为ASCII码显示码显示;数据段数据段ASCIIdb 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h;对应;对应0 9的的ASCII码码db 41h,42h,43h,44h,45h,46h;对应;对应A F的的ASCII码码hexdb 04h,0bh;假设两个数据;假设两个数据;代码段代码段mov bx,offset ASCII;BX指向指向ASCII码表码表mov al,hex ;AL
5、取得一位取得一位16进制数进制数 ;恰好就是;恰好就是ASCII码表中的位移码表中的位移and al,0fh ;只有低;只有低4位是有效的,高位是有效的,高4位清位清0Xlat ;换码:;换码:ALDS:BXALXLAT第第5章:例章:例5.1:(续)(续)mov dl,al;入口参数:;入口参数:DLALmov ah,2;02号号DOS功能调用功能调用int 21h;显示一个;显示一个ASCII码字符码字符mov al,hex+1;转换并显示下一个数据;转换并显示下一个数据and al,0fhxlatmov dl,almov ah,2int 21hXLAT第第5章:章:5.1 循环程序设计循
6、环程序设计5.1.1 循环程序的结构形式循环程序的结构形式5.1.2 循环程序设计方法循环程序设计方法5.1.3 多重循环程序设计多重循环程序设计第第5章:章:5.1.1 循环程序的结构形式循环程序的结构形式循循环环程程序序结结构构是是满满足足一一定定条条件件的的情情况况下下,重复执行某段程序重复执行某段程序循环结构的程序通常有循环结构的程序通常有3个部分:个部分:循循环环初初始始部部分分为为开开始始循循环环准准备备必必要要的的条条件件,如循环次数、循环体需要的数值等如循环次数、循环体需要的数值等 循循环环体体部部分分指指重重复复执执行行的的程程序序部部分分,其其中中包括对循环条件等的修改程序
7、段包括对循环条件等的修改程序段循循环环控控制制部部分分判判断断循循环环条条件件是是否否成成立立,决决定是否继续循环定是否继续循环第第5章:循环控制章:循环控制循循环环控控制制可可以以在在进进入入循循环环之之前前进进行行,也也可可以在循环体后进行,于是形成两种结构:以在循环体后进行,于是形成两种结构:“先判断、后循环先判断、后循环”结构结构“先循环、后判断先循环、后判断”结构结构循环结构程序循环结构程序的设计关键是循环控制部分的设计关键是循环控制部分循循环环结结束束的的控控制制可可以以用用循循环环次次数数,还还可可以以用特定条件等,于是又有:用特定条件等,于是又有:计数控制循环计数控制循环条件控
8、制循环条件控制循环图示图示DO-WHILE 结构结构 DO-UNTIL 结结构构控制条件控制条件初始化初始化循环体循环体YN控制条件控制条件初始化初始化循环体循环体YN第第5章:章:5.1.2 循环程序设计方法循环程序设计方法计计数数控控制制循循环环利利用用循循环环次次数数作为控制条件作为控制条件易易于于采采用用循循环环指指令令LOOP和和JCXZ实现实现初初始始化化:将将循循环环次次数数或或最最大大循循环次数置入环次数置入CX循环体循环体循循环环控控制制:用用LOOP指指令令对对CX减减1、并判断是否为、并判断是否为01.计数控制循环计数控制循环第第5章:例章:例5.2:用二进制显示用二进制
9、显示BL内容(参例内容(参例3.8)mov cx,8;CX8(循环次数)(循环次数)again:shl bl,1;左移进;左移进CF,从高位开始显示从高位开始显示mov dl,0;MOV指令不改变指令不改变CFadc dl,30h;DL030HCF;CF若是若是0,则,则DL 0;CF若是若是1,则,则DL 1 mov ah,2int 21h;显示;显示loop again;CX减减1,如果,如果CX未减至未减至0,则循环,则循环计数控制循环计数控制循环先循环后判断先循环后判断 BXBX1234例例5.3:把把 BX 中中的的二二进进制制数数以以十十六六进进制制的的形形式式显显示在示在 屏幕上
10、屏幕上 mov ch,4mov ch,4rotate:mov cl,4rotate:mov cl,4 rol bx,cl rol bx,cl mov al,bl mov al,bl and al,0fh and al,0fh add al,30h add al,30h ;09 ASCII 30H39H;09 ASCII 30H39H cmp al,3ah cmp al,3ah jl printit jl printit add al,7h add al,7h ;AF ASCII 41H46H;AF ASCII 41H46Hprintit:mov dl,alprintit:mov dl,al m
11、ov ah,2 mov ah,2 int 21h int 21h dec ch dec ch jnz rotate jnz rotate 第第5章:例章:例5.4:求数组元素的最大值和最小值求数组元素的最大值和最小值;数据段数据段arraydw 10;假设一个数组,其中头个数据;假设一个数组,其中头个数据10表示元素个数表示元素个数dw-3,0,20,900,587,-632,777,234,-34,-56;这是一个有符号字量元素组成的数组;这是一个有符号字量元素组成的数组maxay dw?;存放最大值;存放最大值minay dw?;存放最小值;存放最小值初始化:循环次数元素个数初始化:循环次
12、数元素个数1循环体:逐个比较求最大、小值循环体:逐个比较求最大、小值循环控制:比较完所有数据循环控制:比较完所有数据第第5章:例章:例5.4:代码段代码段;代码段;代码段lea si,arraymov cx,si;取得元素个数;取得元素个数dec cx;减;减1后是循环次数后是循环次数add si,2mov ax,si;取出第一个元素给;取出第一个元素给AX,AX用于暂存最大值用于暂存最大值mov bx,ax;取出第一个元素给;取出第一个元素给BX,BX用于暂存最小值用于暂存最小值初始化第第5章:例章:例5.4:代码段(续)代码段(续)maxck:add si,2cmp si,ax;与下一个数
13、据比较;与下一个数据比较jle minckmov ax,si;AX取得更大的数据取得更大的数据jmp nextminck:cmp si,bxjge nextmov bx,si;BX取得更小的数据取得更小的数据next:loop maxck;计数循环;计数循环mov maxay,ax;保存最大值;保存最大值mov minay,bx;保存最小值;保存最小值循环体第第5章:章:2.条件控制循环条件控制循环条条件件控控制制循循环环需需要要利利用用特特定定条条件件判判断循环是否结束断循环是否结束条条件件控控制制循循环环用用条条件件转转移移指指令令判判断断循环条件循环条件转转移移指指令令可可以以指指定定目
14、目的的标标号号来来改改变变程程序序的的运运行行顺顺序序,如如果果目目的的标标号号指指向向一一个个重重复复执执行行的的语语句句体体的的开开始始或或结束,便构成了循环控制结构结束,便构成了循环控制结构第第5章:例章:例5.5:显示以显示以0结尾的字符串结尾的字符串;数据段;数据段string db Let us have a try!,0;代码段;代码段mov bx,offset stringagain:mov dl,bxcmp dl,0jz done;为;为0结束结束mov ah,2;不为;不为0,显示,显示int 21hinc bx;指向下一个字符;指向下一个字符jmp againdone:条
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 IBM PC
限制150内