汇编语言的程序设计方法(循环结构和分支结构)

举报
坚果派 发表于 2021/12/16 00:21:15 2021/12/16
【摘要】 汇编语言中常见的形式有:顺序程序设计,分支程序设计,循环程序设计以及子程序设计 今天通过实例来详细说明分支程序设计,和循环程序设计 1.分支程序设计 根据不同的条件做出不同的处理,把不同的方法编织成各自的...

汇编语言中常见的形式有:顺序程序设计,分支程序设计,循环程序设计以及子程序设计
今天通过实例来详细说明分支程序设计,和循环程序设计
1.分支程序设计
根据不同的条件做出不同的处理,把不同的方法编织成各自的处理程序段,运行时由机器根据不同的条件自动做出选择判断。绕过某些指令,仅执行相应的处理程序段。按这种方法处理成为分支结构。
分支程序是机器利用改变标志位的指令和转移指令来实现的。
分支程序设计实例
给定以下符号函数:
在这里插入图片描述

给定X值,假设为-25,且存放于X单元,函数值Y存放于Y于单元,根据给定的X值确定Y得值
程序如下





DATAX    SEGMENT
 x  DB-25
 y DB?
 DATAX     ENDS
 CODEX   SEGMENT
 	MAIN 	PROC 	FAR
 		ASSUME CS:CODEX, DS:DATAX
 	START:	PUSH 	DS
 			MOV	 AX,	0
 			PUSH 	AX
 			MOV	AX,	DATAX
 			MOV	DS,	AX
 			MOV	AL,	x
 			CMP	AL,	0
 			JGE 	LOOP1
 			MOV	AL,	OFFH
 			MOV	y,	AL
 			RET
 		LOOP1:	JE	LOOP2
 			MOV	AL,	1
 			MOV	Y,	AL
 			RET
 		LOOP2:	MOV	AL,	0
 			MOV	y,	AL
 			RET
 		MAIN 	ENDP
 	CODEX 	ENDS
 		END	START



  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

2.循环程序设计
(1)计数控制循环(限于循环次数已知)
该方法简单直观易于程序设计
(2)用条件控制循环
无法确定循环次数的时候用该方法
下面通过实例讲解

 	


DATAS	SEGMENT
 	n	DW?
 	sum	DW?
 	DATAS	ENDS
 	CODES 	SEGMENT
 		MAIN	PROC	FAR
 			ASSUME	CS:	CODES,	DS:	DATAS
 		START:	PUSH	DS
 			MOV	AX,	0
 			PUSH	AX
 			MOV	AX,	DATAS
 			MOV	DS,	AX
 			MOV	AX,	0
 			MOV	BX,	0
 			MOV	CX,	0
 		LOOPT: 	INC 	BX
 			ADD	AX,	BX
 			INC	CX
 			CMP 	AX.	1000
 			JBE	LOORT
 			MOV	n,	CX
 			MOV	sum,	AX
 			RET
 		MAIN 	ENDP
 		CODES	ENDS
 			END	START
  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

问渠哪得清如许?为有源头活水来!
持续不断地输入,才会厚积薄发!
有遗漏的地方大家指正。一定第一时间修改!

文章来源: jianguo.blog.csdn.net,作者:坚果前端の博客,版权归原作者所有,如需转载,请联系作者。

原文链接:jianguo.blog.csdn.net/article/details/103223588

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。