INC_AX: 是回圈程式段入口标号,
回圈体有2条指令:
NOP 是空操作,即“原地踏一步”,
INC AX 功能是 AX内容加1
.
LOOP INC_AX 功能是转移INC_AX处回圈执行,
每回圈一次,CX自动减1,至CX递减至0 则回圈结束。
微机原理程式设计中nop汇编指令的用法:
占用一个位元组的程式储存空间,产生微小延迟,常用来做程式码地址对齐。
1、占用一个位元组的程式储存空间:
这是在对微机与微控制器进行汇编指令指令程式设计时常用的手法,例如,为了刻意使某个程式段在一个特定的地址开始,或在某个程式段中删除了一些指令而还刻意要求地址不变,基于这些的需求,通常是应用NOP指令汇编指令来充填空闲的地址。
对于S7-STL程式语言来讲,通常是应用NOP指令汇编指令来充填被删除的指令的位置,以便留言痕迹,以便备查。通常的做法是,在删除的指令的位置写为NOP指令,重要的是在其注释之处写上原指令,留有备忘的痕迹。
2、产生微小延迟:
这是在微机与微控制器进行汇编指令指令程式设计时常用的手法,微机与微控制器的程式设计并非是周期扫描的执行机制,例如,在读取某个外围通道输入值时,先发出一个请求命令,带一定延时后,再读其数值,通常是应用NOP指令来进行延时。
对于西门子PLC来讲,其执行程式的机制是周期扫描,NOP指令只是起到占用周期扫描时间的作用,对于那些已固定了扫描周期时间的PLC而言,是没有意义的。
3、常用来做程式码地址对齐:
这个纯粹是对与对微机与微控制器进行汇编指令指令程式设计来讲的。这与上述的1、占用一个位元组的程式储存空间的作用相同,,即汇编编译后生成机器程式码的效果。
将data对应的RAM单元所存贮的值传送到A中
将暂存器DX的内容送入累加器AX
disp 是有显示功能的子程式名或某段程式的入口标号。
下例中的 disp 是子程式名:
disp PROC NEAR
ADD AL, 30H
MOV DL, AL
MOV AH, 2
INT 21H
RET
另一例中的 disp 是程式段入口标号:
cseg segment
assume cs:cseg,ds:cseg
msg db "Hello ! $"
200h
start: mov al,02
mov ah,0
int 10h
mov dh,12
mov dl,36
mov ah,2
int 10h
disp: mov dx,seg msg
mov ds,dx
mov dx,offset msg
mov ah,9
int 21h
mov ah,4ch
int 21h
cseg ends
end start
XCHG AL,[DI]
这个里面是把目的串指标DI所指向的资料与AL的值交换;
XCHG SI, DI
这里是把源串指标SI所指的地址与目的串指标DI所指的地址交换,这样就间接完成资料的交换。
希望采纳哦
OR 是 逻辑 “或” 指令。 目的运算元和源运算元按位进行或运算,结果送回目的运算元。 OR DST,SRC
$是用来表示程式计数器的当前值,这个符号最常出现在转移指令中
当前地址指标也叫当前地址暂存器