导航:首页 > 编程语言 > 汇编程序循环语句

汇编程序循环语句

发布时间:2022-06-01 13:01:03

A. 汇编中LOOP的用法全解

loop通常用作循环处理,语法格式:loop标识。

cou执行loop指令需要两步:

1、(cx)=(cs)-1;

2、cx不为0的时候转到标号出执行,把IP改为标号的偏移地址,为0的时候执行loop下一条指令;

cx一般放循环次数;

格式框架如下:

movcx,循环次数

标号:循环执行的代码

loop标号

(1)汇编程序循环语句扩展阅读

汇编中LOOP的使用

例:

assumecs:code

codesegment

movax,10

movcx,3

A:addax,ax

loopA

movax,4c00h

int21h

codeends

end

addax,ax位置在IP=0006的地址上,执行loopA时看到换成loop0006说明标识“A”编译成addax,ax的地址,这时候要执行我前面说的loop执行的两个步骤,

(cx)=(cx)-1=3-1=2cx为2不为0转到ip=0006执行循环

如果有很多次循环,如1000次,这样单步运行就很烦,这时候可以用g+偏移地址命令直接运行到你想要的指令处或者运行到loop处用p命令直接运行到循环的下一条指令处

B. 汇编语言循环实验,利用循环语句实现以下题目,求汇编代码

;(1) 片内从30H起始的连续10个单元内容送21H,22H,23H....2AH,
; 求和后送40H,
ORG 0000H
MOV R0,#30H
MOV R7,#10
MOV A,#21H
LOOP:
MOV @R0,A
DJNZ R7,LOOP

MOV R0,#30H
MOV R7,#10
MOV A,#00H
LOOP:
ADD A,@R0
DJNZ R7,LOOP
MOV 40H,A
SJMP $
;############################
;(3) 如果看成字来进行5个字的数据加法求和,结果放在40H和41H里面低位低字节,
;高位高字节求和。
ORG 0000H
MOV R0,#30H
MOV R1,#31H
MOV 40H,#00H
MOV 41H,#00H
MOV R7,#5
LOOP:
MOV A,40H
ADD A,@R0
MOV 40H,A
MOV A,41H
ADDC A,@R1
MOV 41H,A
INC R0
INC R0
INC R1
INC R1
DJNZ R7,LOOP
SJMP $

C. 汇编语言中loop指令的含义

功能有二:第一个是在在循环使用时:mov cx,n ;s:。。。。;loop s 使得cx减一,然后继续循环,注意是先减一,若减一后cx为零了,那么就不执行循环了,跳过loop s向下执行。
第二个功能是没有循环,也没有前面的mov cx,n,这时就是判定执行到Loop s前的cx值,若cx为零则忽略Loop s,若cx不为零则继续执行下面的步骤。
总的来说两个功能是一样的,但还是分开理解吧,参悟透了就豁然开朗了

D. 请问汇编中指令MOV CX,0 LOP:LOOP LOP语句循环了多少次,请详细解释一下,谢谢

第一次循环的话指令loop语句的时候 cx-1=0-1=FFFF,这时候CF(状态字中的 进位借位)的值为1。也就是说执行第一次后CX的值为FFFF,然后再次执行LOOP的时候CX继续减1,知道CX再次为0的时候一共执行了FFFFH次,换算成十进制是65536次,这就是你这个程序执行循环的最多次数了

E. 怎么用汇编语言实现for循环

汇编语言实现for循环十分容易,比如51汇编,用DJNZ指令就可以了,举例如下:
C语言:
for(i=0;i<10;i++)a=a+i;
汇编语言:
i equ 30h
m equ 31h
......
mov i,#0
mov m,#0
mov r2,#10
loop:
mov a,i

add a,m

mov m,a

djnz r2,loop

F. 汇编语言循环指令

JC转移的条件是当CF=1
即当排在它前面的那一个四则运算是否有进位或借位
使得CF置1时即转移
它是否要进行转移与CX寄存器是无关
如果你想用循环的次数来控制循环的话
那可以用Jcxz指令
把要循环的次数赋给CX的寄存器
然后再用Jcxz语句去判断
当CX的数减至0的时候将会发生跳转

G. 汇编语言,用循环语句编写1到1000的累加和程序

mov cx,1000
mov dx,0
mov ax,0
mov bx,1
next:
add ax,bx
adc dx,0
inc bx
loop next

结果存 DX:AX 中,DX为高16位,AX为低16位,共32位。

以下为DEBUG 调试结果:
C:\>DEBUG
-a
0AF9:0100 mov cx,3e8
0AF9:0103 mov dx,0
0AF9:0106 mov ax,0
0AF9:0109 mov bx,1
0AF9:010C add ax,bx
0AF9:010E adc dx,0
0AF9:0111 inc bx
0AF9:0112 loop 10c
0AF9:0114 int 20
0AF9:0116
-g114

AX=A314 BX=03E9 CX=0000 DX=0007 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0AF9 ES=0AF9 SS=0AF9 CS=0AF9 IP=0114 NV UP EI PL NZ NA PO NC
0AF9:0114 CD20 INT 20
-
结果=7A314(H)=500500(D)

H. 用汇编 写一段完整的源程序,定义一个存储100个字的数组A,并用循环语句将其中的每个元素减1。 求速度解

DATAS SEGMENT
NUM DB 100 DUP(5)
;此处输入数据段代码
DATAS ENDS

STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX

MOV CX,100
LEA BX,NUM
LOD:DEC BYTE PTR[BX]
ADD BX,1
LOOP LOD

;此处输入代码段代码
MOV AH,4CH
INT 21H
CODES ENDS
END START

I. 关于汇编语言中的LOOP指令

这个程序循环一次,是由CX存放的。

cx中存放的是循环的次数

编程计算2^12:

assume cs:code

code segment

mov ax,2

mov cx,11

s:add ax,ax

loop s

mov ax,4c00h

int 21h

code ends

end

执行loop s时,首先要将(cx)减1,若(cx)不为0,则前往s处执行add ax,ax。

CPU执行LOOP指令的时候,要进行两步操作:

1 (cx)=(cx)-1

2 判断cx中的值,不为零则转移到标号处执行程序,如果为零,则向下执行

例1 计算2^2 结果放在AX

CODE SEGMENT

ASSUME CS:CODE

MOV AX,2

ADD AX,AX

MOV AX,4C00H

INT 21H

code ENDS

例2 计算2^3 结果放在AX

CODE SEGMENT

ASSUME CS:CODE

MOV AX,2

ADD AX,AX

ADD AX,AX

MOV AX,4C00H

INT 21H

code ENDS

(9)汇编程序循环语句扩展阅读:

注意:

计算ffff:0-ffff:b单元中的数据之和,结果存储在dx中。

运算后的结果会不会查过dx所可以承受的存储范围。ffff:0-ffff:b是字节型数据,范围在0-255,12个这样的数,即使都是255相加也不会超过65535

不可以直接将数据累加在dx中。因为ffff:0-ffff:b是字节型数据8位,dx中存放16位数据。

不可以直接将数据累加到dl中,因为dl是8位寄存器,所容纳的数据的范围在0-255之间,ffff:0-ffff:b中的数据也都是8位,若仅向dl累加12个8位数据,可能会引起进位丢失的这种情况。

J. 汇编语言loop语句

在汇编语言中,LOOP是循环指令,固定以CX控制循环次数,简化循环程序设计。
该指令书写格式:LOOP
OPR(OPR是程序中的目标地址标号)
该指令执行步骤:(CX)
←(CX)
−1;若(CX)≠0,则循环到标号处执行,否则顺序执行。
程序在使用LOOP指令之前应先将循环次数送入CX中。
例如:
MOV
CX,10;设置循环次数
MOV
AX,1
OPR1:
SHL
AX,1
LOOP
OPR1

阅读全文

与汇编程序循环语句相关的资料

热点内容
我的世界本地服务器默认地址 浏览:131
我的世设置命令方块会闪退 浏览:968
加密媒体怎么输密码 浏览:161
方舟如何删除服务器数据 浏览:600
用阅读app怎么看18 浏览:689
gn文件编译 浏览:783
酷闪加密系统 浏览:820
区块链数据加密 浏览:389
3d命令集 浏览:289
单片机的智能产品工厂里有 浏览:300
事业单位程序员有必要去吗 浏览:583
人工智能训练小鸟python 浏览:132
怎样把两个pdf合并成一个 浏览:681
什么app带仿制图章 浏览:420
单片机CJNE什么意思 浏览:569
廊坊服务器是什么 浏览:763
客户解压要打欠条还是收据 浏览:774
通过app组件启动有什么坏处 浏览:777
不属于国产密码算法 浏览:863
单片机LED显示字库 浏览:355