全站数据
8 4 2 0 5 8 1

汇编中LOOP的用法全解

小民看经济 | 简单学习,快乐成才!         
问题更新日期:2024-10-23 16:49:24

问题描述

汇编中LOOP的用法全解,在线求解答
精选答案
最佳答案

loop通常用作循环处理,语法格式:loop标识。cou执行loop指令需要两步:

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

2、cx不为0的时候转到标号出执行,把IP改为标号的偏移地址,为0的时候执行loop下一条指令;cx一般放循环次数;格式框架如下:movcx,循环次数标号:循环执行的代码loop标号扩展资料汇编中LOOP的使用例:assumecs:codecodesegmentmovax,10movcx,3A:addax,axloopAmovax,4c00hint21hcodeendsendaddax,ax位置在IP=0006的地址上,执行loopA时看到换成loop0006说明标识“A”编译成addax,ax的地址,这时候要执行我前面说的loop执行的两个步骤,(cx)=(cx)-1=3-1=2cx为2不为0转到ip=0006执行循环如果有很多次循环,如1000次,这样单步运行就很烦,这时候可以用g+偏移地址命令直接运行到你想要的指令处或者运行到loop处用p命令直接运行到循环的下一条指令处

其他回答

ORG 0000H

LJMPSTART

ORG 0100H

START:MOV R2,#8

MOV A,#0FEH

LOOP: MOV P1,A

LCALL DELAY

RL A

DJNZ R2,LOOP

LJMP START

DELAY:MOVR5,#20

D1:MOVR6,#20

D2:MOVR7,#248

D3:DJNZ R7,D3

DJNZ R6,D2

DJNZ R5,D1

RET