03章指令系统与汇编语言程序设计

合集下载

第3章 8086指令系统-汇编语言程序设计教程-陆遥-清华大学出版社

第3章  8086指令系统-汇编语言程序设计教程-陆遥-清华大学出版社

直接寻址方式可以利用变量名的偏移地址属性来 描述操作数的偏移地址(可直接用变量名,或将 变量名置于方括号[ ]中),段寄存器默认为DS。 如果实际使用的段寄存器不是DS,则必须用段 前缀明确指出。
【例3.7】设数据段内有如下变量定义语句
VAR DB 76H,5CH,0A3H,08H
分析以下指令的执行结果。
3.1 指令系统基本概念
指令是给计算机下达的一个简单操作任务,CPU 所能执行的所有指令构成了一个计算机的指令系 统(也称指令集)。
汇编语言指令是对机器指令的符号化表示,采用 助记符来表示指令的操作功能和操作对象。
指令通常可以分为以下几类:
⑴ 数据传送类指令。 ⑵ 算术运算类指令。
⑸ 程序控制类指令。 ⑹ 处理器控制类指令。
【例3.3】要求将数据68传送给AL寄存器,写出相应的传 送指令。 分析:由于AL寄存器接收数据,所以目的操作数为AL, 采用寄存器寻址方式,而源操作数为常数68,采用立即寻 址方式
MOV AL,68 ;AL←68
【例3.4】设被加数存于寄存器DX中,加数为512,写出相 应的加法指令。 分析:因为被加数由寄存器DX提供,所以DX为目的操作 数,采用寄存器寻址方式,而加数为常数512,采用立即 寻址方式
操作数。
2. ADD指令
指令格式:ADD DST,SRC 指令功能:DST←(DST)+(SRC) 。执行加法运算。 操作数特点:两个操作数。被加数DST为目的操作数,加
数SRC为源操作数。
3. NOT指令
指令格式:NOT OPR 指令功能:OPR←(OPR) 。执行逻辑非运算。 操作数特点:一个操作数。OPR既是目的操作数,也是源
段地址由段寄存器提供,用段前缀(DS:,ES:, CS:或SS:)来指明;偏移地址(亦称有效地址) 则有多种表示形式,由此形成了不同的存储器寻 址方式。

第3章汇编指令.ppt

第3章汇编指令.ppt
如: BRA * BRA $
这两条指令均表示程序在当前位置处原地“踏步”。
5、“ * ”处于汇编语句中的第一列时,表示该行 为注释语句。 “ ;”之后的内容为注释。如:
*为日后的阅读提供方便而加注释* LDA #$5A ;传数指令
§3.1 M68HC08汇编语言的相关约定
6、M68HC08指令系统中的操作数多数为8位,但可 以通过在字节数前面加“>”的方法将其扩展为16位。
TAX ;A→X TXA ;X→A
§3.2 M68HC08寻址方式
3.2.2 立即寻址方式(IMM) 立即寻址方式中,操作数包含在操作码的后继字符 中,立即寻址指令多为2个字节,第一字节为操作码, 第二字节为操作数。 LDA #%01011010 ;%01011010→A ADD #$30 ; (A+$30)→A ADC #$30 ; (A+$30+C)→A AND #$FF ; (A∧$FF)→A LDHX #$8030 ;$8030→H:X中,80→H,30→X
移一位。
§3.2 M68HC08寻址方式
3.2.7 堆栈寻址方式
(2) 16偏移量堆栈寻址
LDA $0110,SP ; (SP+0110H)→A
ADD $0120,SP AND $0130,SP
; A+(SP+0120H)→A ; A∧(SP+0123H)→A
§3.2 M68HC08寻址方式
3.2.8 存储器到存储器寻址 指令格式:MOV 源操作数地址,目的操作数地址 (1)立即寻址到直接寻址(IMD)
LDA $0110,X ; (H:X+$0110)→A INC $0110,X ;(H:X+$0110)+1→(H:X+$0110) 变址寻址方式中三种方式都可以访问64K字节空间, 但汇编后的指令有长短,速度有快慢。无偏移量指 令最短,速度最快,扩展寻址方式指令最长,速度 最慢。

第三章MCS51系列单片机指令系统及汇编语言程序设计

第三章MCS51系列单片机指令系统及汇编语言程序设计
AJMP addr11 绝对转移指令为2K地址范围内的转移指令,对转移目的地址的要求与 ACALL指令中对子程序入口地址的要求相同。 【3】短转移指令
SJMP rel ;PC+ 2 + rel→PC 短转移指令为一页地址范围内的相对转移指令。因为rel为1字节补码 偏移量,且SJMP rel指令为2字节指令,所以转移范围为-126D~+ 129D 【4】间接转移指令
表3.4 程序存储器空间中的32个基本2K地址范围
0000H~07FFH 0800H~0FFFH 1000H~17FFH 1800H~1FFFH 2000H~27FFH 2800H~2FFFH 3000H~37FFH 3800H~3FFFH 4000H~47FFH 4800H~4FFFH 5000H~57FFH
3. 寄存器寻址
以通用寄存器的内容为操作数的寻址方式。通用寄存 器包括:A,B,DPTR,R0~R7。其中,R0~R7必须在 工作寄存器组之中。
例如:INC R0 ;(R0)+1→R0
需要注意的是,A和B既是通用寄存器,又是具有直 接地址的特殊功能寄存器。
4. 寄存器间接寻址
以寄存器中的内容为地址,该地址中的内容为操作数的寻址方式。能够 用于寄存器间接寻址的寄存器有:R0,R1,DPTR,SP。其中,R0,R1必 须在工作寄存器组之中,SP仅用于堆栈操作。
MCS-51单片机共有111条指令,按功能分类, MCS-51指令系统可分为5大类:
➢ 数据传送类指令(共29条) ➢ 算术操作类指令(共24条) ➢ 逻辑操作类指令(共24条) ➢ 控制转移类指令(共17条) ➢ 布尔变量操作类指令(共17条)
1.数据传送类指令(共29条)
以累加器A为目的操作数类指令(4条)

单片机原理与应用-基于AT89S51+Proteus仿真 第2版 第3章 指令系统与汇编语言程序设计

单片机原理与应用-基于AT89S51+Proteus仿真 第2版 第3章 指令系统与汇编语言程序设计

3. 编写程序较为复杂 汇编语言要安排运算的每一个细节
4. 汇编语言用到大量的各类转移指令,这些跳转指 令加大了调试的难度
使用领域:
第3章 指令系统与汇编语言程序设计
要求执行效率高,反应快的领域 如:操作系统内核,实时系统
与硬件资源密切相关的软件开发 如:设备驱动程序
受存储容量限制的应用领域 如:家用电器的计算机控制功能
没有适当的高级语言开发环境
不宜使用的领域: 大型软件的整体开发
第3章 指令系统与汇编语言程序设计
汇编语言(Assembly Language)——用助记(字)符代替操 作码,用地址符号代替地址码的一种面向机器的程序 设计语言;
汇编语言特点——代码精炼、执行速度快,但不便于编写 较复杂的程序;
汇编程序处理过程——输入源程序→检查语法正确性(如有 语法错误,输出错误信息)→翻译成二进制目标程序。
单片机原理与应用
第3章 指令系统与汇编语言程序设计
第3章 单片机的工作就是执行程序,而程序是指令的有序集 合。汇编语言是最基本的编程方式,而C语言则是单 片机程序开发的主流。对于应用C语言程序开发的读 者来说,了解单片机的指令系统和汇编语言也是十分 必要的。本章主要介绍AT89S51单片机的指令系统与 汇编语言程序设计。 学习目标: 掌握51单片机指令系统与汇编语言程序的基本概念。 了解51单片机汇编指令的分类、语法规则、功能及程 序用法。 了解汇编语言程序设计步骤及编程方法。
;若A≠R0,转START ; A + 10H →A ; A←0 ;子程序返回
第3章 指令系统与汇编语言程序设计
[标号:] 操作码 [操作数] [;注释]
➢ 注释是对指令的解释性说明,用以提高程序的可读 性; ➢ 可用任何文字或符号描述,可以省略; ➢ 由(英文)分号开始,无需结束符号。

微机原理与接口技术第3章(指令部分)

微机原理与接口技术第3章(指令部分)
第 3 章 指令系统及汇编语言程序设计
例:编程计算 0+1+2+3+4+ -----10 编程计算
MOV AL,0 , MOV BL,1 , MOV CL,10 NEXT:ADD AL,BL , INC BL DEC CL JNZ NEXT ;CL≠0 转 ≠ HLT
1
3.1 概述 一、指令包含的基本内容
12
(3)相对寻址
例: MOV AX, [SI+100H]
;结果 : 结果 AX (DS×16+SI+100H) ×
例:MOV AL,[BP+DATA] MOV AL, DATA[BP] ; DATA是符号表示的位移量。 表示的位移量 是符号表示的位移量。
结果 : AL (SS×16+BP+DATA) ×
11
(2)间接寻址 例:MOV AX,[BX] , •结果 : AX 结果 (DS×16+BX) ×
...
3000H:0000H : • EA= BX /SI /DI , 物理地址=DS*16+EA 物理地址 • EA= BP 物理地址=SS*16+EA 物理地址 :1234H :50H :1235H :30H
1. 做什么操作? 做什么操作? MOV ,ADD, OR,CMP等助记符 等助记符
2. 操作的数据是什么? ①CPU内的寄存器; 操作的数据是什么? 内的寄存器 内的寄存器; 内存的某一个或几个单元 单元; ②内存的某一个或几个单元; 结果放在那里? 3. 结果放在那里? 立即数。 ③立即数。 端口; 端口 ④I/O端口; 下一条指令在哪里? 4. 下一条指令在哪里? IP←IP+1

第3章_MCS-51单片机指令系统及汇编语言程序设计2

第3章_MCS-51单片机指令系统及汇编语言程序设计2

3. 汇编语言的语句格式是什么?使用标号有什么限制?注释段起什么作用? 答案: MCS-51汇编语言的语句格式应符合下列结构: 【标号:】 操作码 【操作数】【;注释】 标号位于语句的开始,由以字母开头的字母和数字组成,它代表该语句的地址。 标号与操作码之间要用“:”隔开,标号与“:”之间不能有空格,“:”与操 作码之间可以有空格。 注释在语句的最后,以“;”开始,是说明性的文字,与语句的具体功能无关。 4. MCS-51汇编语言有哪几条常用伪指令?各起什么作用? 答案: ORG:汇编程序起始地址,用来说明其后程序段在存储器中存放的起始地址; EQU:赋值指令,用来给变量标号赋予一个确定的数值; DB:定义数据字节,指令按字节数的形式把数据存放在存储单元中; DW:定义数据字,按字(双字节)的形式把数据存放在存储单元中; DS:定义存储区,从指定的地址单元开始,保留一定数量的存储单元; BIT:位定义,其功能是把位地址赋给字符名称; END:汇编结束,表明汇编语言程序结束。
2.顺序程序
顺序程序是指程序中没有使用转移类指令的程序段,机器执行这 类程序时也只需按照先后顺序依次执行,中间不会有任何分支、循环, 也不需要调用子程序。 例:将一个单字节十六进制数转换成BCD码。 解:算法分析。单字节十六进制数在0~255之间,将其除以100后, 商为百位数;余数除以10,商为十位数,余数为个位数。 设单字节数存放在40H,转换后,百位数存放在R0中,十位数存 放在R1中,个位数存放在R2中,具体程序如下: ORG 0030H MOV A, 40H ;将单字节十六进制数送入A中 MOV B,#64H ;将100送入B中, #64H可直接写成#100 DIV AB MOV R0,A ;百位数送R0,余数在B中 XCH A,B ;余数送入A中 MOV B,#0AH ;将10送入B中, #0AH可直接写成#10 DIV AB ;商为十位数,余数为个位数 MOV R1,A MOV R2,B SJMP $

单片机原理与应用徐爱钧答案

单片机原理与应用徐爱钧答案

单片机原理与应用徐爱钧答案【篇一:单片机原理实用教程基于proteus虚拟仿真】p class=txt>【作者】徐爱钧编著【isbn】978-7-121-07543-8【出版社】电子工业出版社【出版日期】2009年1月【内容简介】本书系统地阐述了基于proteus虚拟仿真技术的8051单片机原理与接口技术,详细论述了在proteus软件平台上进行单片机应用系统设计的原理与方法,介绍了8051单片机的基本结构、中断系统、定时器以及串行口的工作原理、8051指令系统与汇编语言程序设计、dac与adc接口技术、键盘与显示器接口技术,并以实例方式介绍了在proteus平台上进行单片机应用系统虚拟仿真设计的方法,给出了大量在proteus集成环境isis中绘制的原理电路图和仿真程序,并提供一张包含全部应用实例的配套光盘,其中所有实例均可在proteus软件平台上直接运行。

本书可作为高等院校工业自动化、电子测量仪器、计算机应用等相关专业单片机原理与应用课程的教学用书,也可作为广大从事单片机应用系统开发的工程技术人员的参考书。

【宣传语】用多个实例讲述在proteus平台上设计单片机应用系统的方法,并提供原理电路图和仿真程序【前言】单片机是现代电子技术的新兴领域,它的出现极大地推动了电子工业的发展,已成为电子系统设计中最为普遍的应用手段。

近年来单片机技术得到了突飞猛进的发展,各种单片机开发工具层出不穷。

虚拟仿真就是近年来兴起的一种新型应用技术,采用虚拟仿真技术,在原理图设计阶段就可以对单片机应用设计进行评估,验证所设计电路是否达到所要求的技术指标,还可以通过改变元器件参数使整个电路性能达到最优化。

这样就无须多次购买元器件及制作印刷电路板,节省了设计时间与经费,提高了设计效率与质量。

英国labcenter公司推出的proteus软件是一款极好的单片机应用开发平台,它以其特有的虚拟仿真技术很好地解决了单片机及其外围电路的设计和协同仿真问题,可以在没有单片机实际硬件的条件下,利用pc以虚拟仿真方式实现单片机系统的软、硬件同步仿真调试,使单片机应用系统设计变得简单容易。

〈微型计算机原理及应用〉自学指导书(本)解析

〈微型计算机原理及应用〉自学指导书(本)解析

自学指导资料微型计算机原理及接口技术《机械设计制造及其自动化》专业《热能与动力工程》专业《电气工程及其自动化》专业等层次:专升本、高起本西安理工大学继续教育学院二00八年九月《微型计算机原理及接口技术》自学指导书编写者:田敬民自学总学时:100学时适用专业:《机械设计制造及其自动化》(专升本) 《热能与动力工程》(专升本) 《测控技术与仪器》(专升本) 《计算机科学与技术》(专升本)《电气工程及其自动化》(高起本) 《计算机科学与技术》(高起本)《机械设计制造及其自动化》(高起本)一、学习目的和要求:“微型计算机及其接口技术”是一门重要的专业基础课,侧重于微型计算机的基本原理和工程实践.通过本课程的学习,使学生具有微型计算机应用系统的分析能力和初步设计能力。

本课程以介绍硬件知识为主,但在构成一个微型计算机应用系统时,还必须具有用汇编语言源程序的读写能力.读写汇编语言编写的应用程序是本课程的主要内容之一,是与硬件电路工作密切相关的不可分割的部分。

理论指导实践是本课程的重要特点。

二、学习方法:1.阅读教材前,应先了解本章内容要求及重点难点,做成心中有数,有的放矢。

2.阅读教材时逐段细读,集中精力,吃透每个知识点,深刻理解基本概念和基本理论,对基本方法和基本技能必须牢固掌握,阅读中遇到个别问题,可暂时搁置,留待面授时解决。

3.在学完一章后,应认真完成教材中的有关思考题和习题,这是帮助学生理解,消化和巩固新学知识培养分析问题,解决问题能力的重要环节。

作业题必须按时完成,作为考核成绩的依据。

4.根据教学计划规定,本课程安排中集中面授,面授内容主要是本课程的重点难点,解答学生学习中的问题.5.本课程为考试课程,课程结束后进行考试.三、学习进度表:章次课程内容自学学时(H) 面授学时(H)1 计算机基础知识(预备知识) 4 22 微型计算机概述8 43 指令系统及汇编语言程序设计30 64 半导体存储器8 25 输入/输出技术12 46 常用的输入/输出接口方法38 4合计100 22四、各章节内容重点、难点和作业题、思考题第一章 (预备知识)计算机基础知识1.内容:各种进位计数制及编码计算机中,无符号数和有符号数表示方法:原码反码补码2.重点:各种进位计数制的相互转换、数的原码、反码、补码表示3.难点:补码概念及数的变补方法作业题:教材P.14.习题:1.1, 1.2, 1.3, 1.4, 1.9, 1.10, 1.11, 1.12, 1.17第二章微型计算机概述1.内容:微处理器和微型计算机:微型计算机系统的总线结构,8088 / 8086 CPU结构及引脚功能:系统总线形成及时序2.重点:8088(8088)微处理器内部结构,引脚信号和总线时序3.难点:引脚信号和总线时序,即三总线信号在典型的总线周期中出现的时间关系即时序。

第3章 MCS-51 的指令系统与汇编语言程序设计1

第3章 MCS-51 的指令系统与汇编语言程序设计1

每条指令在执行时要花去一定的时间,以机器周期为单 位。按指令的执行时间来分: (1) 1个机器周期(12个时钟振荡周期)指令64条 (2) 2个机器周期(24个时钟振荡周期)指令45条 (3) 4个机器周期(48个时钟振荡周期)只有乘、 除两条指令的执行时间。 12MHz晶振:机器周期为1s。 按指令的功能分类,可分为5大类: 数据传送类(29条);算术运算类(24条) 逻辑运算及移位类(24);控制转移类(17条) 位操作类(17条)
第3章 MCS-51的指令系统与汇编语言程序设计
【学习目标】 掌握单片机的指令系统,熟悉指令功能、指令格 式以及指令的寻址方式; 理解汇编语言的特点以及与机器语言之间的区别 和联系; 掌握汇编语言程序设计的步骤、汇编语言程序的 结构; 熟练掌握汇编语言应用程序的开发
xuminxm11@ 密码:xuminxm1111
2.汇编语言 4) (4)DB(Define Byte)
汇编结果:(1000H) 汇编结果:(2000H) =25H =25H
页码 P68 P70 P73
章节或标题
(5)DW(Define Word) (4)分配内存单元
原错误
例如, ORG 1000H
更正为
例如, ORG 2000H
分配内存工作单元,确 定层序和数据的真实地 址
; 取高位 ; 两数高位相加 ; 存“和”的高位
【例3.11】 有一数据块存放起始地址为DATA1的片外RAM 区,数据块以“0”为结束标志,要求将其传送到DATA2为 起始地址的片内RAM区。编写程序如下: MOV DPTR, #DATA1 MOV R0,#DATA2 LOOP:MOVX A, @DPTR JZ ENDO MOV @R0,A INC DPTR INC R0 AJMP LOOP ENDO: SJMP $ ;设置片外RAM数据块地址指针 ;设置片内RAM数据块地址指针 ;取数 ;检测是否为0?为0,转ENDO ;不为0,传送 ;修改地址指针

第3章(指令系统)

第3章(指令系统)
要指标之一。
在 MCS -51单片机指令系统中, 有以下 7种寻址方式: (1) 立即寻址; (2) 直接寻址; (3) 寄存器寻址; (4) 寄存器间接寻址; (5) 基址寄存器加变址寄存器间接寻址;
ห้องสมุดไป่ตู้
(6) 相对寻址;
(7) 位寻址。
1、立即数寻址 所要找的操作数是一二进制数或十进制数,出现在指令中, 用“#”作前缀 MOV A,#20H 2、寄存器寻址 操作数存放在工作寄存器R0 ~ R7中,或寄存器B中。 MOV A,R2 3、直接寻址
第3章 MCS - 51单片机指令系统
3.1
寻址方式
3.2 指令系统
一、汇编语言程序设计的意义 什么是程序? 完成某项特定任务的指令的集合。 计算机按程序一条一条地依次执行指令,从而完成指定任务。
要让计算机完成各项任务,就应设计各种程序。
程序设计语言:
机器语言: 用二进制代码表示指令和数据。 汇编语言: 用助记符表示指令操作功能,用标号表示操作对象。
例1、设(SP) = 09H,(DPTR)= 0123H,分析: 执行 PUSH DPL PUSH DPH
后,各单元中的内容。
POP direct 指令执行中,机器也自动进行两步操作: (1)(direct) ((SP))
(2)(SP)
(SP)- 1
例2、设(SP)= 0BH,(0BH)= 01H,(0AH)= 23H 执行 POP DPH POP DPL 后,各单元中的内容。
器 0 区), 执行该指令时,将累加器A中的数据传送至工作寄
存器R0(内部RAM 00H)单元中。
3. 数据传送到内部RAM单元或特殊功能寄存器SFR的指令 MOV direct, A MOV direct, Rn MOV direct, direct MOV direct, @Ri

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

第03章 MCS - 51单片机指令系统
这里源操作数不能进行寄存器间接寻址, 也就是MOV Rn , @Rn 这个指令是不能用 的。
第 二 节 数 据 传 送 指 令
第3章 MCS-51单片机指令系统
(2)将数据传送到工作寄存器Rn的指令(3条) 例:已知累加器A的内容为30H,寄存器R7的内容 为50H,内部RAM30H单元的内容为40H,内部 RAM50H单元的内容为10H,请指出下列每条指令 执行以后相应单元内容的变化.
第 一 节 指 令 格 式 与 寻 址 方 式
第3章 MCS-51单片机指令系统
(6) 相对寻址:
在MCS -51 指令系统中设有转移指令, 分 为直接转移和相对转移指令, 在相对转移 指令中采用相对寻址方式。这种寻址方式 是以PC的内容为基本地址, 加上指令中给 定的偏移量作为转移地址,也就是目的地 址(用来修改PC的值)。指令中给出的偏 移量是一个 8 位带符号的常数, 可正可负, 其范围为-128~+127。
第3章 MCS-51单片机指令系统
(1) 立即寻址:
立即寻址方式是将操作数直接存放在指令字 节中,作为指令的一部分存放在代码段里。 比如:MOV A, #3AH 跟在指令操作码后面的数就是参加运 算的数, 该操作数称为立即数。立即数有一字 节和二字节两种可能, 如指令: MOV DPTR, #0DFFFH 上述两条指令均为立即寻址方式, 第 一条指令的功能是将立即数 3AH送累加器A中, 第二条指令的功能是将立即数 0DFFFH送数据 指针DPTR中(DPH, 0FFH→DPL)。
第 二 节 数 据 传 送 指 令
第3章 MCS-51单片机指令系统
3.2数据传送指令
程序中使用最多的指令,主要用于内部RAM、 寄存器、外部RAM以及程序存储器之间的数据 传送、保存以及交换。 工作原理:将源操作数简单地传给目的 操作数,而源操作数的内容不变,PSW的内容 不改变。 分类:内部数据传送指令、外部传送指 令、查表指令、交换指令和堆栈指令。

第三章MCS-51指令系统及汇编语言程序设计

第三章MCS-51指令系统及汇编语言程序设计

指 令 系 统 的 寻 址 方 式
MCS-51指令系统及一般说明 MCS-51指令系统及一般说明
在介绍指令之前, 在介绍指令之前 , 先对指令中使用的一些符号意义进行简单 的说明。 的说明。 direct---直接地址, ---直接地址 ① direct---直接地址,即8位的内部数据存储器单元或特殊 功能寄存器的地址。 功能寄存器的地址。 #data--包含在指令中的8位常数。 --包含在指令中的 ② #data--包含在指令中的8位常数。 #datal6--包含在指令中的16位常数 包含在指令中的16位常数。 ③ #datal6--包含在指令中的16位常数。 rel-- 位的带符号的偏移量。用于SJMP --8 SJMP及所有的条件转移 ④ rel--8位的带符号的偏移量。用于SJMP及所有的条件转移 指令中。 指令中 。 偏移量按相对于下一条指令的第一个字节地址与跳转 后指令第一个字节地址之差计算, 范围内取值。 后指令第一个字节地址之差计算,在-128~+127范围内取值。 128 +127范围内取值 DPTR--数据指针,可用作16位的地址寄存器。 --数据指针 16位的地址寄存器 ⑤ DPTR--数据指针,可用作16位的地址寄存器。
指 令 系 统 的 寻 址 方 式
寄存器间接寻址
寄存器间接寻址方式可用于访问内部RAM 或外部数据存储器 寄存器间接寻址方式可用于访问内部 RAM或外部数据存储器 。 RAM 或外部数据存储器。 这种寻址方式是由指令指定某一寄存器的内容作为操作数的 地址。 地址。 其中(Ri)=40H (Ri)=40 例如 MOV A,@Ri ;(i=0或1),其中(Ri)=40H 这条指令表示从Ri中找到源操作数所在单元的地址, Ri中找到源操作数所在单元的地址 这条指令表示从Ri中找到源操作数所在单元的地址,把该地 址中的内容传送给A 即把内部RAM 40H单元的内容送到累加器A RAM中 址中的内容传送给A。即把内部RAM中40H单元的内容送到累加器A 中。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TSX
将寄存器SP中内容送入寄存器X
(SP)→X
TSY
将寄存器SP中内容送入寄存器Y
(SP)→Y
TXS
将寄存器X中内容送入寄存器SP
(X)→SP
TYS
将寄存器Y中内容送入寄存器SP
(Y)→SP
TPA
将寄存器CCR中内容送人寄存器A
(CCR)→A
TAP
将寄存器A中内容送人寄存器CCR
(A)→CCR
• 注意:TAB、TBA影响标志位,TFR不 影响标志位;
• 实际只有上述3条指令,其余写法是为 • 例:
了兼容老版本MCU
• TAB
• 8位到16位:通过符号位扩展后传送 • TFR A, Y
• 16位到8位:舍弃高8位,只传送低8位 • TAP ( 相当于 TFR A, CCR)
重庆大学通信工程学院 任勇、王永东
4、寄存器交换指令: Exchange
第3 指令系统与汇编语言程序设计
兼容以前的S12 CPU 丰富、强大、灵活,高速16位处理,共400多条 按功能:数据传送、算术运算、逻辑运算、位操作、移位、控制、特殊等, 寻址方式多。
3.1 CPU内部寄存器 区别于I/O寄存器;
6个16bit: D(A+B), X, Y, SP, PC, CCR
LDAA #$1F LDAB $40B0 LDD 2,X LDY 2,SP+
操作 (M)→A (M)→B (M:M+1)→(A:B) (M:M+1)→SPH:SPL (M:M+1)→XH:XL (M:M+1)→YH:YL
重庆大学通信工程学院 任勇、王永东
2、寄存器存储指令:STore(影响标志位)
(3)直接寻址(DIR)
如 LDAA $55 (8位地址)
(4)扩展寻址(EXT)
如 LDAA $200A (16位地址)
(5)相对寻址(REL)
SHIFT: LDAA #$55
BRA SHIFT (相对地址跳转)
重庆大学通信工程学院 任勇、王永东
(6)变址寻址(IDX)
特征:以变址寄存器X、Y、SP、PC的内容为基址,再加或减个值,构 成最终的地址
……
重庆大学通信工程学院 任勇、王永东
3.3.1 数据传送类指令
1、寄存器加载指令: LoaD (注:影响标志Байду номын сангаас)
助记符 LDAA LDAB LDD LDS LDX LDY
功能 将数据载入寄存器A 将数据载入寄存器B 将数据载入寄存器D 将数据载入寄存器SP 将数据载入变址寄存器X 将数据载入变址寄存器Y
如 LDAA [1000,X]
;((1000+X))A
JMP [D,PC]
;((D+PC))PC
变址寻址---重要而常用,表象:指令操作码后的操作数是X,Y,SP,PC (指针)
重庆大学通信工程学院 任勇、王永东
3.3 指令概览 分类(表3-1): ➢ 数据传送指令 ➢ 算数运算指令 ➢ 逻辑指令 ➢ 程序控制指令 ➢ 中断指令 ➢ CPU控制指令 ➢ 其它指令
➢ 5位/9位/16位常数偏移量的变址寻址
如 LDD 6,X
;(6+X)D(A), (6+X+1)D(B)
LDAB $FF,Y
;($FF+Y)B
LDAA $7200,PC
;($7200+PC)A
(7)累加器变址寻址(IDX)
➢ 累加器内容做偏移量的变址寻址
如 LDAA B,X
;(B+X)A
LDAA D,Y
;(D+Y)A
(8)自加自减的变址寻址(IDX)
➢ 自动加减(1~8),先加、先减、后加、后减
如 STAA 1,-X
;X-1X,A(X)
STAA 1,-SP
;SP-1SP, A(SP)
(等效PSHA)
LDX 2,SP+
;(SP)X, SP+2SP
(等效PULX)
(9)间接变址寻址(IDX)
➢ 16位常数/累加器D偏移量的间接变址寻址 (内存中再取新地址)
重庆大学通信工程学院 任勇、王永东
3.2 寻址方式
概念---CPU执行指令时确定操作数所在单元地址的方式。 操作数来自:寄存器、指令代码、存储单元(都有地址)
S12(X)有9大种寻址方式:
(1)隐含寻址(INH)
如 ROLA
(循环左移,操作数A隐含在指令中)
(2)立即数寻址(IMM)
如 LDAA #$FF (将十六进制数FF调入A中,#表示)
8 位累加器 A
7
07
15
8 位累加器 B 0 8 位累加器 A、B 0 16 位累加器 D
15
0 变址寄存器 X
15
0 变址寄存器 Y
15
0 堆栈指针 SP
15
0 程序计数器 PC
S X H I N Z V C 条件码寄存器 CCR
进位/借位标志 C 溢出标志 V 零标志 Z 负标志 N 中断屏蔽位 I 半进位标志 H 非屏蔽中断允许位 X 停止(STOP)模式禁止位 S
• STAA $3F • STD -$2000,PC • STY 2,+SP
重庆大学通信工程学院 任勇、王永东
3、寄存器传送指令: Transfer
助记符
功能
TAB
将寄存器A中内容送入寄存器B
TBA
将寄存器B中内容送人寄存器A
TFR
寄存器之间的数据传送
操作
(A)→B
(B)→A (A、B、CCR、D、X、Y、SP) →A、B、CCR、D、X、Y、SP
建议:平常使用时,不应使用位数不匹配的方式进行数据交换。
重庆大学通信工程学院 任勇、王永东
5、内存数据传送指令:Move
特点:
1、不影响标志位
2、允许地址与地址间传送
3、传送方向是 ->
(例 MOVB $1000, $2000 )
4、16位数据结构是高位在前,低位在后
注: 1、浏览书中指令内容 2、以后编程时再查阅、体会
助记方法:英语含义,如:
CLR = CleaR LDAA = LoaD Accumulator A STAB = STore Accumulator B TAB = Transfer A to B MOVB =Move Byte BEQ =Branch EQual zero
助记符 STAA STAB STD STS STX STY
功能 将寄存器A中内容送入内存单元 将寄存器B中内容送人内存单元 将寄存器D中内容送入内存单元 将堆栈SP中内容送入内存单元 将变址寄存器x中内容送人内存单元 将变址寄存器Y中内容送入内存单元
操作 (A)→M (B)→M (A)→M, (B)→M+1 (SPH:SPL)→M:M+1 (XH:XL)→M:M+1 (YH:YL)→M:M+1
相关文档
最新文档