《实验五顺序分支结构程序设计幻灯片.ppt》由会员分享,可在线阅读,更多相关《实验五顺序分支结构程序设计幻灯片.ppt(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验五五顺序分支序分支结构程序构程序设计第1页,共10页,编辑于2022年,星期五2分支结构 程序中出现二中选一的分支称为二路分支,三中选一的分支称为三路分支,还有四中选一,N 中选一称为多路分支。实现分支的要素有两点:(1)使用能影响状态标志的指令,如算术逻辑运算类指令、移位指令和位测试指令等,将状态标志设置为能正确反映条件成立与否的状态。(2)使用条件转移类指令对状态位进行测试判断,确定程序如何转移,形成分支。实验内容与步骤实验内容与步骤 1 已知字节变量 X,Y 存放于 VARX,VARY 存储单元中,利用公式求 Z的值,并将结果存放于 RESULT 存储单元中。公式:Z=(X+Y)*8
2、-X)/2。参考程序如下:(程序名:SY5-1.ASM)data SEGMENT varx DW 0006h vary DW 0007h result DW?data ENDS code SEGMENT ASSUME CS:code,DS:data start:MOV AX,data MOV DS,AX 第2页,共10页,编辑于2022年,星期五MOV AX,varx;AX-XADD AX,vary;AX-X+Y MOV CL,3 SAL AX,CL;AX-(X+Y)*8 SUB AX,varx;DL-(X+Y)*8-X SAR AX,1;DL 0_ _0_当_x=0_-1_当_x0_ (1)
3、编程提示:首先将原始数据装入起始地址为_XX_的字节存储单元中。将判断结果以字符串的形式存放在数据区中,以便在显示输出时调用。其中判断部分可采用_CMP_指令,得到一个分支结构,分别输出“y=0”,_“y=1”,_“y=-1”。程序中存在一个循环结构,循环_6_次,调用6_次分支结构后结束。参考程序如下:(程序名:SY5-2.ASM)data第7页,共10页,编辑于2022年,星期五SEGMENTx DB 5,-4,0,3,100,-51 A1DB 1,13,10,$A2 DB 0,13,10,$A3 DB-1,13,10,$data ENDS code SEGMENT main PROC F
4、AR ASSUME CS:code,DS:data start:PUSHDS MOVAX,0 PUSHAX MOVAX,data MOVDS,AX LEASI,x MOVCX,06h again:MOVAL,SI 第8页,共10页,编辑于2022年,星期五CMPAL,0 JGE LOOP1LEADX,A3 JMP NEXT LOOP1:JE LOOP2 LEADX,A1 JMP NEXT LOOP2:LEADX,A2 NEXT:MOVAH,09h INT 21hINCSI DECCX JNE again RET mainENDP code ENDS END start 第9页,共10页,编辑于
5、2022年,星期五(2)输入程序并检查无误、经汇编、连接后产生正确的可执行文件 SY5-2.EXE。(3)用 DEBUG 的 U 命令查看 MOV AX,XXXX(DATA)语句,即得到数据段基址 DS:XXXX。(4)用 G 命令运行以上程序,记录显示结果,对照数据比较结果是否正确。实验注意事项实验注意事项 1程序 2的调试方法与程序 1 相同。2程序2 中 CMP AL,0 指令可用 SUB AL,AL或 AND AL,AL 或OR AL,AL替换,效果是一样的。实验与思考实验与思考 1编写一个程序,在屏幕上输出一个大写字母”A”。2编写程序,将_BX与_DX中较大的一个无符号数放到_AX_中。第10页,共10页,编辑于2022年,星期五