汇编语言的程序设计方法(循环结构和分支结构)
【摘要】
汇编语言中常见的形式有:顺序程序设计,分支程序设计,循环程序设计以及子程序设计 今天通过实例来详细说明分支程序设计,和循环程序设计 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)