汇编语言程序设计第8章80868088分支程序设计.ppt
《汇编语言程序设计第8章80868088分支程序设计.ppt》由会员分享,可在线阅读,更多相关《汇编语言程序设计第8章80868088分支程序设计.ppt(26页珍藏版)》请在三一办公上搜索。
1、2023/9/12,第1章 汇编语言基础知识 8章分支程序设计,1,8086/8088和ARM核汇编语言程序设计,第8章 分支程序设计,2023/9/12,第1章 汇编语言基础知识 8章分支程序设计,2,8.1 分支程序的结构形式,8.2 分支结构程序设计,第8章 分支程序设计,2023/9/12,第1章 汇编语言基础知识 8章分支程序设计,3,掌握分支程序设计方法熟悉常见程序设计问题:数据范围判断(09、AZ、az)、字母大小写转换、;,教学要求,2023/9/12,第1章 汇编语言基础知识 8章分支程序设计,4,8.1 分支程序的结构形式,分支程序结构是根据条件转向不同程序分支的结果,有3
2、种形式:单分支、双分支结构和多分支结构。,2023/9/12,第1章 汇编语言基础知识 8章分支程序设计,5,8.1 分支程序的结构形式,2023/9/12,第1章 汇编语言基础知识 8章分支程序设计,6,8.2 分支结构程序设计,分支程序设计首先要在分析实际问题的基础上确定若干个程序分支,然后在此基础上选用条件转移指令、或者是选用间接寻址无条件转移来转向不同的程序分支。前者是测试法分支程序设计,后者是跳跃表法分支程序设计。,分支程序根据条件是真或假决定执行与否判断的条件是各种指令,如CMP、TEST等执行后形成的状态标志转移指令Jcc和JMP可以实现分支控制,2023/9/12,第1章 汇编
3、语言基础知识 8章分支程序设计,7,8.2 分支结构程序设计,分支结构是有若干个条件,每一个条件对应一个基本操作。分支程序就是判断产生的条件,哪个条件成立,就执行哪个条件对应操作的程序段。也就是说,从若干分支中选择一个分支执行。,8.2.1 测试法分支程序设计,例8.1 已知在内存中有一个字节单元NUM,存有带符号数据,要求计算出它的绝对值后,放入RESULT单元中。,2023/9/12,第1章 汇编语言基础知识 8章分支程序设计,8,8.2 分支结构程序设计,8.2.1 测试法分支程序设计,程序清单:,DATA SEGMENT X DB-25 RESULT DB?DATA ENDSCODE
4、SEGMENT ASSUME DS:DATA,CS:CODESTART:MOVAX,DATA MOVDS,AX;初始化 MOVAL,X;X取到AL中 TESTAL,80H;测试AL正负 JZNEXT;为正,转NEXT NEGAL;否则AL求补NEXT:MOVRESULT,AL;送结果 MOVAH,4CH INT21H;返回DOSCODE ENDS END START;汇编结束,2023/9/12,第1章 汇编语言基础知识 8章分支程序设计,9,8.2 分支结构程序设计,8.2.1 测试法分支程序设计,例8.2 试编一程序,求三个带符号字数据中的最大值,并将最大值存入MAX字单元中。设三个带符号
5、数分别在三个字变量X、Y、Z中存储。,2023/9/12,第1章 汇编语言基础知识 8章分支程序设计,10,8.2 分支结构程序设计,8.2.1 测试法分支程序设计,DATA SEGMENT X DW-0ABH Y DW 205 Z DW 200 MAX DW?DATA ENDS,CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX MOV AX,X CMP AX,Y JGE L1 MOV AX,Y L1:CMP AX,Z JGE EXIT MOV AX,Z EXIT:MOV MAX,AX MOV AH,4CH INT
6、21HCODE ENDS END START,2023/9/12,第1章 汇编语言基础知识 8章分支程序设计,11,第十五讲,1、阅读下列程序段,程序执行到HLT时,(AX)=(),(BX)=()。(4分)xor ax,ax mov bx,1 mov cx,5lop:add ax,bx inc bx loop lophlt,0FH或15,6,2023/9/12,第1章 汇编语言基础知识 8章分支程序设计,12,2、试分析下列程序段,程序执行后,num2字节单元的内容是什么?如果num1字节单元的值为39h,运行后,num2字节单元的内容又是什么?由此说明程序完成了什么操作。(6分)data s
7、egment num1 db 41h num2 db?data endsCode segment assume cs:code,ds:data start:mov ax,data mov ds,ax mov ah,num1,cmp ah,39h Jbe next sub ah,7next:sub ah,30h mov num2,ah mov ah,4ch int 21hcode ends end start,0AH,09H,此程序可将num1字节单元中的ascii字符09,AF转换成十六进制数09,AF,2023/9/12,第1章 汇编语言基础知识 8章分支程序设计,13,3、下列程序完成将B
8、X寄存器的数值以十六进制显示输出,完成程序填空。(6分)code segment assume(1)start:mov bx,0DA12H mov ch,4 rotate:mov cl,4;设置移位指令的移位次数rol bx,cl mov al,bland al,0FH;取BX寄存器的高四位 add al,(2);将十六进制数值转换成对应的ASCII码cmp al,3ahjl printitadd al,(3);处理十六进制数A-F,printit:mov DL,al;调用系统功能,显示一位十六进制数对应的字符 Mov ah,(4)int 21h dec ch;循环次数-1 jnz rotat
9、e;处理BX后续四位二进制位 mov ah,4CH int(5)code ends end(6),cs:code,30H,07H,02,21H,start,2023/9/12,第1章 汇编语言基础知识 8章分支程序设计,14,8.2 分支结构程序设计,8.2.2 跳跃表法,例8.3 设某程序有8路分支,试根据给定的N值(18),将程序的执行转移到其中的一路分支。,2023/9/12,第1章 汇编语言基础知识 8章分支程序设计,15,8.2 分支结构程序设计,8.2.2 跳跃表法,DATA SEGMENT TAB DW P1,P2,P3,P4,P5,P6,P7,P8 N DB 5DATA END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计 80868088 分支

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