- 2
- 0
- 约 2页
- 2017-06-08 发布于重庆
- 举报
分支程序设计3
分支程序的设计
1.分支程序是依据判断条件是否满足来改变程序流向的程序。
2.实现程序分支的语句:
①比较语句
A.无符号数与有符号数的比较语句都用:
CMP DST,SRC
B.字符串比较语句:
CMPSB或CMPSW
C.逻辑比较语句:
TEST DST,SRC
D.有比较作用的其它语句:
运算语句以及移位语句一般都产生标志位, 因此这些语句除完成主要操作之外还起不到比较语句的作用,可跟随一条件转移语句来识别相应标志位,实现程序的分支。
②条件转移语句:
条件转移语句都是段内的短转移,即转移语句与转向语句之间最大距离为+127或-128字节。超出范围则引起语法错误,但可借助无条件转移语句来实现。分为:全等识别、有符号识别 大于、小于 、无符号数识别 高于、低于 、其它识别 进位、溢出、奇偶、正负符号、计数零 。
③无条件转移语句
相当于高级语言中的GOTO语句,可以转移到任何程序 代码段 的任何一个语句,分为:段内直接、段内间接、段间直接和段间间接。
3.分支程序设计举例:
①问题:判断键入字符是否为数字,直到输入字符’$’结束输入。并将输入的数字存入到变量NUMBER中,最后将变量NUMBER中的一串数字输出到屏幕上(输出Y的个数和数字的个数相同。)
②分析及算法:根据字符的ASCII编码是否在30H-39H之间做出判断。
4.源程序清单
NAME ZMSZ.ASM
DATA11 SEGMENT ;数据段定义
NUMBER DB 100 DUP DATA11 ENDS
SEEG SEGMENT STACK STACK ;堆栈段定义
STA DW 100 DUP SSEG ENDS ;堆栈段定义结束
LAA SEGMENT CODE ;代码段定义
ASSUME CS:LAA,SSEG:SS,DS:DATA1
START: MOV AX,DATA1 ;段寄存器装填 MOV DS,AX XOR BX,BX MOV SI,0
LA1: MOV AH,07H ;这两条语句完成从键盘输入一个字符,
INT 21H ;字符的ASCII码值存入AL寄存器
CMP AL, $
JZ LA4
COMP AL,30H
JB LA3
COMP AL,39H
JA LA3
MOV NUMBER[BX],AL INC BX LA2: MOV AH,02H ;这两条语句完成从屏幕输出一个字符,
INT 21H ;字符的ASCII码值预先存入DL寄存器
JMP LA1
LA3: MOV DL, N JMP LA2
LA4: MOV DL,10 ;以下6条语句完成从屏幕输出回车换行
MOV AH,02H MOV DL,13
MOV AH,02H INT 21H LA5: MOV DL,NUMBER[SI] MOV AH,02H ;这两条语句完成从屏幕输出一个字符,
INT 21H ;字符的ASCII码值预先存入DL寄存器 INC SI
COMP BX, SI
JNZ LA5
MOV AH,4CH
INT 2lH
LAA ENDS
ENDS STRAT
5.上机编辑、汇编、连接形成.exe文件。
6.在DOS下执行并输入数字或字母来检验程序的正确性。
您可能关注的文档
- 农民精神文化生活现状调查.doc
- 农民自建房屋劳务用工的法律风险.doc
- 农用杀虫灯的功能特点和技术参数.docx
- 冬季传染病的防治.doc
- 冬季养鸡高产的环境因素.doc
- 冬季宝宝感冒应对方案.doc
- 冬季心血管病防治知识.doc
- 冬季施工方案胜利花苑47楼工程.doc
- 冬瓜专用肥料配方及详细技术资料(16-07-07-YJZ20型).doc
- 冬泳的二十好处与注意事项.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)