1.3-6 数字指令

合集下载

我的世界随机数字1到50之间指令

我的世界随机数字1到50之间指令

我的世界随机数字1到50之间指令(原创版)目录1.我的世界随机数字指令的概述2.随机数字指令的用途3.随机数字指令的语法和参数4.如何使用随机数字指令5.随机数字指令的示例与应用正文【1.我的世界随机数字指令的概述】在我的世界这款游戏中,玩家可以使用指令来实现各种功能,如更改游戏模式、调节难度等。

其中,随机数字指令是一个非常实用的命令,它可以在 1 到 50 之间随机生成一个数字。

这对于游戏中的随机事件、抽奖等场景非常有帮助。

【2.随机数字指令的用途】随机数字指令在我的世界中有很多用途,例如:- 生成随机事件:在游戏中,你可以使用随机数字指令来生成随机事件,给玩家带来更多的惊喜和挑战。

- 抽奖:你可以使用随机数字指令来实现抽奖功能,让玩家在游戏中获得随机奖励。

- 随机选择:当你需要在游戏中进行随机选择时,可以使用随机数字指令来生成一个随机数字,作为选择的依据。

【3.随机数字指令的语法和参数】在我的世界中,随机数字指令的语法为`randint`,后面跟一个 1 到50 之间的整数。

例如,如果你想生成一个 1 到 10 之间的随机数,可以使用`randint 1 10`。

【4.如何使用随机数字指令】要在我的世界中使用随机数字指令,你需要先开启游戏模式,然后使用聊天框输入`randint`和相应的参数。

例如,要生成一个 1 到 50 之间的随机数,你可以输入`randint 1 50`,然后按下回车键。

这样就会在聊天框中显示出一个 1 到 50 之间的随机数字。

【5.随机数字指令的示例与应用】下面是一个使用随机数字指令的简单示例:假设你在我的世界中创建了一个抽奖活动,你想让玩家在 1 到 10 之间随机抽取一个数字作为奖品。

你可以这样做:1.开启游戏模式。

2.在聊天框中输入`randint 1 10`,然后按回车键。

3.聊天框中会显示出一个 1 到 10 之间的随机数字,例如数字7。

4.你可以将数字 7 作为奖品,让玩家来抽取。

汇编语言常用指令汇总持续更新

汇编语言常用指令汇总持续更新

汇编语言常用指令汇总持续更新汇编语言常用指令汇总汇编语言是一种低级编程语言,用于与计算机硬件进行直接交互。

熟悉汇编语言的常用指令对于理解计算机底层原理和进行底层编程非常重要。

本文将对汇编语言常用指令进行汇总,并持续更新。

1. 数据传输指令:- MOV:用于将数据从一个位置复制到另一个位置。

- LXI:用于将双字节立即数加载到指定的寄存器对中。

- LDA:用于将累加器加载到内存地址中的数据。

- STA:用于将累加器中的数据存储到指定的内存地址中。

2. 算术运算指令:- ADD:用于将累加器的内容与给定的寄存器或内存位置中的数据相加。

- SUB:用于从累加器中减去给定的寄存器或内存位置中的数据。

- INR:用于将给定的寄存器或内存位置中的数据增加1。

- DCR:用于将给定的寄存器或内存位置中的数据减少1。

3. 逻辑运算指令:- AND:用于将累加器的内容与给定的寄存器或内存位置中的数据进行逻辑与操作。

- OR:用于将累加器的内容与给定的寄存器或内存位置中的数据进行逻辑或操作。

- XOR:用于将累加器的内容与给定的寄存器或内存位置中的数据进行逻辑异或操作。

- NOT:用于对累加器的内容进行逻辑非操作。

4. 控制指令:- JMP:用于无条件转移到指定的内存地址。

- JZ:在累加器为零时,转移到指定的内存地址。

- JC:在进位标志为1时,转移到指定的内存地址。

- CALL:用于调用子程序。

5. 栈操作指令:- PUSH:用于将给定的寄存器或数据压入栈中。

- POP:从栈中弹出数据并存储到给定的寄存器中。

6. 输入输出指令:- IN:从外部设备读取数据,并存储到累加器中。

- OUT:将累加器中的数据发送到外部设备。

以上仅是汇编语言中常用指令的一小部分,还有许多其他指令可用于执行更复杂的任务。

在实际的汇编语言程序中,这些指令通常会与标签、变量和宏指令一起使用。

总结:汇编语言常用指令汇总了数据传输、算术运算、逻辑运算、控制、栈操作和输入输出等方面的指令。

MUL、IMUL、DIV

MUL、IMUL、DIV

MUL、IMUL、DIV大家好,今天这节课中我们来深入的学习下乘法指令。

乘法指令有两种,一种是有符号整数乘法另一种是无符号整数乘法,今天我们来学习无符号整数乘法。

MUL是进行无符号乘法的指令。

MUL(无符号乘法)指令有三种格式:第一种是将8位的操作数于al相乘。

第二种是将16位的操作数与ax相乘; 第三种是将32位的操作数与eax进行相乘乘数和被乘数大小必须相同,乘积的尺寸是乘数/被乘数大小的两倍。

三种格式都既接受寄存器操作数,也接受内存操作数。

但是不接受立即操作数(这点大家注意下)。

例如:你想将al寄存器中的值乘上2,那么此时你需要将立即数2存放到一个寄存器中,然后通过mul指令相乘,或者将立即数放到一个内存地址中,然后通过内存单元的形式来进行相乘。

举例:mov bl, 2mul bl ;此刻将bl寄存器中的值乘上al寄存器中的值指令中唯一的一个操作数是乘数。

也就是当我们的乘数是8位的时候,则与al相乘,如果我们的乘数是16位则与ax相乘,如果我们的乘数是32位则与eax寄存器相乘。

那么下面我给出mul乘法的相关操作数的实例被乘数乘数积al 8位操作数 axax 16位操作数 dx:axeax 32位操作数 edx:eax因为如果我们的乘数是一个8位操作数的话,我们的结果存在在ax寄存器中。

如果是16位操作数的话,我们的结果存放在dx:ax中。

如果dx不为0,则进位标志置位。

在执行完mul指令后,我们一般要检查下进位标志。

因为我们需要知道乘积的高半部分是否可以安全的忽略。

例如:mov al, 6hmov bl, 10hmul bl此刻我们检查进位标志cf = 0, 那么ah我们就可以将其忽略了,所以结果是60h。

那么我们再来举一个例子:例如:mov ax, 6000mov bx, 5000mul bx我们检查进位标志,此时cf = 1。

那么我们的结果是dx:ax ,此时我们的dx = 1E00, ax = 0000 所以最后我们的积为 1E000000。

数字指令

数字指令

1 1 1 1 1 1 1 0 0 1 1 0 0 0 1 1 整数 -413
- (412 + 1) = - 413
28 27
= = 256+ 128 +
24 23 22
= = = 16+8+ 4 = 412
SIMATIC S7
Siemens AG 1999. All rights reserved.
0,01s <-0,1s <-1s <-10s <--
0 0 1 1
0 1 0 1
时间值: 0 . . . 999
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date: File:
19.03.2019 PRO1_07C.8
Information and Training Center Knowledge for Automation
I0.7 S5T#35s I0.5
Q4.5 MW0 QW6
TV
R
S处的RLO R处的RLO 定时器 操作 Q
例如
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date: File:
19.03.2019 PRO1_07C.9
Information and Training Center Knowledge for Automation
定时器:关断延时 (SF)
LAD
T4 S_OFFDT Q S TV R BI BCD
FBD
T4 S_OFFDT I0.7 S5T#35s I0.5 S BI BCD Q MW0 QW6 Q4.5 =

数学运算指令

数学运算指令

减 整数减法指令
法 指
双整数减法指令
令 实数减法指令
BUCT
可编程控制器原理及应用
减法指令 整数减法指令的梯形图表示
指令标识符SUB_I
使能输入端EN
SUB_I EN ENO IN1 OUT IN2
构 使能输出端ENO 成 源操作数IN1
源操作数IN2
目的操作数地址OUT
BUCT
可编程控制器原理及应用
整数减法指令的语句表表示
操作码-I
构 成
源操作数IN1
目的操作数OUT
-I IN2,OUT
BUCT
可编程控制器原理及应用
整数减法指令的原理
当EN=1时,执行减法操作
SUB_I EN ENO IN1 OUT IN2
把两个单字长(16位)有符号整数IN1和IN2相
原 理
减结果送到输出端OUT指定的存储单元中去, 输出结果为16位
加法指令 整数加法指令的梯形图表示
指令标识符ADD_I
使能输入端EN
ADD_I EN ENO
IN1 OUT IN2
构 使能输出端ENO 成 源操作数IN1
源操作数IN2
目的操作数地址OUT
BUCT
可编程控制器原理及应用
整数加法指令的语句表表示
操作码+I
构 成
源操作数IN1
源操作数IN2
+I IN1,OUT
SM0.0 4000 , VW0 +6000,VW4 VW0,VW4
1 4000 +4000 +6000 +6000 +4000 +2000
可编程控制器原理及应用
整数乘法指令

整数数学运算指令

整数数学运算指令

9.6 SIMATIC整数数学运算指令整数加法和整数减法整数的加法和减法指令把两个 16 位整数相加或相减在 LAD和 FBD 中IN1 + OUT = OUTOUT - IN1 = OUT使 ENO = 0 的错误条件是SM4.3 (运行时间)SM1.0 (零)SM1.2 (负)输入/输出操作数数据类型IN1, IN2 VW, IW, QW, MW, SW, SMW, LW, AIW, T, C, AC, 常数, *VD, *AC,INT*LDOUT VW, IW, QW, MW, SW, SMW, LW, T, C, AC, *VD, *AC, *LD INT双整数加法和双整数减法双整数的加法和减法指令把两个 32 位双整数相加或相减在 LAD和 FBD 中IN1 + OUT = OUTOUT - IN1 = OUT使 ENO = 0 的错误条件是SM4.3 (运行时间)SM1.0 (零)SM1.2 (负)输入/输出操作数数据类型IN1, IN2 VD, ID, QD, MD, SMD, SD, LD, AC, HC, 常数, *VD, *AC, *LD DINTOUT VD, ID, QD, MD, SM, SD, LD, AC, *VD, *AC, *LD DINT整数乘法和整数除法整数乘法指令把两个16位整数相乘整数除法指令把两个16位整数相除不保留余数就置位溢出位IN1 * IN2 = OUTIN1 / IN2 = OUT在 STL中SM1.1 (溢出)0006 (间接寻址)这些指令影响下面的特殊存储器位SM1.1 (溢出) SM1.3 (被 0 除)如果在乘或除的操作过程中 SM1.1 (溢出) 被置位并且所有其它的算术状态位被置为 0ÆäËüµÄËãÊõ״̬λ±£Áô²»±ä·ñÔò输入/输出操作数数据类型IN1, IN2 VW, IW, QW, MW, SW, SMW, LW, AIW, T, C, AC, 常数, *VD, *AC, *LD INTOUT VW, QW, IW, MW, SW, SMW, LW, T, C, AC, *VD, *LD, *AC INT双整数乘法和双整数除法整数乘法指令把两个32位双整数相乘双整数除法指令把两个32位双整数相除不保留余数IN1 * IN2 = OUTIN1 / IN2 = OUT在 STL中SM1.1 (溢出)0006 (间接寻址)这些指令影响下面的特殊存储器位SM1.1 (溢出) SM1.3 (被 0 除)如果在乘或除的操作过程中 SM1.1 (溢出) 被置位并且所有其它的算术状态位被置为 0ÆäËüµÄËãÊõ״̬λ±£Áô²»±ä·ñÔò输入/输出操作数数据类型IN1, IN2 VD, ID, QD, MD, SMD, SD, LD, HC, AC, 常数, *VD, *AC, *LD DINTOUT VD, ID, QD, MD, SMD, SD, LD, AC, *VD, *LD, *AC DINT整数乘法产生双整数和整数除法产生双整数整数乘法产生双整数指令把两个16位整数相乘整数除法产生双整数指令把两个16位整数相除其中16位是余数(最高有效位)在STL乘法指令中在STL乘法指令中在 LAD和 FBD 中IN1 * OUT = OUTOUT / IN1 = OUT使 ENO = 0 的错误条件是SM4.3 (运行时间)SM1.0 (零) SM1.2 (负)ÆäËüµÄËãÊõ״̬λ±£Áô²»±ä·ñÔò输入/输出操作数数据类型IN1, IN2 VW, IW, QW, MW, SW, SMW, LW, AC, AIW, T, C, 常数, *VD, *AC, *LD INTOUT VD, ID, QD, MD, SMD, SD, LD, AC, *VD, *LD, *AC DINT算术运算举例VW102注STL 和 FBD 举例字节增和字节减字节增 (INCB) 或字节减 (DECB) 指令把输入字节 (IN) 加 1 或减1字节增减指令是无符号的IN + 1 = OUTIN - 1 = OUT在STL中SM1.1 (溢出)0006 (间接寻址)这些指令影响下面的特殊存储器位SM1.1 (溢出)输入/输出操作数数据类型IN VB, IB, QB, MB, SB, SMB, LB, AC, 常数, *VD, *AC, *LD BYTEOUT VB, IB, QB, MB, SB, SMB, LB, AC,*VD, *AC, *LD BYTE字增和字减字增 (INCW) 或字减 (DECW) 指令把输入字 (IN) 加1或减1字增减指令是有符号的 (16#7FFF > 16#8000)IN + 1 = OUTIN - 1 = OUT在STL中SM1.1 (溢出)0006 (间接寻址)这些指令影响下面的特殊存储器位SM1.1 (溢出)双字增和双字减字增或双字减指令把输入字 (IN) 加1或减1在 LAD 和 FBD 中在 STL中SM1.1 (溢出)0006 (间接寻址)这些指令影响下面的特殊存储器位SM1.0(零)SM1.2 (负)输入/输出操作数数据类型IN VD, ID, QD, MD, SD, SMD, LD, AC, HC, 常数, *VD, *AC, *LD DINTOUT VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *AC, *LD DINT增减举例DEC_DWENOVD100图 9-26 增/ LAD9.7SIMATIC 实数数学运算指令实数的加减实数的加减指令把两个 32 位实数相加或相减在 LAD 和 FBD 中IN1 + OUT = OUTOUT - IN1 = OUT使 ENO = 0 的错误条件是SM4.3 (运行时间)SM1.0 (零)SM1.2 (负)SM1.1 用来指示溢出错误和非法值SM1.0和 SM1.2 的状态就无效如果 SM1.1 不置位输入/输出操作数数据类型IN1, IN2 VD, ID, QD, MD, SD, SMD, AC, LD, 常数, *VD, *AC, *LD REALOUT VD, ID, QD, MD, SD, SMD, AC, LD, *VD, *AC, *LD REAL注意单精度若要得到更多信息实数的乘产生 32 位实数结果(OUT)µÃµ½32位实数商IN1*IN2 = OUTIN1/ IN2 = OUT在 STL 中SM1.1 (溢出)0006 (间接寻址)这些指令影响下面的特殊存储器位SM1.1 (溢出或发现输入参数非法)SM1.3 (被 0 除)如果在除法操作过程中 SM1.3 被置位原始输入操作数也不变如果 SM1.1 置位原始操作数不改变SM1.0 和 SM1.2 的状态反映算术操作的结果实数或浮点数在 ANSI/IEEE 754 1958 标准中有描述请参阅该标准算术运算举例9-27 实数算术运算指令的 LAD9.8 SIMATIC数学功能指令平方根实数的开方指令 (SQRT) 把一个 32 位的实数 (IN) 开方如下面等式所示SM1.1 (溢出)0006 (间接寻址)这些指令影响下面的特殊存储器位SM1.1 (溢出)Èç¹û SM1.1 置位原始操作数不改变SM1.0 和 SM1.2的状态反映算术操作的结果结果放入输出 OUTÓà DIV_R (/R) 指令将自然对数除以 2.302585 即可(其值近似于以 10 为底的对数值)SM1.1 (溢出)该指令影响下列的特殊存储器位SM1.1 (溢出)SM4.3 (运行时间)输入/输出操作数数据类型IN VD, ID, QD, MD, SMD, SD, LD, AC, 常数, *VD, *AC, *LD REALOUT VD, ID, QD, MD, SMD, SD, LD, AC, *VD, *AC, *LD REAL指数指数指令将输入 IN 的值取以e为底的指数 使 ENO=0的出错条件0006 (间接寻址)SM1.0 (零位)SM1.2 (负数)该指令可与前面的自然对数指令相配合任意数为指数计算5的3次方=5^3=EXP=125125的3次方根=125^(1/3)=EXP=5输入/输出操作数数据类型IN VD, ID, QD, MD, SMD, SD, LD, AC, 常数, *VD, *AC, *LD REALOUT VD, ID, QD, MD, SMD, SD, LD, AC, *VD, *AC, *LD REAL正弦正切正弦指令将输入 IN 的弧度值取正弦输入值为弧度值使用 MUL_R (*R) 将该角度值乘以π /180 以将其转换为弧度值结果放入输出 OUT Èç¹ûÊäÈëΪ½Ç¶ÈÖµ正切指令将输入 IN 的弧度值取正切输入值为弧度值则将该角度值乘以π /180 以将其转换为弧度值SM1.1 (溢出)这个功能影响下列的特殊存储器位SM1.1 (溢出)SM4.3 (运行时间)。

算术逻辑运算类指令


RR
A
移位指令
累加器带进位循环左移指令
RLC
A
累加器带进位循环右移指令
RRC
A
移位指令
累加器半字节交换指令
SWAP
A
将A中内容左移3位
SWAP A
RR
A
1.4 累加器清零指令
CLR
A
以下3种指令都可将累加器内容清零
CLR
A
MOV
A, #0
MOV
ACC, #0
但是它们的指令长度和执行时间不同
1.2 逻辑运算指令
逻辑与运算指令
ANL
A, #data
ANL
A, direct
ANL
A, Rn
ANL
A, @Ri
ANL
direct, A
ANL
direct, #data
逻辑运算指令
逻辑或运算指令
ORL
A, #data
ORL
A, direct
ORL
A, Rn
ORL
A, @Ri
1.5 累加器内容取反指令
CPL
A
当A中保存有从外部输入的数据,但信号逻辑与CPU或其他电 路相反时,可用这条指令将其改为一致的形式,然后再进行处 理
单片机原理与应用
算术运算指令
加法的BCD调整指令
DA
A
对先前两个压缩BCD数的加法结果(保存在累加器A中)进行调整, 在A中产生合法的两位BCD数。任何使用ADD或ADDC指令执 行的BCD数的加法指令,后面必须是加法的BCD调整指令
加法的BCD调整
如果累加器低4位大于9,或者AC标志为1,则低4位加6调整。 内部调整操作可能会使CY为1,但如果CY已经置位,不会将 CY清零

数字指令


返回上级
4.与地址寄存器有关的装入和传送指令 (3/4)
TAR1(将地址寄存器1的内容传送到操作数)
返回上级
4.与地址寄存器有关的装入和传送指令 (4/4)
TAR2(将地址寄存器2的内容传送到操作数) 使用TAR2指令可以将地址寄存器AR1的内容(32位指针) 传送给被寻址的操作数,指令格式同TAR1。其中的操作数 可以是累加器1、存储双字(MD)、本地数据双字(LD)、 数据双字(DBD)、背景数据双字(DID),但不 能用AR1。 CAR(交换地址寄存器1和地址寄存器2的内容) 使用CAR指令可以交换地址寄存器AR1和地址寄存器AR2 的内容,指令不需要指定操作数。指令的执行与状态位无 关,而且对状态字没有任何影响。
返回上级
3.实数比较指令
返回上级
3.实数比较指令(示例)
返回上级
4 算数运算指令
算术运算指令可完成整数、长整数及实数的加、减、 乘、除、求余、求绝对值等基本算数运算;以及32位浮点 数的平方、平方根、自然对数、基于e的指数运算及三角 函数等扩展算数运算。
基本算术运算指令 扩展算术运算指令
回本段
返回上级
2. 扩展算数运算指令
返回上级
练习
1 (Mw120+40-20)×3/3=mw120, Mw120>=3000-----mw120=0
2 Y=ax+b, y=md500,a=2.2, b=12.5, x =md504 (0~100.0)每秒递增0.5
返回上级
3 比较指令
比较指令可完成整数、长整数或32位浮点数(实数) 的相等、不等、大于、小于、大于或等于、小于或等于等 比较 。 整数比较指令
长整数比较指令

整数指令和浮点数指令

整数指令和浮点数指令一、介绍计算机通过执行指令来完成各种任务,指令可以分为多种类型,其中包括整数指令和浮点数指令。

整数指令用于处理整数数据,而浮点数指令则用于处理浮点数数据。

本文将对这两类指令进行详细的探讨。

二、整数指令整数指令是计算机中最基本和最常用的指令类型之一,它主要用于执行对整数数据进行运算的操作。

整数指令可以完成加减乘除等基本运算,还可以实现位操作、移位操作等。

1. 加法指令加法指令用于执行整数加法运算,它通常使用ADD指令实现。

ADD指令可以将两个整数相加,然后将结果存储到指定的目标寄存器中。

2. 减法指令减法指令用于执行整数减法运算,它通常使用SUB指令实现。

SUB指令可以将一个整数减去另一个整数,然后将结果存储到指定的目标寄存器中。

3. 乘法指令乘法指令用于执行整数乘法运算,它通常使用MUL指令实现。

MUL指令可以将两个整数相乘,然后将结果存储到指定的目标寄存器中。

4. 除法指令除法指令用于执行整数除法运算,它通常使用DIV指令实现。

DIV指令可以将一个整数除以另一个整数,然后将商存储到指定的目标寄存器中。

位操作指令用于对整数的位进行操作,它可以实现与、或、异或等位运算。

常见的位操作指令包括AND、OR、XOR等。

6. 移位操作指令移位操作指令用于对整数的位进行移位操作,它可以将整数的位左移或右移一定位数。

常见的移位操作指令有SHL、SHR等。

三、浮点数指令浮点数指令是用于执行浮点数运算的指令类型。

浮点数指令可以对浮点数进行加减乘除等基本运算,还可以进行取整、四舍五入等操作。

1. 加法指令浮点数加法指令用于执行浮点数的加法运算,通常使用FADD指令实现。

FADD指令可以将两个浮点数相加,然后将结果存储到指定的目标寄存器中。

2. 减法指令浮点数减法指令用于执行浮点数的减法运算,通常使用FSUB指令实现。

FSUB指令可以将一个浮点数减去另一个浮点数,然后将结果存储到指定的目标寄存器中。

超级记忆法基础(0-100数字记忆代码)


要求: 一定要训练掌握数字代码。
成为记忆高手的唯一方法就是训练。
13
数字代码记忆法
0.灵、零、另、领、林、临、鸡蛋 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.山 寺、山狮 35.山虎、三姑、珊瑚、山谷 36.山路、山鹿 37.山西 38.妇女、山霸 39.散酒、三 舅 40.司令、狮洞 41.湿衣、失意 42.死儿、四儿 43.四川、撕伞 44.试试 45.失误、似乎、 石虎 46.四楼、石路 47.司机、死期、石器 48.丝瓜 49.死狗、四舅 50.武林 51.武艺、无 意、五姨 52.无儿、雾儿、捂耳、屋儿 53.巫山、雾散 54.青年、武士、舞狮 55.无屋、五姑、 无雾、无虎、无误56.无路、五楼 57.武器、无妻 58.舞吧 59.无酒 60.老师、路洞 61.六一、 留意、如意 62.牛儿 63.庐山 64.手抢、律师 65.入伍、疏忽、路虎 66.顺意、路路 67.漏 气、氯气 68.路霸 69.溜走、六舅、遛狗 70.其实、妻令、老人 71.起义、妻意 72.妻儿、旗 儿 73.祁山、凄惨 74.气死、骑士 75.欺负、旗舞 76.骑鹿、七楼 77.织女 78.骑马 79.吃酒、旗手 80.白领、百灵 81.巴黎、把药 82.花儿 83.爬山84.巴士 85.芭蕾舞 86.八路 87.白旗、白气 88.爸爸、爬爬 89.斑鸠 90.酒瓶 91.旧衣、九姨 92.揪耳、救儿 93.旧伞 94.旧寺、九死 95.旧屋 96.酒肉、酒楼 97.酒气 98.酒巴 99.澳门、舅舅 001铃4 铃、眼睛
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

I0.0
C10 S_CU
A 0.0 Q5.0
I C 101 I 10
CU Q
S PV CV R CV_BCD 位指令格式: I0.2
(
)
CU BLD A 0.2
I0.2 C#6 I0.3
MW0 MW8
L
S A 0.3
C#6
C I 10
C10 ( SC ) C#6 I0.0 C10 (CU )
I0.3 C10 ( R )
ACCU1
31 23 15 7 0
L MB0 L MW0 L MD0 T QD4 T QW4 T QB4
00H 00H
00H 00H
00H MB0
MB0 MB1
MB0 MD0
MB1
MB2
MB3
MW2 MB3
图1.3.2 数据装载与传送
3
2013-8-22
1.3.1 数据的装载和传送指令


2、LAD中的传送指令

【例1-3-2】求一个16位整数+23864的二进制格式的反码和补码。 解:(+23864)10=(5D38)16=(0101 1101 0011 1000)2
15 0
0 1 0 1 1 1 0 1 0 0 1 1 1 0 0 0 INVI NEGI
1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1
1.4 计数器指令
主讲:田亚娟
16
2013-8-22
1.4 计数器指令

三种类型:加计数器、减计数器、加减计数器。 计数器字:存放当前计数值。 计数器位:存放计数器触点的状态。 计数范围:0~999,用C#引导。
17
2013-8-22
1.4.1 加计数器(S_CU)
LAD STL
方框指令格式:
S PV CV R CV_BCD
MW0 MW8
I0.5
C11 ( SC ) C#5 I0.4 C11 (CD ) I0.6 C11 ( R )
A 0.6
R L C
I
11 C C 11 11 MW8
T
LC T
MW0
19
2013-8-22
1.4.3 加减计数器(S_CUD)
LAD
A 0.4 CU C A 0.5 ) CD A 0.3 MW4 QW6 L S C
图1.3.6 BCD码数据的应用
1.3.3 数据转换指令

1、BCD整数
(2)转换指令 BCD_I/BTI:3位BCD码的IN参数转换为16位整数。 I_BCD/ITB:16位整数的IN参数转换为3位BCD码,溢 出则ENO=0。 BCD_DI/BTD:7位BCD码的IN参数转换为32位双整数。 DI_BCD/DTB:32位双整数的IN参数转换为7位BCD码, 溢出则ENO=0。
I0.6
CMP <=I
I0.3 Q4.1 ( S )
MW2 MW4
IN1 IN2
A A ( L L <=I ) A S
I0.6
MW2 MW4
I0.3 Q4.1
6
注:比较方框指令中无EN和ENO。
2013-8-22
1.3.3 数据转换指令

1、BCD整数
15(1)Bຫໍສະໝຸດ D码的格式 3位BCD码:-862
2013-8-22
14
本节习题4

( )1.方框传送(MOVE)指令,将输入IN指定的源通道数据送入输出OUT指定 的目的通道地址,源通道数据清零。 ( )2.MOVE指令框中有EN和ENO,而CMP指令框中无EN和ENO。 ( )3.比较指令用于比较累加器1与累加器2中的数据大小,被比较的两个数的数 据类型应该相同。 ( )4.数据转换指令将累加器1中的数据进行数据类型的转换,转换的结果存放 在累加器2中。
0 0 0 0 C A F E
数据类型:十进制(/十六进制/二进制/浮点数)常数、字符、实时时间、日期常数、
计数器常数、定时器常数、无符号常数
2
2013-8-22
图1.3.1 数据装载过程
1.3.1 数据的装载和传送指令


1、STL中的装载与传送指令
传送(T,Transfer)指令:将累加器1 中的内容写入目 的存储区中,累加器1 的内容不变。



( )5.BTI指令将ACCU1低字中的3位BCD码转换为16位整数,ACCU1的高字 清○。
( )6.程序段“L MW12/ITD /DTR/ T MD26”是用来将存放在MW16中的16位整 数转换为32位实数的程序。 ( ( ( )7.浮点数都可以转换为32位整数。 )8.NOP 0指令并不执行什么功能,也不会影响状态位。 )9.标号最多有4个字符,第一个字符必须是字母或下划线。
5
2013-8-22
1.3.2 比较指令

下面是比较两个浮点数的例子: L MD4 //MD4中的浮点数装入累加器1 L 2.345E+02 //浮点数常数装入累加器1,MD4装入累加器2 >R //比较累加器1和累加器2的值 = Q4.2 //如果MD4>2.345E+02,则Q4.2为1
LAD STL
I 12 I 12 I C#5 C 12
方框指令格式:
I0.4 I0.5 I0.3 C#5 I0.7
R
L T LC T
C
C C
10
10 10 MW8 MW0
18
2013-8-22
1.4.2 减计数器(S_CD)
LAD STL
方框指令格式:
I0.4
CD Q I0.5 C#5 I0.6
C11 S_CD
(
Q5.1
)
A 0.4 CD BLD A 0.5 L S C
I 11 I C#5 C 11
101
位指令格式:
8
2013-8-22
图1.3.6 BCD码数据的应用
1.3.3 数据转换指令

1、BCD整数:应用举例
LAD
BCD_I EN IW4 IN ENO OUT MW20
STL
L IW4 BTI T MW20
I_BCD EN ENO
L MW10 ITB T QW6
QW6
MW10
IN
OUT
9
图1.3.7 应用
13
1 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0
2013-8-22
本节习题4





1.执行“L L#5”指令的含义是 。 A. 将16位整数5送给累加器1 B. 将32位整数5送给累加器1 C. 从累加器1中读出16位整数的5 D. 从累加器1中读出32位整数的5 2.执行 “T MB10”指令的含义是 。 A. 将MB10存放到ACCU1_LL中 B. 将MB10存放到ACCU2_LL中 C. 从ACCU1中读出一个字节 D. 从ACCU2中读出一个字节 3.若在MD0中存放数据“12 34 56 78H”,执行程序段“L MD0/ T MB0”后,MB0 中的数据是 。 A. 12H B. 34H C. 56H D. 78H 4.“LC T4”指令后,跟的指令可以是 。 A. T QB6 B. T QW6 C.= Q6.0 D. A T4 5.比较指令CMP的数据类型可以有 种。 A. 2 B. 3 C. 4 D. 5 6.下列可用CMP<=I指令的一对数据是 。 A. 50和40 B. L#50和L#40 C. 50.0和40.0 D. DW#16#50和DW#16#40 7.若MD20中存放数据为-100.5,执行程序段“L MD20/RUD+/T MD24”后,MD24 中的数据变为 。 A. -101 B. +101 C.-100 D. +100 8.执行完TRUNC指令后,则将-50.7转换为的整数为 。 A. -51 B. -50 C. 51 D. 50 9.下列能用于程序段结束的指令 。 A. 比较指令框 B. 中线输出线圈 C. 上升沿、下降沿线圈 D. 输出线圈


( )10.S7-300/400的跳转指令只能在同一逻辑块内跳转,且只能向前跳,不允 许向后跳。

( )11.JCN指令和JNB指令的跳转条件一样,均是RLO=0;不同的是JNB跳转 时要复制RLO的值到BR中。
15
2013-8-22
课件网址:/PLC/course/index.asp
课件网址:/PLC/course/index.asp
1.3 数据处理指令
1
2013-8-22
1.3.1 数据的装载和传送指令


1、STL中的装载与传送指令
装入(L,Load)指令:将源操作数装入累加器1,而 累加器1 原有的数据移入累加器2。
ACCU1 ACCU2
图1.3.3 MOVE指令
2013-8-22
4
1.3.2 比较指令

比较( CMP )指令:比较下面的一对数据类型相同的 数值: I — 比较16位的整数 D — 比较32位的整数 R — 比较32位的浮点数(实数) 如果比较结果为“真”,则RLO=1,否则RLO=0。 比较关系符: ==: IN1等于IN2 <>:IN1不等于IN2 >: IN1大于IN2 <: IN1小于IN2 >= :IN1大于等于IN2 <=:IN1小于等于IN2
8 4 0 31 28 24 20 16 12 8 4 0 31 28 24 20 16 12
程序
… L W#16#CAFE … L DW#16#1234AF39
X X X X X X X X
Y Y Y Y Y Y Y Y
相关文档
最新文档