汇川编程软件怎样输写CJ指令

汇川编程软件怎样输写CJ指令,第1张

在跳转到的地方前面加程序标号。

CJ是条件跳转指令,(功能号是FNC00Pxx,Pxx是程序指针标志,在要跳转到的地方前面加程序标号,标号任选P0到P127),软件直接输入cj空格Pxx,当CJ的执行条件满足时,会直接跳转到你的Pxx处,从这里执行向下的扫描,缩短程序的执行周期。

AutoShop是汇川plc编程软件,它支持三种常用的语言:梯形图(LD),指令列表(IL)和顺序功能图(SFC),跟三菱plc编程软件相似,有需要的用户不要错过。

DATA SEGMENT 数据段开始

DA1 DB 2,-3,-4,-5,34,-4,0,3,4,24 第一个变量da1 为字节类型db

COUNT EQU $-DA1 count是一个常量因为用了equ 其值为$-da1,后面会解释

NUM DB

num是变量名 类型是db也就是字节 其内容未知所以用了问号

DATA ENDS 代表数据段结束

以上是数据段定义

代码段开始

COSEG SEGMENT

ASSUME CS:COSEG,DS:DATA 将各个段的首址放入对应的段寄存器

ST: MOV AX,DATA st代表一个标号,也就是这一段程序的开始意思为start 这个标号可以随意在汇编语言中如果出现冒号,则冒号前的字符串就是程序的标号

mov ax,data 意思是将数据段的首地址放入ax中

MOV DS,AX mov ds,ax 就是将ax的内容放入数据段寄存器ds中由于段寄存只能进行16位的读写,因此需要用ax来倒一下

MOV SI,OFFSET DA1 将变量da1的偏移地址放入寄存器si中

MOV CX,COUNT-1 count=$-da1 其中$为 以da1为首址的数据段结束之后的下一个地址而da1是这个数据段的首地址

也就是2的地址,count-1就计算了da1这段数据的字节数,由于每个数据都是字节类型,它实际代表的是以从2开始的数据个数

XOR BL,BL xor代表异或运算,bl内的值和bl自身做异或一定是等于一的

EXCHG: MOV AL,[SI] exchg是一个标号,这一句是将si中的内容所指向的单元的数据放入al,也就是将2放入al中

XOR AL,[SI+1] si中的内容所指向的单元的下一个单元中的数据与al做异或 实际就是相邻两个数作异或了在第一次循环时是2与-3异或00000010和11111101结果是0xff,放入al

TEST AL,80H test的功能是将两个数相与,但不进行赋值 *** 作,这里是将al中的数与0x80相与,结果不为零

JE NEXT je代表为零跳转,上一步 *** 作不为零,因此不跳到next而去执行inc bl

INC BL inc代表自增,将bl的内容自增,bl内容从0增到1

NEXT: INC SI si的内容自增,在下一次循环中[si]的内容将会是-3而不是2,因为si的内容增了1,相当于指针的自增 *** 作,指向下一个单元

LOOP EXCHG loop的意思是如果cx中的内容不为零则跳转到标号处,标号是exchg则跳入exchg

MOV NUM,BL 当cx变为零的时候,也就是当遍历了da1为首址的数据段后 终止循环,将bl的值送入num中,num 是前面数据段定义的一个变量

例行公事,终止这段汇编指令,通过21h号中断实现

MOV AX,4C00H

INT 21H

COSEG ENDS 代码段结束

END ST st标号结束

以上就是关于汇川编程软件怎样输写CJ指令全部的内容,包括:汇川编程软件怎样输写CJ指令、mov si,offset y什么意思啊、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9677326.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存