助记符

简介
助记符(memonic)是便于人们记忆、并能描述指令功能和指令 操作数的符号,助记符是表明指令功能的英语单词或其缩写。
汇编语言由于采用了助记符号来编写程序,比用 机器语言二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了 机器指令代码,而且助记符与指令代码一一对应,基本保留了 机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
助记符说明表
助记符说明表
助记符
指令说明
字节数
周期数
(数据传递类指令)
MOV
A,Rn
寄存器传送到累加器
1
1
MOV
A,direct
直接地址传送到累加器
2
1
MOV
A,@Ri
累加器传送到外部RAM(8 地址)
1
1
MOV
A,#data
立即数传送到累加器
2
1
MOV
Rn,A
累加器传送到寄存器
1
1
MOV
Rn,direct
直接地址传送到寄存器
2
2
MOV
Rn,#data
累加器传送到直接地址
2
1
MOV
direct,Rn
寄存器传送到直接地址
2
1
MOV
direct,direct
直接地址传送到直接地址
3
2
MOV
direct,A
累加器传送到直接地址
2
1
MOV
direct,@Ri
间接RAM 传送到直接地址
2
2
MOV
direct,#data
立即数传送到直接地址
3
2
MOV
@Ri,A
直接地址传送到直接地址
1
2
MOV
@Ri,direct
直接地址传送到间接RAM
2
1
MOV
@Ri,#data
立即数传送到间接RAM
2
2
MOV
DPTR,#data16
16 位常数加载到数据指针
3
1
MOVC
A,@A+DPTR
代码字节传送到累加器
1
2
MOVC
A,@A+PC
代码字节传送到累加器
1
2
MOVX
A,@Ri
外部RAM(8 地址)传送到累加器
1
2
MOVX
A,@DPTR
外部RAM(16 地址)传送到累加器
1
2
MOVX
@Ri,A
累加器传送到外部RAM(8 地址)
1
2
MOVX
@DPTR,A
累加器传送到外部RAM(16 地址)
1
2
PUSH
direct
直接地址压入堆栈
2
2
POP
direct
直接地址弹出堆栈
2
2
XCH
A,Rn
寄存器和累加器交换
1
1
XCH
A, direct
直接地址和累加器交换
2
1
XCH
A, @Ri
间接RAM 和累加器交换
1
1
XCHD
A, @Ri
间接RAM 和累加器交换低4 位字节
1
1
(算术运算类指令)
INC
A
累加器加1
1
1
INC
Rn
寄存器加1
1
1
INC
direct
直接地址加1
2
1
INC
@Ri
间接RAM 加1
1
1
INC
DPTR
数据指针加1
1
2
DEC
A
累加器减1
1
1
DEC
Rn
寄存器减1
1
1
DEC
direct
直接地址减1
2
2
DEC
@Ri
间接RAM 减1
1
1
MUL
AB
累加器和B 寄存器相乘
1
4
DIV
AB
累加器除以B 寄存器
1
4
DA
A
累加器十进制调整
1
1
ADD
A,Rn
寄存器与累加器求和
1
1
ADD
A,direct
直接地址与累加器求和
2
1
ADD
A,@Ri
间接RAM 与累加器求和
1
1
ADD
A,#data
立即数与累加器求和
2
1
ADDC
A,Rn
寄存器与累加器求和(带进位)
1
1
ADDC
A,direct
直接地址与累加器求和(带进位)
2
1
ADDC
A,@Ri
间接RAM 与累加器求和(带进位)
1
1
ADDC
A,#data
立即数与累加器求和(带进位)
2
1
SUBB
A,Rn
累加器减去寄存器(带借位)
1
1
SUBB
A,direct
累加器减去直接地址(带借位)
2
1
SUBB
A,@Ri
累加器减去间接RAM(带借位)
1
1
SUBB
A,#data
累加器减去立即数(带借位)
2
1
(逻辑运算类指令)
ANL
A,Rn
寄存器“与”到累加器
1
1
ANL
A,direct
直接地址“与”到累加器
2
1
ANL
A,@Ri
间接RAM“与”到累加器
1
1
ANL
A,#data
立即数“与”到累加器
2
1
ANL
direct,A
累加器“与”到直接地址
2
1
ANL
direct, #data
立即数“与”到直接地址
3
2
ORL
A,Rn
寄存器“或”到累加器
1
2
ORL
A,direct
直接地址“或”到累加器
2
1
ORL
A,@Ri
间接RAM“或”到累加器
1
1
ORL
A,#data
立即数“或”到累加器
2
1
ORL
direct,A
累加器“或”到直接地址
2
1
ORL
direct, #data
立即数“或”到直接地址
3
1
XRL
A,Rn
寄存器“异或”到累加器
1
2
XRL
A,direct
直接地址“异或”到累加器
2
1
XRL
A,@Ri
间接RAM“异或”到累加器
1
1
XRL
A,#data
立即数“异或”到累加器
2
1
XRL
direct,A
累加器“异或”到直接地址
2
1
XRL
direct, #data
立即数“异或”到直接地址
3
1
CLR
A
累加器清零
1
2
CPL
A
累加器求反
1
1
RL
A
累加器循环左移
1
1
RLC
A
带进位累加器循环左移
1
1
RR
A
累加器循环右移
1
1
RRC
A
带进位累加器循环右移
1
1
SWAP
A
累加器高、低4 位交换
1
1
(控制转移类指令)
JMP
@A+DPTR
相对DPTR 的无条件间接转移
1
2
JZ
rel
累加器为0 则转移
2
2
JNZ
rel
累加器为1 则转移
2
2
CJNE
A,direct,rel
比较直接地址和累加器,不相等转移
3
2
CJNE
A,#data,rel
比较立即数和累加器,不相等转移
3
2
CJNE
Rn,#data,rel
比较寄存器和立即数,不相等转移
2
2
CJNE
@Ri,#data,rel
比较立即数和间接RAM,不相等转移
3
2
DJNZ
Rn,rel
寄存器减1,不为0 则转移
3
2
DJNZ
direct,rel
直接地址减1,不为0 则转移
3
2
NOP
空操作,用于短暂延时
1
1
ACALL
add11
绝对调用子程序
2
2
LCALL
add16
长调用子程序
3
2
RET
从子程序返回
1
2
RETI
从中断服务子程序返回
1
2
AJMP
add11
无条件绝对转移
2
2
LJMP
add16
无条件长转移
3
2
SJMP
rel
无条件相对转移
2
2
(布尔指令)
CLR
C
清进位位
1
1
CLR
bit
清直接寻址位
2
1
SETB
C
置位进位位
1
1
SETB
bit
置位直接寻址位
2
1
CPL
C
取反进位位
1
1
CPL
bit
取反直接寻址位
2
1
ANL
C,bit
直接寻址位“与”到进位位
2
2
ANL
C,/bit
直接寻址位的反码“与”到进位位
2
2
ORL
C,bit
直接寻址位“或”到进位位
2
2
ORL
C,/bit
直接寻址位的反码“或”到进位位
2
2
MOV
C,bit
直接寻址位传送到进位位
2
1
MOV
bit, C
进位位位传送到直接寻址
2
2
JC
rel
如果进位位为1 则转移
2
2
JNC
rel
如果进位位为0 则转移
2
2
JB
bit,rel
如果直接寻址位为1 则转移
3
2
JNB
bit,rel
如果直接寻址位为0 则转移
3
2
JBC
bit,rel
直接寻址位为1 则转移并清除该位
2
2
### 博途 SCL 助记符库下载与使用教程 博途(TIA Portal)是一款由西门子开发的集成工程软件平台,用于自动化系统的组态、编程和调试。结构化控制语言(Structured Control Language, SCL)是一种高级编程语言,在 IEC 61131-3 标准下被广泛应用于工业控制系统中。 #### 下载博途 SCL 助记符库 要获取博途 SCL 的助记符库文件,通常可以通过以下途径实现: 1. **官方文档支持** 西门子提供了丰富的技术资料和技术手册,其中包含了关于如何配置和使用 SCL 助记符的信息[^1]。这些资料可以在其官方网站的技术支持页面找到。 2. **第三方社区分享** 工业领域内的开发者论坛或技术支持网站可能提供一些用户上传的助记符库文件。例如 Automation Forum 和 Siemens Community 是两个常见的交流平台[^2]。 3. **安装包内置资源** 如果已经购买并安装了 TIA Portal 完整版,则部分标准功能库会随软件一同分发。通过导航至 `C:\ProgramData\Siemens\Automation\Libraries` 可查看可用的标准函数块集合及其对应的描述文件[^3]。 #### 使用博途 SCL 助记符库教程 以下是有关于如何有效利用 SCL 编写程序以及加载自定义助记符的具体指导: 1. **创建新项目并启用SCL环境** 打开 TIA Portal 后新建一个 PLC Project ,接着右键点击 Program Blocks 添加一个新的 Structured Text 类型源码模块即可进入编辑界面[^4]。 2. **导入外部助记符库** 前往菜单栏中的 Insert -> Library 来浏览本地硬盘上的 *.lib 文件夹路径;或者直接拖拽目标 .awl/.scl 文本片段到当前工作区完成嵌入操作[^5]。 3. **调用预定义宏指令集** 在实际编码过程中可以直接引用之前引入过的各类常用算法单元比如 PID 控制器模型等无需重复造轮子从而提高效率减少错误率[^6]。 ```python // 示例:简单的加法运算逻辑表达式 FUNCTION_BLOCK FB_Addition VAR_INPUT IN1 : INT; IN2 : INT; END_VAR VAR_OUTPUT OUT : INT; END_VAR BEGIN OUT := IN1 + IN2; // 实现两数相加的核心语句 END_FUNCTION_BLOCK ``` 以上代码展示了如何基于 SCL 构建基础的功能块来执行特定任务——这里是计算输入参数之和并将结果返回给输出端口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值