教学课件PPT循环与分支程序设计.ppt
《教学课件PPT循环与分支程序设计.ppt》由会员分享,可在线阅读,更多相关《教学课件PPT循环与分支程序设计.ppt(28页珍藏版)》请在三一办公上搜索。
1、1,第五章 顺序、循环与分支程序设计,5.1 顺序程序设计5.2 循环程序设计5.3 分支程序设计,2,顺序程序完全按指令书写的前后顺序执行每一条指令,是最基本、最常见的程序结构。,5.1 顺序程序设计,例5.1,例5.2,3,例5.1,Data segment X dw 33 Y dw 47 Z dw 65 W dw?Data endsCode segment assume cs:code,assume ds:dataBegin:mov ax,Xadd ax,Yadc ax,Zmov W,axmov ah,4ch int 21hCode ends end Begin,4,例5.2,qvard
2、q 1234567887654321h,mov al,byte ptr qvar6mov byte ptr qvar7,almov al,byte ptr qvar5mov byte ptr qvar6,almov al,byte ptr qvar4mov byte ptr qvar5,almov al,byte ptr qvar3mov byte ptr qvar4,al,mov al,byte ptr qvar2mov byte ptr qvar3,almov al,byte ptr qvar1mov byte ptr qvar2,almov al,byte ptr qvar0mov by
3、te ptr qvar1,almov byte ptr qvar0,0,12 34 56 78 87 65 43 21h,34 56 78 87 65 43 21 00h,移位后,图示,5,例5.2 64位数据左移8位的图示,12,34,56,78,87,65,43,21,00,qvar0,qvar1,qvar2,qvar3,qvar4,qvar5,qvar6,qvar7,6,循环结构一般是根据某一条件判断为真或假来确定是否重复执行循环体。循环指令和转移指令可以实现循环控制,5.2 循环程序设计,循环指令LOOPE:例5.4,转移指令:例5.5,多重循环:例5.6,循环指令LOOP:例5.3,
4、7,.model small.stack 256.data sum dw?.codebegin:mov ax,data mov ds,ax xor ax,ax;被加数AX清0mov cx,100 again:add ax,cx;loop againmov sum,ax;将累加和送入指定单元mov ah,4ch int 21hend begin,例5.3 计算1100数字之和,循环次数固定,8,begin:mov ax,wordX;测试目标送AXmov cx,16;循环计数器置初值mov dl,-1;计位器置初值again:inc dltest ax,1ror ax,1;循环指令不影响ZFloo
5、pe again;CX0且ZF=1(测试位为0);继续循环je notfoundmov byteY,dljmp donenotfound:mov byteY,-1;ZF=1,测试目标的16个位均为0done:mov ah,4ch int 21h,例5.4 确定wordX中1的最低位数,最大循环次数固定,满足条件退出。,9,Begin:mov bx,offset stringagain:mov al,bx;取一个字符or al,al;是否为结尾符0jz done;是,退出循环cmp al,A;是否为大写AZjb nextcmp al,Zja nextor al,20h;是,转换为小写字母(使D5
6、=1)mov bx,al;仍保存在原位置next:inc bxjmp again;继续循环done:mov ah,4ch int 21h,例5.5 大写字母改为小写字母,循环次数不定,利用标志退出。,10,mov cx,count;CX数组元素个数dec cx;元素个数减1为外循环次数outlp:mov dx,cx;DX内循环次数mov bx,offset arrayinlp:mov al,bx;取前一个元素cmp al,bx+1;与后一个元素比较jna next;前一个不大于后一个元素,则不进行交换xchg al,bx+1;否则,进行交换mov bx,alnext:inc bx;下一对元素d
7、ec dxjnz inlp;内循环尾loop outlp;外循环尾,例5.6 对数组元素排序:冒泡法,双重循环,内循环含分支,11,“冒泡法”是一种排序算法,不是最优的算法,但它易于理解和实现。冒泡法从第一个元素开始,依次对相邻的两个元素进行比较,使前一个元素不大于后一个元素;将所有元素比较完之后,最大的元素排到了最后;然后,除掉最后一个元素之外的元素依上述方法再进行比较,得到次大的元素排在后面;如此重复,直至完成就实现元素从小到大的排序。这是一个双重循环程序结构。外循环由于循环次数已知,可用loop指令实现;而内循环次数每次外循环后减少一次,我们用DX表示。内循环体比较两个元素大小,又是一个
8、分支结构。,冒泡法,12,例5.7 把BX中的二进制数以十六进制的形式显示在屏幕上。,13,mov ch,4rotate:mov cl,4 rol bx,cl mov al,bl and al,0fh add al,30h;0-9 ASCII 30H-39H cmp al,3ah jl printit add al,7h;A-F ASCII 41H-46Hprintit:mov dl,al mov ah,2 int 21h dec ch jnz rotate,14,例5.8 将正数n插入一个已整序的字数组的正确位置。x dw?array_head dw 3,5,15,23,37,49,52,6
9、5,78,99 array_end dw 105 n dw 32 mov ax,n mov array_head-2,0ffffh mov si,0compare:cmp array_endsi,ax jle insert mov bx,array_endsi mov array_endsi+2,bx sub si,2 jmp short compareinsert:mov array_endsi+2,ax,15,例5.9 将首地址为a的字数组从大到小排序(气泡算法,多重循环)a dw 100,30,78,99,15,-1,66,54,189,256 mov cx,10 dec cxloop1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学 课件 PPT 循环 分支 程序设计

链接地址:https://www.31ppt.com/p-2278771.html