第3章 1 指令格式及其符号说明

合集下载

3-1指令格式

3-1指令格式
、#data : 8位立即数 7、#data16 :16位立即数
8、 @ DPTR :表示以DPTR为数据指针的间接寻址,
用于对外部64K RAM/ROM寻址 9、(×) :表示 × 地址单元或寄存器中的内容 10、$:当前指令的地址。
• 作业
• • • • • • • • • • • 1、指令的一般格式是什么 2、操作码和操作数的功能是什么 3、汇编语言的定义是什么,由哪些部分组成 4、常用指令格式是什么 5、标号的定义是什么 6、注释的含义是什么 7、操作数与操作数之间用什么符号隔开 8、注释的前面需要加什么符号 9、标号与操作码之间用什么符号隔开 10、操作码与操作数之间用什么符号隔开 11、指令的分类有哪些
• 单周期指令 64条、双周期指令45条、四周期指令,乘除各
有1条 • 3、按其功能分类
• 数据传送 28条、算术运算 24条、逻辑运算和环移指令 25条
• 位操作指令 12条、控制转移指令 22条
指令的存放空间
• 指令是单片机执行某种操作的指令,用户若
要单片机完成一件事情,必须先编写指令,再
转成机器码形式,从键盘等设备输入程序存储
令时不予考虑。注释的前面需加分号“;”
ORG 1000H MOV R0,#0 ;清零,保存和的高位字节 MOV R1,#0 ;清零,保存和的低位字节 MOV R3,#16 ;R3用作计数器 L1:MOV P1,#0FFH ;置P1为输入口 MOV A,P1 ;读入采样值 ADD A,R1 ;累加 JNC L2 ;若无进位,转L2 INC R0 ;进位加到高位字节 L2:MOV R1,A DJNZ R3,L1 ;16次采样值是否累加完? MOV R4,#4 ;R4←右移次数4 L3:MOV A,R0 RRC A ;高位字节右移1位 MOV R0,A MOV A,R1 RRC A ;低位字节右移1位 MOV R1,A DJNZ R4,L3 ;循环4次完成除以16 HERE:SJMP HERE

第3章_1 寻址方式DEBUG

第3章_1 寻址方式DEBUG
物理地址PA= (DS) 16 + •偏移地址EA:BP→SS
(BX)
(SI) (DI)
物理地址PA= (SS) 16 +(BP) MOV AX, [BX] PA = 16d (DS) + (BX) MOV AX, [BP] PA = 16d (SS) + (BP) MOV AX, [SI] PA = 16d (DS) + (SI) 也称基址寻址 也称变址寻址 [SI]源变址 [DI]目的变址
(BX)=100H,(AX)=0133H,(10120H)=BCF0H 偏移地址EA=(BP)=0120H
物理地址PA= (SS) 16 +(BP)=10000H+100H=10120H
内 存
(SS) 1000H
0CH 52H EA=(BP) 01H 20H
16
(AX) = BCF0H
AH AL
EA=(BP+6)
01H
1000H
12H
34H
10126 34H 12H
10127
PA
10126H
3.2 寻址方式 存储器寻址
6、基址加变址寻址 (BX) 偏移地址EA= (BP) + (SI) (DI)
物理地址PA=(DS)×16 +(BX) +
(SI)
(DI) (SI)
物理地址PA=(SS)×16 +(BP) +
(BP)
(DI)
+ X ,8位16位移量
物理地址PA=(DS)×16 +(BX) +
(SI) (DI) (SI) (DI) + X ,8位16位移量
物理地址PA=(SS)×16 +(BP) +
+ X ,8位16位移量

3.3 指令中符号意义说明

3.3 指令中符号意义说明
A—累加器。ACC直接寻址方式的累加器。
B—寄存器B。
C—进位标志位,它是布尔处理机的累加器,也称之为累加位。
@—间址寄存器的前级标志。
/—加在位地址的前面,表示对该位状态取反。
(X)—某寄存器或某单元的内容。
((X))—由X间接寻址的单元中的内容。
—箭头左边的内容被箭头右边的内容所取代。
二.数据传送类指令
解法3 MOV R1,#15H
MOV 55H,@R1
解法4 MOV A,15H
MOV 55H,A
作业:3.1.33.1.4
总结:
一、指令格式中符号意义说明
二、数据传送类指令
三明市高级技工学校
教案用纸附页
教学内容、方法和过程
附记
传送指令中有从右向左传送数据的约定,即指令的右边操作数为源操作数,表达的是数据的来源;而左边操作数为目的操作数,表达的则是数据的去向。数据传送指令的特点为:把源操作数传送到目的操作数,指令执行后,源操作数不改变,目的操作数修改为源操作数。
1.内部RAM数据传送指令组
通用格式为:
MOV<目的操作数>,<源操作数>
MOV Rn,A;Rn(A),(n=0~7)
MOV Rn,direct;Rn (direct),(n=0~7)
MOV Rn,#data;Rn data,(n=0~7)
3)以直接地址为目的操作数的指令
MOV direct,A;direct(A)
MOV direct,Rn;direct Rn,(n=0~7)
位操作类指令(17条)
一、指令格式中符号意义说明
Rn—当前寄存器组的8个通用寄存器R0~R7,所以n=0~7。
Ri—可用作间接寻址的寄存器,只能是R0、R1两个寄存器,所以i=0、l。

第三章 MCS-51指令系统

第三章 MCS-51指令系统
第三章 MCS-51指令系统
3-1 指令格式 3-2 寻址方式 3-3 数据传送指令 3-4 算术运算指令
3-5 逻辑运算指令
3-6 位操作指令
3-7 控制转移指令
3-8 调用和返回指令
1
第三章 MCS-51指令系统
3-1 指令格式
一、 汇编语言指令格式 [标号:] 操作码 [操作数1],[操作数2][;注释] 例: LOOP: MOV A,#40H ;40H -> A
3-2 指令寻址方式
寻找操作数的方法叫寻址方式。
一、立即寻址方式 指令中给出实际操作数据(立即数), 一般用于为寄存器或存储器赋常数初值。
例:
8位立即数: MOV A,#40H ;A40H 16位立即数: MOV DPTR,#2100H ;DPTR2100H
9
第三章 MCS-51指令系统 二、直接寻址方式
24
第三章 MCS-51指令系统
(四)堆栈操作指令 入栈指令:PUSH n ;SPSP+1,(SP)(n) 出栈指令:POP n ;(n)(SP),SPSP-1 例:设 A=02,B=56H,执行下列指令后,SP= 30H , ? A= ? ,B= ? 30H 30H
SBR: MOV SP,#30H ;设栈底 PUSH A PUSH B MOV A,#0 B, #01
Y1,Y2,…,Yn
5
第三章 MCS-51指令系统
3-1 指令格式
二、 伪指令
汇编时不产生机器码,仅供汇编识别控制。
5.定义空间伪指令:DS 表达式 例3-6 ORG DS DB 0F00H 10H 20H,40H
汇编后,从0F00H开始,保留16个字节的内存单元, 然后从0F10H开始,按照下一条DB伪指令给内存单元赋值, 得(0F10H)=20H,(0F11H)=40H。

汇编语言指令格式

汇编语言指令格式

汇编语言指令格式汇编语言是一种低级语言,用于编写程序,并将其转换为机器码指令以在计算机上执行。

指令格式是汇编语言中非常关键的一部分,它定义了指令的结构和使用方式。

本文将详细介绍汇编语言指令格式的各个要素,以让读者全面了解并正确运用这些指令。

1. 指令的组成一条完整的汇编语言指令由多个要素组成,包括操作码、操作数、寻址方式等。

操作码指明了要执行的操作类型,操作数则提供了操作所需的数据。

不同的指令可以有不同数量的操作数,这取决于具体的指令类型。

寻址方式则用于确定操作数的地址。

2. 操作码操作码是指令的关键部分,它表示指令要执行的操作类型。

操作码可以是二进制、十进制或十六进制的数值,具体取决于汇编语言的规范。

常见的操作码包括加载数据到寄存器、算术运算、条件判断等。

3. 操作数操作数是指令的参数,用于提供操作所需的数据。

操作数可以是寄存器、内存地址、立即数或标号等。

寄存器是一种存储数据的设备,通常用于执行算术运算和存储临时数据。

内存地址指向内存中的特定位置,操作数可以通过读取或写入内存地址来获取或修改数据。

立即数是直接给出的数值,用于进行特定的操作。

4. 寻址方式寻址方式用于确定操作数的地址。

在汇编语言中,有多种寻址方式可供选择,如寄存器寻址、直接寻址、间接寻址、相对寻址等。

不同的寻址方式适用于不同的情况。

通过选择合适的寻址方式,可以更高效地访问和操作数据。

5. 指令格式示例下面是几种常见的汇编语言指令格式示例:- 加载指令(以x86架构为例):mov destination, source其中,destination表示目标操作数,可以是寄存器或内存地址;source表示源操作数,可以是寄存器、内存地址或立即数。

- 算术运算指令:add destination, source在这个简单的示例中,add指令将源操作数与目标操作数相加,并将结果存储在目标操作数中。

- 条件判断指令:cmp operand1, operand2cmp指令用于比较两个操作数的值。

单片机原理及接口技术(第3章)

单片机原理及接口技术(第3章)

第3章 MCS-51单片机的指令系统
① 操作码部分:以助记符表示,助记符用英语单词的缩写, 表明该指令的功能,如MOV表明该指令是一条数据传送指 令,ADD表明该指令是一条加法指令。
② 书写格式:操作码和操作数要用空格分开,如果指令中有 多项操作数,操作数之间要用“,”分开。方括号[ ]表 示该项是可选项, 可有可无。
单片机原理与接口技术 第3章
第3章 MCS-51单片机的指令系统
3.1 指令格式和寻址方式 3.1.1指令格式 1.指令格式
每条指令由操作码和操作数两部分组成。 操作码表示计算机将进行何种操作。 操作数表示参加操作的数或操作数所在的地址。 有无操作数、单操作数、双操作数三种情况。 汇编语言指令格式为: [标号:] 操作码助记符 [目的操作数] [,源操作数] [;注释]
(5)16位数据传送指令 MOV DPTR,#data16 ;将一个16位数送入DPTR中。 功能:把16位常数送入DPTR中。
高位立即数送入DPH,低位立即数送入DPL中。 (6)堆栈操作指令 PUSH direct ;将直接地址中的数压入栈顶;
SP←(SP)+1;(SP)←(direct)。 POP direct ;将栈顶中的数据弹出到直接地址;
例如:
MOV A,R6 ; A←(R6),将寄存器R6中的内容送到累加器A。
MOV A,30H ; A←(30),将内部RAM30H单元的内容送到累加器A。
MOV A,@R0 ; A←((R0)),将内部RAM中R0的内容为地址的单
元的内容送到累加器A。
MOV A,#40H
; A←40H,将立即数40H送给累加器A。
功能:将累加器A的低4位和R0或R1间址的存储单元的低4位

汇编语言程序设计_第3章 80x86指令系统

汇编语言程序设计_第3章 80x86指令系统

3.3.2 算术指令
1. 加法
一般形式:
ADD dest, src ; dest = dest + src
ADC dest, src ; dest = dest + src + CF
INC
dest
; dest = dest + 1
语法格式:
ADD reg/mem, reg/mem/imm
ADC reg/mem, reg/mem/imm
movsx ax, al ; 等价于cbw movsx eax, ax ; 等价于cwde movsx eax, al ; 等价于顺序执行cbw与cwde
2019/8/26
80x86汇编语言程序设计
3.3.1 数据传送指令
(3)MOVZX 一般形式: MOVZX dest, src ; src零扩展为dest;386新增 语法格式: MOVZX reg16, reg8/mem8 MOVZX reg32, reg8/mem8/reg16/mem16
2019/8/26
80x86汇编语言程序设计
3.3.1 数据传送指令
5. 堆栈操作指令
80x86系统的堆栈具有如下特点: 堆栈是在内存的堆栈段中,具有“先进后出”的特点。 堆栈只有一个出入口,即当前栈顶。当堆栈为空时,栈顶和栈底指向同一内存单
元。 堆栈有两个基本操作:PUSH(进栈)和POP(出栈)。PUSH操作使栈顶向低地
INC
reg/mem
对标志位的影响:
ADD、ADC:按一般规则影响CF、OF、SF和ZF。 INC:不影响CF,其它同ADD。 说明:ADD与ADC的2个操作数必须类型匹配,且不能同时是内存操作数。
2019/8/26

第三章操作数的寻址方式

第三章操作数的寻址方式
(4)基址变址寻址: lea bx,num mov si,4 mov dx,[bx][si]
P33 1、2、3、5、6(单数)、
图示
1、直接寻址
例:指令:mov bx,es:[1234h],(es)=1000h, (11234h)=1234h。问该指令执行后,bx的值是什 么?
PA=(es)×16+1234h=11234h (bx)=1234h
1、直接寻址
要点:
地址也常用内存变量名来表示,书写格式:v_1或 [v_1]。
综合
例4:如图所示,取第三个字数 据→(dx) 解:取第3个数据,其偏移量: num+3 (1)直接寻址: mov dx,num+4 ;num为字变量 (2)寄存器间接寻址: lea bx,num+4 mov dx,[bx]
综合
(3)寄存器相对寻址: mov si,4 mov dx,num[si]
一、概述 二、立即数寻址(imm) 三、寄存器寻址(reg) 四、存储器寻址(mem)
寄存器寻址(reg)
指令所要的操作数已存储在某寄存器中,或把目标 操作数存入寄存器。把在指令中指出所使用寄存器 (寄存器符号)的寻址方式称为寄存器寻址方式。
执行过程
指令中可以引用的寄存器及其符号如下: 8位寄存器有:ah、al、bh、bl、ch、cl、 dh和dl。 16位寄存器有:ax、bx、cx、dx、si、di、 sp、bp、ip和段寄存器。
寄存器寻址(reg)
例:
add varw,ax add varb,bh
;其中varw,varb是字、字节内存变量。
add bh,78h
add ax,1234h
mov ax,bx
mov bh,al

单片机-第三章

单片机-第三章

间接寻址寄存器前缀, @Ri, @ 间接寻址寄存器前缀,如@Ri,@A+DPTR (X) X中的内容。 中的内容。 寻址的单元中的内容。 ((X)) 由X寻址的单元中的内容。 箭头右边的内容被箭头左边的内容所取代。 → 箭头右边的内容被箭头左边的内容所取代。
单片机原理及接口技术——自动化系 单片机原理及接口技术——自动化系
单片机原理及接口技术——自动化系 单片机原理及接口技术——自动化系
MCS-51单片机指令系统 第3章 MCS-51单片机指令系统
本章主要介绍MCS-51汇编语言的指令系统。 本章主要介绍MCS-51汇编语言的指令系统。 MCS 汇编语言的指令系统 MCS-51的基本指令共111条 的基本指令共111 MCS-51的基本指令共111条 单字节指令; (1) 单字节指令; 按指令所占的字节来分: 双字节指令; 按指令所占的字节来分: (2) 双字节指令; 三字节指令。 (3) 三字节指令。 按指令的执行时间来分: 按指令的执行时间来分: 1个机器周期 12个时钟振荡周期 指令64 个机器周期( 个时钟振荡周期) 64条 (1) 1个机器周期(12个时钟振荡周期)指令64条 2个机器周期 24个时钟振荡周期 指令45 个机器周期( 个时钟振荡周期) 45条 (2) 2个机器周期(24个时钟振荡周期)指令45条 4个机器周期只有乘 除两条指令的执行时间为(48个时 个机器周期只有乘、 (3) 4个机器周期只有乘、除两条指令的执行时间为(48个时 钟振荡周期)。 钟振荡周期)。 12MHz晶振 机器周期为1 晶振: 12MHz晶振:机器周期为1µs。
单片机原理及接口技术——自动化系 单片机原理及接口技术——自动化系
;A←(Rn) ;A←(direct) ;A←((Ri)) ;A←#data

第3章MCS-51单片机指令系统

第3章MCS-51单片机指令系统

第3章MCS-51单片机指令系统3.1概述3.1.1指令格式3.1.2指令的三种表示形式3.1.3指令的字节数1. 单字节指令(49条)图3-1 MOVA,Rn指令的格式2单片机原理及其接口技术(第2版)2. 双字节指令(46条)3. 三字节指令(16条)3.1.4指令的分类1. 数据传送指令(28条)2. 算术运算指令(24条)3. 逻辑操作和环移指令(25条)4. 控制转移指令(17条)5. 位操作指令(17条)3.1.5指令系统综述1. 指令系统中所用符号的说明2. 指令对标志位的影响3.2寻址方式3.2.1寄存器寻址图3-2寄存器寻址示意图单片机原理及其接口技术(第2版) 3 3.2.2直接寻址图3-3直接寻址示意图3.2.3立即寻址3.2.4寄存器间址图3-4寄存器间址寻址示意图3.2.5变址寻址图3-5变址寻址示意图4单片机原理及其接口技术(第2版)3.2.6相对寻址图3-6相对寻址示意图3.2.7位寻址3.3数据传送指令3.3.1内部数据传送指令(15条)1. 立即寻址型传送指令2. 直接寻址型传送指令3. 寄存器寻址型传送指令4. 寄存器间址型传送指令5. 内部数据传送指令的使用图3-7 8×C552/8051指令的数据传送方式单片机原理及其接口技术(第2版) 5 3.3.2外部数据传送指令(7条)1. 16位数传送指令2. 外部ROM的字节传送指令图3-8 0~9平方值表3. 外部RAM的字节传送指令3.3.3堆栈操作指令(2条)图3-9例3.8的堆栈变化示意图6单片机原理及其接口技术(第2版)3.3.4数据交换指令(4条)3.4算术与逻辑运算和移位指令3.4.1算术运算指令(24条)1. 加法指令2. 减法指令3. 十进制调整指令4. 乘法和除法指令3.4.2逻辑运算指令(20条)1. 逻辑与运算指令2. 逻辑或指令3. 逻辑异或指令4. 累加器清零和取反指令3.4.3移位指令(5条)单片机原理及其接口技术(第2版)7图3-10例3.26附图3.5控制转移和位操作指令3.5.1控制转移指令(17条)1. 无条件转移指令图3-11 AJMP指令转移范围8单片机原理及其接口技术(第2版)图3-12例3.29附图图3-13带符号数的比较方法3. 子程序调用和返回指令图3-14二级子程序嵌套及断点地址存放单片机原理及其接口技术(第2版)9图3-15例3.33附图10单片机原理及其接口技术(第2版)4. 空操作指令3.5.2位操作指令(17条)1. 位传送指令2. 位置位和位清零指令3. 位运算指令4. 位控制转移指令习题与思考题3.1指令通常有哪三种表示形式?各有什么特点?3. 2 MCS-51指令按功能可以分为哪几类?每类指令的作用是什么?3. 3 MCS-51共有哪七种寻址方式?各有什么特点?3. 4指出下列每条指令源操作数的寻址方式和功能。

微型计算机原理第3章_1_寻址方式

微型计算机原理第3章_1_寻址方式

8086/8088的寻址方式 第三章 8086/8088的寻址方式 和指令系统主 讲 : 乔 瑞 萍学习要点数据寻址的8种寻址方式,I/O端口寻址的 2种寻址方式 程序转移地址的4种寻址方式 掌握8086指令(操作码助记符,可以使用 的寻址方式) 了解80386新增寻址方式和指令3.1 计算机指令格式1、汇编指令格式: OP.C OP.D (Operating Code、Operating Data) 注:OP.C指操作码助记符 OP.D指操作数部分,又称地址码。

(实际上的OP.C、OP.D都应该是二进制数,即 机器码。

)2、根据OP.D中地址的个数,指令可分为: 1)零地址指令:只有OP.C,没有OP.D。

2)一地址指令:单OP.D。

3)二地址指令:双OP.D。

4)三地址指令:三OP.D。

3. 指令长度与字长的关系指令长度主要取决于OP.C的长度 OP.D地址的长度 OP.D地址的个数几个概念: 1)指令的长度指其机器码的长度,是字节的简 单倍数; 2)现代计算机广泛采用变字长指令格式:并非 所有指令的长度一致。

3)指令长度与其执行时间没有必然的联系,短 指令也可能执行时间长。

4)指令字长与内存的编址单位及CPU的机器字 长有关。

3.3 指令格式1、80x86指令编码格式(P81~83) 指令码是指每条指令所对应的二进制 编码,即机器码,这里只是要求大家了 解一下汇编指令如何翻译成机器码的, 即了解编译程序的工作,自学,不做要 求。

3.2 80X86的寻址方式 (addressing modes)P70,指令语句由操作码和操作数两部 分构成,操作码表示计算机执行什么操 作;操作数可能指明了参与操作的数本 身,或规定了操作数的地址。

8086/8088的寻址方式分为两类:数据寻址方式 转移地址寻址方式1)数据寻址方式(8种)(以通用传送指令MOV AX,SRC为例)定义:指令中用以说明或形成操作数有效地址 (Effective Adress)的方法,称为操作数的寻址 方式。

3 指令系统

3 指令系统

MOVC MOVC
A,@A+DPTR A,@A+PC
;A ←((A)+(DPTR)) ;A←((A)+(PC))
说明:两条指令同常用于查找程序中的数据表格 四.堆栈操作指令 堆栈是建立在内部 RAM 中,通过堆栈指示器 SP 进行 读写操作。指令格式为:
PUSH direct ;SP←(SP)+1, (SP)←(direct) POP direct ;direct←((SP)), (SP)←(SP)-1
北京交通大学 21
练习:指出下列指令中操作数的寻址方式。
(1)MOV A,#20H (2)MOV P0,@R0 (3)ADD A,40H
立即 寄存器 寄存器间接 直接寻址 直接 寄存器
;A ;P0
20H ((R0)) (A)+(40H)
;A ;P1
(4)MOV P1,#0FFH
立即
FFH
((A)+(PC))
北京交通大学 29
说明: MOVC A,@A+DPTR寻址范围64K
MOVC A,@A+PC寻址范围256B, 以PC+1为基址,从PC+1H到PC+100H
例:从1000H单元存放0—9平方值
MOV DPTR,#1000H MOV A,#09H MOVC A,@A+DPTR
若MOVC指令地址PC为0FF0H, 偏移量=1000H-(0FF0H+1)=0FH MOV A,#09H ADD A,#0FH MOVC A,@A+PC
操作数低八位00H
7
北京交通大学
二、指令分类
数据传送类指令; 算术运算类指令; 逻辑运算类指令; 控制转移类指令; 位操作指令 在上述111条指令中,64条指令执行时间为一个机器周 期,45条指令执行时间为两个机器周期,只有乘、除法指 令执行时间为四个机器周期。当主频为12MHz时,典型指令 执行时间为1us

51单片机 第三章指令系统

51单片机   第三章指令系统
; DPH ← #56H,DPL ← #78H
10
3.2.5 变址寻址方式
1.
变址寻址方式是以程序计数器PC或数据指针 DPTR作为基址寄存器,以累加器A作为变址寄 存器,它们两者内容之和为有效地址。 寻址范围:
程序存储器空间。
2.
3.
变址寻址方式的指令只有3条:
⑴ MOVC A, @A+DPTR ⑵ MOVC A, @A+PC ⑶ JMP @A+DPTR ; 查表指令 ; 查表指令 ; 散转指令
⑴ 低128个存储单元,8-bit二进制数表示地址。 ⑵ 特殊功能寄存器,用直接地址或称号表示。
2.
3.
例如,指令 MOV A, 30H
; A ← (30H)
8
3.2.3 寄存器间接寻址方式
1.
寄存器间接寻址时,指令中给出的寄存器为地 址指针。 寻址范围:
⑴ 片内和片外RAM 256单元,用R0或R1间接寻址。
34
4.
除法
整数部分
DIV AB
A
被除数
X B
除数

A
B
余数部分
除数为0,商的A和B内容不确定,且(OV)=1 。 标志Cy总是被清0。 例: 若(A)=FBH(251),(B)=12H (18),执行指令 DIV AB 之后,(A)=0DH, (B)=11H,(OV)=0,(Cy)=0。
35
3.3.3 逻辑运算及移位类指令
例: 若(A)=C3H,(R0)=AAH,执行指令 ANL A, R0 之后,(A)=82H。
37

逻辑或 源操作数与直接地址单元内容相或
ORL direct, A #data
源操作数与累加器A的内容相或

第3章 指令系统

第3章 指令系统
跳转指令的入口处和程序的开始位置通常需要设置标号,当程 序需要转移和调用时,可直接引用此标号,将程序的执行流向 引导到设置的标号处。 标号也有三个属性:段属性、偏移属性和距离属性。 标号以字母开头,由字母、数字、特殊字符(如?,下划线等 )组成的字符串表示。标号不能与保留字相同。保留字包括寄 存器名、指令助记符等。 3
(2) 32位寻址:任何一个32位通用寄存器可作为基址寄存器 ;除ESP之外的任一个32位通用寄存器可作为变址寄存器。 如:MOV AX,[EBX+ECX] ; 或 MOV AX,[EBX][ECX] ; DS段的字数据送AX。
17
7、带位移的基址加变址寻址:基址寄存器内容与变址 寄存器内容再加偏移量之和形成操作数的EA。即: EA=[基址寄存器]+[变址寄存器]+偏移量
:通用寄存器。长度可以是8位、16位、32位。 如reg8表示8位通用寄存器,reg16表示16位通用寄存 器。
Sreg mem imm
:段寄存器(段选择符)。
:存储器。长度可以是8位、16位、32位。如 mem8表示8位存储器。 :立即数。长度可以是8位、16位、32位。 AL,AX或EAX) 。
操作符:指令的操作符,指示CPU完成某种操作,不 可省略。 操作数:指令执行时的操作对象,可以是数据或地址 表达式。 注释:程序注解。 **方括号表示其中的内容为可选项。
START:MOV AX,DATA MOV DS,AX
;设置DS
4
数据类型
80X86主要包括以下六种数据类型: 1、无符号二进制数:
有符号二进制数以补码形式存储,地址单元分配与 无符号数类似。
3、浮点数(实数)
(从略)
6
4、BCD码 1)压缩(组合)BCD码:1字节存放两个BCD码,如图 a。 2)非压缩BCD码:1字节存放一个BCD码(低4位) ,如图b。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

@
间接寻址寄存器或基址寄存器的前缀
位 操作码 D7 1 D6 0 D5 1 D4 1 D3 0 D2 1 D1 0 D0 0 十六进制码 B4H 00H 60H
操作数(立即数)
操作数(地址)
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
3.1 指令格式及其符号说明
4) 16位地址 例如:LCALL 2020H 指令码为
位 操作码 操作数(地址高) D7 0 0 D6 0 0 D5 0 1 D4 1 0 D3 0 0 D2 0 0 D1 1 0 D0 0 0 十六进制码 12H 20H 20H
3.1 指令格式及其符号说明
这条8位数传送指令的含义是:把指令 码第2字节立即数23H取出来存放到累加器(A) 中。 该指令的操作码占1B,23H为源操作数, 也是1B,累加器(A)是目的操作数寄存器,隐 含在操作码字节中。
3.1 指令格式及其符号说明
3. 三字节指令(16条) 这类指令的指令码的第1字节为操作码;第 2和第3字节为操作数或操作数地址,有如下4 类。 1) 16位数据 例如:MOV DPTR,#26ABH 指令码为
SJMP
JMP JZ JNZ JC JNC JB JNB JBC
短转移
相对转移 判累加器A为0转移 判累加器A非0转移 判CY为0转移 判CY非0转移 直接位为1转移 直接位为0转移 直接位为1转移,并清该位
RLC
RR RRC SWAP ADD ADDC SUBB
带进位循环左移
循环右移 带进位循环右移 高低半字节交换 加法 带进位加法 带进位减法

3.1 指令格式及其符号说明
指令的字节 1. 单字节指令(49条) 在MCS-5l指令系统中,单字节指令可分为 两类:无操作数的单字节指令和含有操作 数寄存器编号的单字节指令。 1) 无操作数单字节指令 这类指令只有操作码字段,操作数隐 含在操作码中。例如:INC DPTR

3.1 指令格式及其符号说明
#data
#data16 Addr16 Addr11
表示8位立即数,即00H~FFH
表示16位立即数,即0000H~FFFFH 16位地址,可表示用于64KB范围内寻址,用于LCALL和LJMP指令中 11位地址,可表示2KB范围内寻址,用于ACALL和AJMP指令中
direct
rel bit (X) ((X)) ← $ DPTR /
操作数(地址低)
0
0
1
0
0
0
0
0
程序设计中,应尽可能选用字节少的指令。这 样,指令所占存储单元少,执行速度也快。
3.1 指令格式及其符号说明
MCS-51单片机的助记符语言
为了便于人们识别、读/写、记忆和交流用英文 单词或缩写字母来表征指令功能,这些指令的助记 符形式称为汇编语言指令,常用于汇编语言源程序 的程序设计。 MCS-51单片机制造厂家对每一条指令都给出 了助记符。不同的指令,具有不同的功能和不同的 操作对象。如图表3-1 MCS-51助记符意义
指令码为
位 操作 码 D7 1 D6 0 D5 1 D4 0 D3 0 D2 0 D1 1 D0 1 十六进制 码 A3H
2) 含有操作数寄存器号的单字节指令 单字节的指令码由操作码字段和指示操作数所 在寄存器号的字段组成。 例如:MOV A,Rn 指令码为 (r r r为寄存器Rn的编号)
位 D7 D6 D5 D4 D3 D2 D1 D0 十六进制码
助记符 MOV MOVC MOVX PUSH POP 送数
意 义 MUL DIV DA ROM送累加器(A) 外部送数 压入堆栈 堆栈弹出
助记符 乘法 除法 十进制调整 绝对转移 长转移
意 义
AJMP LJMP
XCH
XCHD ANL ORL XRL SETB CLR CPL RL
数据交换
交换低4位 与运算 或运算 异或运算 置位 清0 取反 循环左移
CJNE
DJNZ ACALL LCALL RET RETI NOP
比较不相等转移
减1不为0转移 绝对调用子程序 长调用子程序 子程序返回 中断子程序返回 空操作

常用符号说明 指令的书写必须遵守一定的规则,见表3-2指令 描述约定。表3-2 指令描述约定
符 号 Rn Ri 含 义 表示当前选定寄存器组的工作寄存器R0~R7,n=0~7 表示作为间接寻址的地址指针R0~R1,i=0,1
位 操作码 操作数(地址) D7 0 0 D6 1 1 D5 1 1 D4 1 1 D3 0 0 D2 1 1 D1 0 0 D0 1 0 十六进制码 75H 74H FFH
操作数(立即数)
1
1
1
1
1
1
1
1
3.1 指令格式及其符号说明
3) 8位数据和8位地址 例如:CJNE A,#00,60H 指令码为
8位直接地址,可以是片内RAM区的某一单元或某一专用功能寄存器的地址
带符号的8位地址偏移量(-128~+127),用于SJMP和条件转移指令中 位寻址区的直接寻址位,表示片内RAM中可寻址位和SFR中的可寻址位 X地址单元中的内容,或X作为间接寻址寄存器时所指单元的内容 由X寻址的单元的内容 将箭头后面的内容传送到箭头前面去 当前指令所在地址 数据指针 加在位地址之前,表示该位状态取反
3.1 指令格式及其符号说明
4)操作码助记符:指令的核心部分,用于指示机器执行何种
操作,如加、减、乘、除、传送等。 5)操作数:是指令操作的对象,可以是一个具体的数据,也 可以是参加运算的数据所在的地址。操作数一般有以下几种 形式: 没有操作数,操作数隐含在操作码中,如RET指令; 只有一个操作数,如INC A指令; 有两个操作数,如MOV A,30H指令,操作数之间以逗号 相隔; 有3个操作数,如CJNE A,#00H,10H指令。 6)注释:对指令的解释说明,用以提高程序的可读性,注释 前必须加分号,注释换行时行前也要加分号。
位 操作码 操作数(立即数高) 操作数(立即数低) D7 1 0 1 D6 0 0 0 D5 0 1 1 D4 1 0 0 D3 0 0 1 D2 0 1 0 D1 0 1 1 D0 0 0 1 十六进制码 90H 26H ABH
3.1 指令格式及其符号说明
2) 8位地址和8位数据 例如:MOV 74H,#0FFH 指令码为
操作码+操作 数
1
1
1
0
1
r
r
r
E8H~EFH
3.1 指令格式及其符号说明
2. 双字节指令(46条) 双字节指令的操作码字节在前,其后的操作数 字节可以是立即数,也可以是操作数所在的片内 RAM地址。 例如:MOV A,#23H 指令码为
位 操作码 操作数(立即数) D7 0 0 D6 1 0 D5 1 1 D4 1 0 D3 0 0 D2 1 0 D1 0 1 D0 0 1 十六进制码 74H 23H
第 3章







3.1 3.2 3.3 3.4 3.5 3.6
指令格式及其符号说明 寻址方式
MCS-51的指令集
汇编语言程序的基本形式
汇编语言程序的基本结构
本章小节
3.1 指令格式及其符号说明

MCS-51单片机指令格式
1)指令由操作码助记符和操作数两部组成。 2)指令格式如下: [标号:]操作码助记符 [目的操作数] [,源操作数][;注释] 符号“[ ]”其包含的内容因指令的不同可有可无。 3)标号:根据编程需要给指令设定的符号地址,可有可无; 通常在子程序入口或转移指令的目标地址处才赋予标号。 标号由1~8个字符组成,第一个字符必须是英文字母, 不能是数字或其他符号,标号后必须用冒号。
第3章 MCS-51单片机的指令系统
教学提示:指令是CPU用于控制功能部件完成某一指定 动作的指示和命令。一台计算机全部指令的集合称为指令系统。 指令系统体现了计算机的性能,也是计算机重要的组成部分, 应用计算机进行程序设计的基础。单片机应用系统的运行,是 依靠合理的硬件接口、用户程序和监控程序的完美结合实现的, 所以掌握单片机需要学习多样的汇编程序设计方法实现运算和 控制功能。 教学要求:本章让学生了解单片机指令系统的特点和 功能、操作的对象和结果、汇编语言程序结构的设计。重点 掌握指令的基本形态、格式、寻址方式及汇编语言编程的基 本方法,熟悉常用的子程序,能够正确运用汇编指令编制单 片机应用系统的用户程序和监控程序。
相关文档
最新文档