第3章 指令系统与程序设计
专题四 MCS-51指令系统-第三章 单片机的指令系统

8、指令字节数和机器周期数
第三章 单片机的指令系统
是必须掌握的内容。 Ø 一台计算机所有指令的集合, 称为该计算机的指令系统。 Ø 各种计算机都有专用的指令系统。
Ø 本章主要介绍单片机的寻址方式及指令系统,
学时分配:2学时 1—53+97+98+99 2学时 54—96 100
第三章 单片机的指令系统 • 3.1 MCS-51 指令系统概述
类
按指令字长分类
按指令执行时间分类
3.2 寻址方式
• 寻址方式:7种
– – – – – – – – – 寄存器寻址 直接寻址 寄存器间接寻址 立即寻址 变址间接寻址 相对寻址 位寻址 寻址方式与寻址空间 MCS-51单片机的两个突出特点
寄存器寻址——操作数存放在寄存器中
寄存器为 MOV A,R0 MOV R0,#01001111B R0~R7,A,DPTR,C SETB RS0 MOV R3,#56H
目的寻址为直接寻址
2) 20H ~2FH 可位寻址区的寻址方式
字节寻址方式: 直接寻址 direct
寄存器间接寻址@R0,@R1
位寻址: bit 直接寻址
例: MOV 26H,C ; 位寻址 (26H)1位
MOV 26H,A ;字节寻址(26H)8位
3) 30H ~7FH 数据缓冲区的寻址方式
字节寻址方式: 直接寻址 direct
MOV A,#23H
PUSH ACC
;
A寄存器寻址
POP
0E0H
;直接寻址
4、可做片内RAM的指针有:
R0,R1, 四个组共有8个 预先设置RS1、RS0,以选定组。 SETB RS0 CLR RS1; 1组
三菱FxPLC教案(三章)

6. 计数器C
作用:对内部元件(如X、Y、M、S、T和C)的信号的通断进行 计数 ,当计数输入达到设定值时,其触点动作. 类型: (1)内部信号计数器 ①16 位增计数器 通用 C0~C99 停电保持用 C100~C199 ②32 位双向(增/减)计数器 通用 C200~C219 停电保持用C220~C234 注: 32 位双向(增/减)计数器的增/减计数方式由M8200设 定:当M8200接通(置1)时为减计数;当M8200断开(置0) 时为增计数 (2)高速计数器 C235~C255,高速计数器的计数脉冲从PLC的输入端(X0~ X5)输入.其最高响应频率为60kHz
二、触点串联指令(AND、ANI)
AND(与) ANI (与非) 常开触点串联连接 常闭触点串联连接
AND、ANI指令使用说明及使用要点: 1. 在使用AND、ANI指令时,串联触点的 个数没有限制,该指令可多次使用。 2. 在OUT指令后,通过触点对其它线圈使 用OUT指令,称之为纵接输出或连续输出。 这种纵接输出,如果顺序不错,可以多次 重复,但限于图形编程器和打印机幅面的 限制,应尽量做到一行不超过10个接点及 一个线圈,总共不要超过24行。
①只能利用其触点的特殊辅助继电器,线圈由PLC系统驱 动,用户只可以利用其触点。 如: M8000 PLC运行时(RUN)接通(监控作用) M8002 初始脉冲,在PLC开始运行的第一个扫描周期接 通,其后一直断开。 M8012 周期为100ms的时钟脉冲 M8013 周期为1s的时钟脉冲 M8014 周期为1min的时钟脉冲
三、触点并联指令(OR、ORI)
OR (或) 常开触点并联连接 ORI (或非) 常闭触点并联连接
OR、ORI指令使用说明及使用要点: 1. OR、ORI指令紧接在LD、LDI指令后使用, 即对LD、LDI指令规定的触点并联一个触点。 并联触点的个数没有限制,该指令可多次使用。 但限于编程器和打印机的幅面限制,尽量不要 超过24行。 2. OR、ORI指令仅为单个触点的并联连接指 令,若将两个以上触点的串联回路与其它回路 并联时,应采用后面介绍的ORB指令。
第3章 8086的指令系统—3.1寻址方式

例:(BX)=2000H,(SI)=1000H,偏移量=0250H,
则EA= 2000H+1000H+0250H=3250H
寻址目的
确定本条指令的操作数据 在指令中 PA:存储器内的绝对地址(20位) 在存储器中 EA:某个段内的相对地址(16位) 在寄存器中 确定下一条指令的地址 根据指令长度计算 根据转移指令的目标地址
寄存器名表示其内容(操作数)
MOV AX, BX
MOV AL, BH
;AX←BX
;AL←BH
演示
第3章: 3.1.3 存储器寻址方式
操作数在主存储器中,用主存地址表示 程序设计时,8088采用逻辑地址表示主存地址
段地址在默认的或用段超越前缀指定的段寄存器中 指令中只需给出操作数的偏移地址(有效地址EA)
演示
;AX←DS:[SI+06H]
第3章:4. 基址加变址寻址方式
有效地址由基址寄存器(BX或BP)的内容加上 变址寄存器(SI或DI)的内容构成: 有效地址=BX/BP+SI/DI 段地址对应BX基址寄存器默认是DS,对应BP基 址寄存器默认是SS;可用段超越前缀改变
MOV AX, [BX+SI] MOV AX, [BX][SI]
*微型计算机汇编语言特点 *微型计算机指令系统概述 *寻址方式
指令及其格式
指令及指令集 计算机能够识别和执行的基本操作命令
指令的作用
告诉CPU干什么?What? 告诉CPU从哪儿取数据?Where? 告诉CPU下一条指令在哪儿?Where? 操作码 操作数或操作数地址 指令的格式
第3章 80868088的指令系统

fill
F range list:填写存储单元
go
G [=address] [addresses]:运行
hex
H value1 value2
input
I port
load
L [address] [drive] [firstsector] [number]:装入命名过的文件
move
M range address
微型计算机原理与接口技术
汇编语言程序设计概述
编程语言分类 机器语言:计算机能直接识别并执行某种操作的二进制代码串 汇编语言:用指令助记符、符号地址和标号等书写程序的语言 高级语言:C语言等
汇编语言程序优点 (1)占用空间小 (2)运行速度快 (3)有直接控制硬件的能力
开发环境: DOS环境
微型计算机原理与接口技术
name
N [pathname] [arglist]:命名
output
O port byte
proceed
P [=address] [nuregister
R[F] [register]:显示和修改寄存器[标志寄存器]
search
S range list
trace
T [=address] [value]:跟踪(单步执行)
微型计算机原理与接口技术
语句格式: [名字] 助记符 [操作数1[, 操作数2]][;注释]
START
START CODE
PROC FAR PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV DX, SEG MOV DS, DX MOV DX, OFFSET MOV AH, 9H INT 21H RET ENDP ENDS END START
第3章S7-1200程序设计基础1

14:05
第3章 S7-1200 程序设计基础 创建用于自动化任务的用户程序时,需要将程序的指令插入代码块中:
3.4 程序结构
● 组织块 (OB) ● 功能块 (FB) ● 功能 (FC) ● 数据块(DB)用于存放执行用户程序时所需的变量数据的数据区。用户程 序中除了逻辑程序外,还需要对存储过程状态和信号信息的数据进行处理,数据是 以变量的形式存储,通过存储地址和数据类型来确定数据的唯一性。
三种运行模式
(掌握) (掌握) (理解)
2. 存储器及其寻址 3. 数据格式及数据类型
把握常见数据格式特点及所占空间
存储器代码,两种寻址方式,强制输入/输出,保持性
4. 编程方法 三种结构模式
(重点)
5. 程序结构
OB, FC, FB, 各自特点及区别
河南理工大学电气学院
(重点)
14:05
1
第3章 S7-1200 程序设计基础
3.1 CPU的工作模式
启动阶段结束后,进入 RUN 模式,CPU 执行下图所示的任务:
RUN ①将过程映像输出区(Q区)的值写到物理输出 ②将物理输入的状态复制到 I 存储器 ③执行程序循环 OB ④处理通信请求和进行自诊断 ⑤在扫描周期的任何阶段处理中断和通信
6
14:05
第3章 S7-1200 程序设计基础
32
32 64 321
04294967295
1.17549510-383.402823 1038 2.2250738585072020 10-308 1.7976931348623157 10308 T#-24d20h31m23s648ms T#24d20h31m23s648ms
工作存储器:易失性,集成在CPU中的高速存取的RAM。用于在执行用户
第3章MCS-51指令系统

第3章 MCS-51指令系统 4. 伪指令 在汇编语言源程序中,除了包含可以转化为特定计算机系 统的机器语言指令所对应的汇编语言指令外,还可能包含一些 伪指令,如“ORG 2000H”、“END”等。“伪”者,假也,尽 尽 管它不是计算机系统对应的指令,汇编时也不产生机器码,但 管它不是计算机系统对应的指令,汇编时也不产生机器码, 汇编语言程序中的伪指令并非可有可无。伪指令的作用是指导 汇编语言程序中的伪指令并非可有可无。 源程序的汇编过程, 源程序的汇编过程,例如“ORG 2000H”伪指令,指示汇编程序 将该伪指令后的汇编语言指令对应的机器码从2000H单元开始存 放。
第3章 MCS-51指令系统
· 52/54子系列内部RAM后128字节(即地址编码为80~FFH) 各单元之间不能直接传送。原因是高128字节内部RAM只能使 用寄存器间接寻址方式,而一条指令中,最多只允许一个操作 数使用寄存器间接寻址方式。 数据传送指令一般不会影响程序状态字寄存器PSW中的标 志位,但当数据传送到累加器A时,PSW中的奇偶标志位P会改 变,原因是奇偶标志位P总是体现累加器A中“1”的个数的奇偶 性。
第3章 MCS-51指令系统 1. 内部 内部RAM与特殊功能寄存器之间的数据传送 与特殊功能寄存器之间的数据传送 表3-1 内部RAM与特殊功能寄存器之间的数据传送指令
指令名称 指令格式 MOV A,Rn 以累加器A作为 目的操作数 MOV A,direct MOV A,@Ri MOV A,#data 机器码 11101rrr 11100101 direct 1110011i 01110100 data 功能 A←Rn A←(direct) A←(Ri) A←data 指令周期 1 1 1 1
MOV 90H,0F0H ; 将特殊功能寄存器0F0H单元(即寄存器B) 内容传送到特殊功能寄存器90H ; 单元(即P1口锁存器)中
第3章 MCS-51的指令系统

寻址方式小结
单片机执行指令的过程 5+3 结果存入R0 MOV A,#05H ADD A ,#03H MOV R0,A
1.取指、译码操作 ①PC的内容作为地址送出 ②PC的内容自动加1,以指向下一存储单元。 ③送出的地址选中8000H单元。 ④单片机发出/PSEN命令 ⑤在/PSEN命令控制下,将选中的8000H单元内容(指令 操作码)读出。 ⑥读出的操作码送指令寄存器IR。 ⑦经指令译码器译码,发出执行本指令所需的各种控制 信号。
7.数据传送类指令汇总及说明 1)同样的数据传送可以使用不同的寻址方式实现 ①MOV 26H,A ②MOV R0,#26H MOV @R0,A ③MOV 26H,ACC ④MOV 26H,E0H ⑤PUSH ACC POP 26H 2)A和ACC属不同的寻址方式,指令字节数不同 MOV 26H,A MOV 26H,ACC 3)数据传送类指令不影响PSW
数据传送类指令 1.概述 通用格式:MOV <目的操作数>,<源操作数> 2.部RAM数据传送内指令组 1)立即数传送指令 MOV A,#data ;A←data MOV direct,#data ;direct←data MOV Rn,#data ;Rn←data MOV @Ri,#data ;(Ri )←data MOV DPTR,#data16 ;DPTR←data16
6.堆栈操作指令组 进栈指令内部RAM低128个单元或专用寄存器内容 送栈顶单元 PUSH direct ;SP←(SP)+1 ,(SP) ←(direct) 出栈指令栈顶单元内容送内部RAM低128个单元或 专用寄存器 POP direct ;direct ←((SP)) ,(SP) ←(SP)–1 *以SP为间址寄存器的间接寻址方式,SP隐含
微机原理 单片机 第3章 80C51的指令系统

(2)指令编码字节少。单字节指令有49 条,双字节指令有45条,三字节指令仅 有17条。 (3)位操作指令丰富,这使得80C51单 片机的控制功能方便灵活。
<
>
返回
三、指令编码格式
[标号]: 操作码 [目的操作数] [,源操作数] [;注释]
标号:表示指令的符号地址,可作为转移的目 标地址。 操作码:用来规定该指令要执行的操作性质, 如MOV,ADD,ORL,LJMP等,操作码通常可用1个 字节表示。 操作数:表示在执行过程中所完成的操作对象, 根据指令功能,可有0、1、2、3个操作数,用12个字节表示。 注释:方便用户阅读。
< > 返回
二、指令分类
80C51单片机系统共有111条指令,按指令 功能分为: ♦数据传送(28条) ♦算术运算(24条) ♦逻辑运算(25条) ♦控制转移(17条) ♦位操作指令(17条) 其指令系统的特点是: (1)执行时间短。单机器周期指令有64条,双 机器周期指令有45条,而四机器周期指令仅有 乘、除法2条。当主频为12MHz时,典型指令执 行时间为1us。
+5V C3 K R1 RST
89C51
相应程序:MOV P1,#00H;灯亮
ACALL delay ;延时 MOV P1,#01H;灯灭 ACALL delay
学习指导和要求
• 理解和掌握指令的 三种编码格式; • 熟练掌握七种寻址 方式; • 熟记各种类型的指 令格式及功能,并 能编写简单程序。
80C51的机器指令按编码的字节数可分为 如下三种指令编码格式:
1、单字节指令(49条)
7 0
opcode 7 opcode 3 2 reg 0 0 0 0 0 1 1 1 1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章 指令系统与程序设计
7.完成某种操作可以采用几条指令构成的指令程序实现,试写出完成以下每种操作的指令程序。
(1)将R6的内容传送到R7;
(2)内部RAM单元50H的内容传送到寄存器R6;
(3)外部RAM单元2000H的内容传送到内部RAM单元70H;
(4)外部RAM单元2000H的内容传送到寄存器R6;
(5)外部RAM单元2000H的内容传送到外部RAM单元3000H。
8.若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段后上述各单元内容
的变化。
MOV A,@R1 ;(A)=60H
MOV @R1,40H ; (30H)=08H
MOV 40H,A ; (40H)=60H
MOV R1,#7FH ; (R1)=7FH
9.若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20H)=0FH,试写出下列各指令
独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指出CY、AC、和OV的值。
(1)MOV A,@R0 ; (A)=2CH
(2)ANL 40H,#0FH ; (40H)=0CH
(3)ADD A,R4 ; (A)=22H (CY)=1
(4)SWAP A ; (A)=8EH
(5)DEC @R1 ; (20H)=0EH
(6)XCHD A,@R1 ; (A)=EFH (20H)=08H
10.若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H、41H、42H单元中
的内容各为多少?
MOV A,50H ;(A)=40H
MOV R0,A ;(R0)=40H
MOV A,#00H ;(A)=0
MOV @R0,A ;(40H)=0
MOV A,#3BH ;(A)=3BH
MOV 41H,A ;(41H)=3BH
MOV 42H,41H ;(42H)=3BH
11.试用位操作和逻辑指令实现下列逻辑操作。要求不得改变未涉及的位的内容。
(1)使ACC.0置位; CLR ACC.0
(2)清除累加器高4位;
ANL A, #0FH
(3)清除ACC.3,ACC.4,ACC.5,ACC.6。
ANL A, #10000111B
12.试编写程序,将内部RAM的20H、21H、22H三个连续单元的内容依次存入2FH、2EH和2DH单元。
MOV R0, #20H
MOV R1, #2FH
MOV R7, #3
LOOP:MOV A, @R0
MOV @R1, A
INC R0
DEC R1
DJNZ R7, LOOP
SJMP $
13.试编写程序,完成两个16位数的减法:7F4DH-2B4EH,结果存入内部RAM的30H和31H单元,
31H单元存差的高8位,30H单元存差的低8位。
CLR C
MOV A, #4DH
SUBB A, #4EH
MOV 30H, A
MOV A, #7FH
SUBB A, #2BH
MOV 31H, A
SJMP $
14.试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将其存放在R1中。
MOV A, R1
ANL A, #0FH
MOV R1, A
MOV A, R2
ANL A, #0F0H
ORL A, R1
MOV R1, A
15.试编写程序,将内部RAM的20H、21H单元的两个无符号数相乘,结果存放在R2、R3中,R2中存
放高8位,R3中存放低8位。
MOV A, 20H
MOV B, 21H
MUL AB
MOV R2, B
MOV R3, A
16.若(CY)=1,(P1)=10100011B,(P3)=01101100B。试指出执行下列程序段后,CY、P1口及P3口
内容的变化情况。
MOV P1.3,C ; ( P1.3)=1
MOV P1.4,C ; (P1.4)=1
MOV C,P1.6 ; (C)=0 (P1)=10111011B
MOV P3.6,C ; (P3.6)=0
MOV C,P1.0 ; (C)=1
MOV P3.4,C ; (P3.4)=1 P1=00101100B
17.若单片机的主频为12MHz,试用循环转移指令编写延时50ms的延时子程序。并说明这种软件延时方
式的优缺点。
DELAY : MOV R6, #50
DEL1 : MOV R7, #250
DEL2 : DJNZ R7, DEL2
DJNZ R6, DEL1
RET