计算机系统I汇编语言 PPT

合集下载

单片机课件 汇编语言程序设计PPT

单片机课件 汇编语言程序设计PPT
结构如下:
4.1 概述
---- 程序头( 即定义变量和等值符号)---SCL BIT P1.2 ;定义SCL位变量 SDA BIT P1.3 ;定义SDA位变量 ByteCon DATA 30H ;定义字节变量
ByteCon ……
ORG nnnn ;CPU复位后,第一指令机器码存 放单元地址,具体值由CPU类型决定。
用到的有关寄存器,如 Acc、PSW等,即保护现场 …… ;中断服务程序实体,具体指令由程序功能决
定 POP Acc POP PSW ;恢复现场
4.1 概述
CLR TI ;清除中断标志(在51系列中,对于电平触 发的外中断INT0和 INT1、串行接收及发送中断 RI、TI 等,不自动清除,需要在中断服务结束前,通过CLR指 令清除。
例4.9 在51系列中,外部中断0的入口地址为 0003H,显然只有0000H、0001H和0002H三个单 元,刚好可以存放一条长跳转指令的机器码。
4.1 概述
----- 主程序 ----ORG yyyy ;其中yyyy就是主程序代码存放区 的首地址,如0100H Main: MOV SP,#5FH ;初始化有关寄存器,如 设置SP、选择工作寄存器组。
际问题处理程序编写能力。
4.1 概述
4.1 概述 程序设计:为了解决某一个问题,将所设计应用
系统(单片机类型)的指令按一定顺序组合在一起。即用 计算机所能接受的语言把解决问题的步骤描述出来。
单片机汇编源程序结构与通用微机汇编源程序结构 略有不同,原因是:
1、一般没有可以直接利用的监控程序,所有程 序均要自己编写。
转移。(程序走向只有一条路径。)
例4.11 将两个半字节数组合成一个字节数。 设内部RAM中40H、41H单元分别存放着8位二进制

计算机接口技术课件 第三章 MCS-51单片机汇编语言与程序设计基础

计算机接口技术课件 第三章 MCS-51单片机汇编语言与程序设计基础

例2:编制一段程序,要求在端口线 :编制一段程序,要求在端口线P1.0,P1.1上分别产生周期为 , 上分别产生周期为 200us和400us的方波.设单片机的外接频率为 的方波. 和 的方波 设单片机的外接频率为12MHz. . 分析:利用定时器产生方波,将定时器设置成为工作方式 , 分析:利用定时器产生方波,将定时器设置成为工作方式3,将寄 存器T0定时 定时100us,T1定时 定时200us,达到定时时间后引起中断,在中 存器 定时 , 定时 ,达到定时时间后引起中断, 断服务程序中各自将P1.0和P1.1引脚取反. 引脚取反. 断服务程序中各自将 和 引脚取反 定时器预设值的设置: 定时器预设值的设置: 单片机的晶体振荡频率为12MHz,计时器的计时频率为1MHz,机 单片机的晶体振荡频率为 ,计时器的计时频率为 , 器周期为1us. 定时 定时100us,因此寄存器 需要计数 需要计数100次 器周期为 . T0定时 ,因此寄存器T0需要计数 次 ,其预 置值为64H+1=9CH. T1定时 定时200us,因此寄存器 需要计数 需要计数200次 置值为 . 定时 ,因此寄存器T1需要计数 次 其预置值为C8H+1=38H. ,其预置值为 . 定时器T0,T1的工作方式设置: 的工作方式设置: 定时器 的工作方式设置 T0采用工作方式 ,因此 采用工作方式3,因此TMOD寄存器的值设置为 寄存器的值设置为#22H. 采用工作方式 寄存器的值设置为 . 定时器T0,T1的控制设置: 的控制设置: 定时器 的控制设置 打开T0, ;要求TCON寄存器的值设置为 寄存器的值设置为#50H. 打开 ,T1;要求 寄存器的值设置为 .
定义存储区域的大小. 6. DS —定义存储区域的大小. 定义存储区域的大小 例: ORG 0350H DS 3

汇编语言PPT课件

汇编语言PPT课件

使两个FET均截止,然后方可作高阻抗 MCS-51单片机的硬件资源

但在P0口连接外部存储器时,由于访问外部存储
潭 器期间,CPU会自动向口0的锁存器写入0FFH,所以,
大 学
对用户而言,P0口用作地址/数据总线时,则是一个真正
单 的双向口。

机 原
上面所述为数据由引脚输入的情况,称为“读引

图51(a)是P0口的位结构图,它包括一个输出锁
潭 存器,两个三态缓冲器,一个输出驱动电路和一个
大 学
输出控制电路。

片 读锁存器
机 原
地址/数据 控制
vcc


P0.x
及 内部总线


编 写入

DQ 锁存器 CP Q
MUX

读引脚
2021/7/1
(a)p0口电路逻辑
4
第五章MCS-51单片机的硬件资源
著 组
MOS输入电路,且能驱动四个LSTTL输入。P2口常用
作外部存储器的高八位地址口。当不用作地址口时,
及 应
口的某一位,这些指令是:ANL,ORL,XRL,
用 JBC,CPL,INC,DEC,DJNZ,MOV PX·Y,C,
编 著
CLR PX·Y和SETB PX·Y等,它们的含义详见指令
组 系统一章的说明。
2021/7/1
9
第五章MCS-51单片机的硬件资源
湘 综上所述,P0口既可作地址/数据总线口,这时它
单 0,使上拉场效应管处于截止状态,因此输出级是漏
片 机
极开路电路。这样,当写脉冲加在触发器时针端CP
原 上时,则与内部总线相连的D端数据取反后就出现在

大学课件MCS51单片机指令系统与汇编语言程序设计

大学课件MCS51单片机指令系统与汇编语言程序设计

ANL C, P ; (C)← (C)∧(P)
其中:P是PSW的第0位,C是PSW的第7位。
(4)字节符号地址(字节名称)加位序号的形式。对于部分特 殊功能寄存器(如状态标志寄存器PSW),还可以用其字节名 称加位序号形式来访问某一位。AC 如:
定义:操作数存放在MCS-51内部的某个工作寄存器Rn (R0~R7)或部分专用寄存器中,这种寻址方式称为 寄存器寻址。
特点:由指令指出某一个寄存器的内容作为操作数。 存放操作数的寄存器在指令代码中不占据单独的一个 字节,而是嵌入(隐含)到操作码字节中。
寻址范围:四组通用寄存器Rn(R0~R7)、部分专用 寄存器( A, B, DPTR, Cy )。
伪指令只出现在汇编前的源程序中,仅提供汇编用的某些控制 信息,不产生可执行的目标代码,是CPU不能执行的指令。
(1)定位伪指令ORG
格式:ORG n
其中:n通常为绝对地址,可以是十六进制数、标号或表达式。
功能:规定编译后的机器代码存放的起始位置。在一个汇编 语言源程序中允许存在多条定位伪指令,但每一个n值都应和前
2.2.2 直接寻址
定义:将操作数的地址直接存放在指令中,这种寻址方式称为 直接寻址。 特点:指令中含有操作数的地址。该地址指出了参与操作的数 据所在的字节单元地址或位地址。计算机执行它们时便可根据 直接地址找到所需要的操作数。
寻址范围:ROM、片内RAM区、SFR和位地址空间。P42
2.2.3 寄存器寻址
定义:指令中给出的操作数是一个可单独寻址的位地址,这种寻址 方式称为位寻址方式。
特点:位寻址是直接寻址方式的一种,其特点是对8位二进制数中 的某一位的地址进行操作。
寻址范围:片内RAM低128B中位寻址区、部分SFR(其中有83位 可以位寻址)。

计算机组成原理与汇编语言

计算机组成原理与汇编语言

十进 十六进 8 8 9 9 10 A 11 B 12 C 13 D 14 E 15 F
计 算 机 组 成 原 理 与 汇 编 语 言




二进 0000 0001 0010 0011 0100 0101 0110 0111
十进 0 1 2 3 4 5 6 7
二进 1000 1001 1010 1011 1100 1101 1110 1111
计 算 机 组 成 原 理 与 汇 编 语 言

基本字长 指参与运算的操作数的 基本位数;决定通用寄存器、加法 器和数据总线等部件的宽度。

位 字节 字

主存容量 主存储器所能够存储的全 部信息总量。

K=1024 M=1024K G=1024M
计 算 机 组 成 原 理 与 汇 编 语 言
(1101.1101)2
综合结果为
(13.8125)10
计 算 机 组 成 原 理 与 汇 编 语 言

二进,八进,十六进
按N展开式求和
例 :
十进
(11001.101)2
(27451.12)8 (2AD.1C)16
计 算 机 组 成 原 理 与 汇 编 语 言
(11001.101)2
=1*2 4 +1*2 3 +0*2 2
十进 8 9 10 11 12 13 14 15
计 算 机 组 成 原 理 与 汇 编 语 言

数制间转换 原则:整数变整数,小数变小数;

十进
二进
整数部分:除2取余倒排,直到商为0
; 小数部分:乘2取整,直到小数位为0 ; 例: (13.8125)10
计 算 机 组 成 原 理 与 汇 编 语 言

汇编语言

汇编语言

1.1.2 汇编语言
汇编指令-用能反映机器指令功能的单 词或词组来代替机器指令的操作码,用 相应的符号表示CPU内部资源和内存的 操作数 例:汇编指令: movl %esp,%ebp 二进制机器指令为: 1000100111100101 十六进制机器指令为: 89 E5
1.1.2 汇编语言
汇编语言是汇编指令集、伪指令集及其 使用规则的统称。 用汇编语言编写的程序称作汇编语言程 序,或汇编语言源程序 汇编语言源程序必须经过翻译才能变成 可执行的机器语言程序,这个翻译过程 称作汇编。
1.2.3 学习Linux环境的汇编语言 学习Linux环境的汇编语言
Linux是GNU的一员,遵循公共版权许 可证(GPL) ,是一款免费的操作系统 Linux是计算机爱好者自己的操作系统 自由的思想,开放的源码 GNU项目为Linux系统提供了丰富的程 序开发环境。我们可以使用的有GNU 汇编器gas,连接器ld、调试器gdb以及 C语言编译器gcc等
1.1.4 汇编语言的主要特性
与机器的相关性 执行的高效性 编写源程序的繁琐性 调试的复杂性 硬件控制的直接性
1.2.1 汇编语言的主要应用
程序要求具有较快的执行时间,或者只 能占用较小的存储容量 程序与计算机硬件密切相关,程序要直 接有效地控制硬件 大型软件需要提高性能、优化处理的部 分 没有合适的高级语言的时候 系统的底层软件、加密解密软件、分析 和防治计算机病毒等
1.1.3 高级语言与汇编语言
高级程序设计语言(high-level language, HLL)使用接近于人类自然语言的语法 习惯及数学表达形式 可读性、可移植性好,编写和调试程序 相对容易,编程效率高 产生的目标程序的效率不高,很难对硬 件直接加以控制

计算机组成原理PPTPPT课件

计算机组成原理PPTPPT课件
➢钱晓捷,微型计算机原理及应用,清华大学出版社, 2006
精选ppt课件2021
2
目录
☼ 第一章 计算机系统概论 ☼ 第二章 指令系统 ☼ 第三章 中央处理部件CPU ☼ 第四章 存储系统 ☼ 第五章 输入输出(I/O)系统
精选ppt课件2021
3
第一章 计算机系统概论
1.1 计算机的基本概念
如何正确理解“计算机”这个术语呢? 凡是能完成以下三类工作的机器就是计算机: ①能接受程序和数据的输入,并存储起来; ②能按照存储的程序对输入的数据进行自动处理 并得出结果; ③能把结果输出。
特点:控制简单,译码时间短,编码浪费,n位操作码能表示2n条指令
操作码长度不固定:操作码分散在指令字的不同字 段内
特点:能有效压缩操作码的平均长度,控制复杂,指令译码、分析较难
精选ppt课件2021
17
现代计算机中多采用不等长操作码——不同类的 指令,其操作码的长度不同。
对于一部分不需要操作数的指令可以将指令操作 码扩展到操作数字段,操作码的长度随地址码的减少 而增加。
在不增加指令长度的情况下,能充分利用指令的 各个字段扩展操作码的长度,使它可以表示更多的指 令。
实现不等长操作码可以通过扩展操作码法实现。
精选ppt课件2021
18
操作码扩展实现方式 等长扩展
每次扩展的操作码的位数相同。例如:4-8-12扩展法、 3-6-9扩展法、4-6-8扩展法 不等长扩展
10010101 10100001
操作码用来表明本条指令要 求计算机完成的操作,如加 法,减法,取数等,CPU中有 专门的译码电路来识别解释 各操作码
地址码用来给出参加本次运算的操作数和 运算结果所在的地址,根据地址码个数, 指令格式分为零地址、一地址选ppt课件2021

《汇编语言》PPT课件

《汇编语言》PPT课件



理 例3-3
ORG 1000H

DW
1234H
应 用 编
SJ_DATA: DW
56H,2000
经汇编后,从地址1000H处存贮器的内容为:

〔1000H〕= 12H

〔1001H〕= 34H
〔1002H〕= 00H
〔1003H〕= 56H
〔1004H〕= 07H
§3.1.2 汇编伪指令
湘 四、EQU 赋值伪指令 潭 字符名称 EQU 项〔数或汇编符号〕
;〔35H〕 A
MOV DPTR,#DPTRA ;0AA00H DPTR
§3.1.2 汇编伪指令
湘 七、BIT定义位地址符号伪指令 潭 字符名称 BIT 位地址
大 学
这里的"字符名称"与标号不同〔其后没有冒号〕,但
单 它是必须的,其功能是把BIT之后的"位地址"值赋给"字
片 机
符名称".
原 理
例3-6:
潭 大
[标号:] DB X1、 X2 … Xn

ORG 1000H

DB

SJ-DATA: DB
0AAH 25,25H

ZFC-DATA: DB
'MCS-51'

理 及 应 用 编 著
经汇编后,从地址1000H处存贮器的内容为: 〔1000H〕= AAH 〔1001H〕= 19H 〔1002H〕= 25H 〔1003H〕= 4DH

编 著 组
eg: MOV MOV MOV
P1,A 70H ,R2 0E0H,78H
; MOV 90H,A ; (A)

PPT-汇编语言源程序的框架结构

PPT-汇编语言源程序的框架结构

JMP BX ;产生多分支转移TAB: JMP SHORT A0 ;转移表JMP SHORT A1JMP SHORT A2A0: LEA DX,S0 ;各分支程序段MOV AH,9INT 21HJMP EXIT1A1: LEA DX,S1MOV AH,9INT 21H
JMP EXIT1A2:LEA DX,S2MOV AH,9INT 21HJMP EXIT1ERROR: MOV DX,OFFSET ERMOV AH,9INT 21HEXIT1: MOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START
A0: LEA DX,S0 ;各分支程序段MOV AH,9INT 21HJMP EXIT1A1: LEA DX,S1MOV AH,9INT 21HJMP EXIT1A2: LEA DX,S2MOV AH,9INT 21HJMP EXIT1
ERROR: MOV DX,OFFSET ERMOV AH,9INT 21HEXIT1: MOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START
图5.8 用转移表法实现多路分支旳构造框图例5.5:编程实现菜单项选择择,根据不同旳选择做不同旳事情。解:假设有3路分支,转移表中旳转移指令分别为:JMP SHORT A0、JMP SHORT A1、JMP SHORT A2;详细见图5.9所示:
参照程序:DATA SEGMENTMENU DB 0DH,0AH,"0:Chinese!"DB 0DH,0AH,"1:English!"DB 0DH,0AH,"2: German!"DB 0DH,0AH,"Please choose one to answer the following question:$"

大学计算机专业-汇编语言

大学计算机专业-汇编语言
CALL指令用于调用子程序,并将返回地址压入堆栈中。
RET指令用于从子程序返回,并从堆栈中弹出返回地 址。
04 汇编语言程序结构
程序的基本结构
汇编语言程序由指令和数据组成,指令告诉计算机做什么,数据则是被处理的对 象。
程序的基本结构包括程序头、程序体和程序尾。程序头包含程序的标识符、版本 号等信息;程序体是程序的主体,包含程序的逻辑实现;程序尾包含程序的结束 标识符。
02
汇编语言的特点是具有高度的可移植性和可读性,同时能够直
接控制计算机硬件。
汇编语言通常用于编写系统软件、驱动程序、嵌入式系统等需
03
要高效控制硬件的程序。
汇编语言的历史和发展
1
汇编语言的历史可以追溯到计算机发展的初期, 当时人们使用助记符来编写机器指令。
2
随着计算机技术的不断发展,汇编语言也在不断 演变和完善,出现了许多不同的汇编器、汇编语 法和指令集。
01
03
汇编语言通常比高级语言执行速度更快,因为其指令 直接对应硬件操作。但高级语言由于其抽象性,使得
编程更加方便和高效。
04
汇编语言的可移植性较差,因为不同的计算机架构有 不同的汇编语言。而高级语言通常更容易在不同的平 台上移植和运行。
THANKS FOR WATCHING
感谢您的观看
汇编语言和高级语言都遵循一定的语法规则,通过编程语 言的指令来控制计算机执行任务。
汇编语言和高级语言都需要经过编译或解释才能被计算机 执行。
与高级语言的主要区别
汇编语言的指令是直接对应计算机硬件操作的,而高 级语言则是一层抽象,通过编译器或解释器转换成机
器指令。
输标02入题
汇编语言的语法相对简单,但需要程序员对计算机硬 件有较深的理解。高级语言的语法相对复杂,但提供 了更丰富的抽象和表达能力。

汇编语言入门教程PPT-第七章宏定义

汇编语言入门教程PPT-第七章宏定义

mainbegin @data
;建立DS内容
dispmsg msg1
;显示msg1字符串
dispmsg msg2
;显示msg2字符串
mainend
;返回DOS
end start
• &——替换操作符,用于将参数与其 他字符分开。如果参数紧接在其他 字符之前或之后,或者参数出现在 带引号的字符串中,就必须使用该 伪操作符
;宏定义 dstring macro string
db ’&string&’,0dh,0ah,’$’ endm
;宏调用
传递注释符
dstring < This is a example. >
第七章第一高章级汇基编础语知言识技术
第七章第一高章级汇基编础语知言识技术
第七章第一高章级汇基编础语知言识技术
第七章第一高章级汇基编础语知言识技术
第七章第一高章级汇基编础语知言识技术
例 宏指令GOTO L,X,REL,Y(其中REL可以是Z,NZ,L,NL等)可以 根据不同情况产生无条件转移指令或比较和条件转移指令。
dstring < 0 !< Number !< 10 >
转义注释符
;宏展开
1
db ’This is a example.’, 0dh,0ah,’$’
1
db ’0 < Number < 10’, 0dh,0ah, ’$’
与宏有关 的伪指令
• 局部标号伪指令 LOCAL 标号列表 宏定义体采用了标号,应使用LOCAL加以说明 它必须是宏定义MACRO语句之后的第一条语句
;; 有参数
endif
int 21h

汇编语言第九章-计算机

汇编语言第九章-计算机

1、单色字符显示
正常属性:黑底白字,光标正常显示, 正常属性:黑底白字,光标正常显示, 则属性值为07 07H 则属性值为07H 反相显示:白底黑字,光标正常显示, 反相显示:白底黑字,光标正常显示, 则属性值为70 70H 则属性值为70H, 黑底白字、光标闪烁,则属性值为87H 黑底白字、光标闪烁,则属性值为87H 87 见书上图9.5和表9-6 见书上图9.5和表9 9.5和表
BIOS显示中断 9.2.2 BIOS显示中断
用来控制光标和颜色的 列出了中断类型为 表9.8列出了中断类型为 列出了中断类型为10H的部 的部 分操作,功能号送AH寄存器 寄存器。 分操作,功能号送 寄存器。
功能1 功能1、控制光标
主要定义光标的大小和是否显示光标 入口参数CH,CL 入口参数 表示光标行开始和结束的,数据分放在 表示光标行开始和结束的 数据分放在 CH,CL的低 位, 的低4位 的低 的第四位为1,光标不显示 当CH的第四位为 光标不显示 ,0显 的第四位为 显 示 单色显示器有光标范围,在 ~ 单色显示器有光标范围 在0~13.
2、彩色字符显示
背景有8种颜色 为 背景有 种颜色(i为0 时) 种颜色 前景有16种颜色 前景有 种颜色,0~1111组合 种颜色 组合 见书上图9.6和表 见书上图 和表9-7 和表 R,G,B表示红绿蓝 表示红绿蓝,BL表示闪烁 代表亮度 表示闪烁,I代表亮度 表示红绿蓝 表示闪烁
3、显示存储器
例9-13
在屏幕中心的小窗口显示字符。 在屏幕中心的小窗口显示字符。 见例LT9-13.ASM 见例 窗口大小:左上角8行列 行列30, 窗口大小:左上角 行列 , 右下角16行 列 列宽20 右下角 行50列,列宽
清屏功能代码段: 清屏功能代码段:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1
注释:Comment ◦ ‘;’之后的所有字符都是注释 ◦ 汇编器将忽略所有的注释 ◦ 注释用于帮助程序员理解程序和存档的需求 ◦ 注释的技巧 不要滥用注释, 比如 “R1加1”,没有提供比指 令更多的信息
提供更深的洞察力, 比如 “指针加1指向下一个 访问的数据”
分隔代码片段
伪操作
用于内存单元的分配,适用操 unamed ?
作数一开始不确定的场合

; 保留3个未命名的内存单元 .BLKW 3

Bob

; 保留1个命名的内存单元 Bob .BLKW 1
num
4
4
; 保留7个命名的内存单元并全部
; 初始化为4
4
num .BLKW 7 #4
4
在内存中定义1串字符串
hello
分配一个字的内存单元空间并初始化为n 定义一个大小为n的字符串,占用n + 1 个内存单元。第n + 1个字符为’\0’ 。
告诉编译器代码在内存中的起始地址
◦ 一个程序只允许一个 .ORIG伪操作 ◦ PC 在程序载入时初始化为.ORIG指向的地址
Example:
.ORIG x3000
LC-3的用户程序的起始地址一般设置为 x3000 LC-3:内存分配
汇编器是和机器的ISA是相关的:符号与指令集定 义的指令保持相应的一致性
• 用容易记忆的符号表示操作码 • 内存的位置用标号表示
为存储分配和数据的初始化提供额外的操作支持
;
伪操作指令
; Program to multiply a number by the constant 6
;
.ORIG x3050
Examples: flag counter letter faradr
.FILL x0001 .FILL x0002 .FILL x0041 .FILL x4241
访问
LD R1,flag ;编译器会帮助产生PC相对寻 址的偏移量
LDI R1,faradr ;编译器会帮助产生PC相对寻 址的偏移量
程序注释
指令
LD
R1, SIX
LD
R2, NUMBER
AND R3, R3, #0 ; Clear R3. It will
; contain the product.
; The inner loop
;
AGAIN ADD R3, R3, R2
ADD R1, R1, #-1 ; R1 keeps track of
BRp AGAIN
; the iteration.
;
HALT
;
NUMBER .BLKW 1
SIX .FILL x0006
;
.END
程序代码的组成:
◦ 可执行的机器指令 ◦ 伪操作指令(传递给编译器指导汇编工作,不可执行) ◦ 注释
符号之间加入空格 ,不区分字母的大小写 注释 (“;”开始),汇编器将忽略所有的注释
指令格式:标号 操作码 操作数 ;注释
可选
必须项
操作码
◦ 和LC-3指令集定义的操作码对应的助记符号,不能再用 作标号,系统专用并保留
◦ 具体参见Appendix A ex: ADD, AND, LD, LDR, …
操作数
◦ 寄存器数– 寄存器 Rn, n是寄存器编号 ◦ 立即数 – 数字用 # (十进制) or x (十六进制)表示 ◦ 内存数 – 标号,用符号表示的内存地址 ◦ 用‘,’分割操作数 ◦ 数字, 操作数的顺序以及类型和遵守机器码指令的定义
第七章:汇编语言
计算机的代码是由‘0’,‘1’组成 …
◦ 0001110010000110
程序员使用机器语言编程非常困难,采用助记符号 的形式来表示每条指令将会更好…,和机器码的转 换也比较容易
◦ ADD R6,R2,R6 ; increment index reg.
汇编器(Assembler)是将符号语言翻译成机器指 令的程序。
◦ 不对程序产生效果,不是执行指令 ◦ 仅供汇编器使用 ◦ 区别于指令,以‘.’ 开始
Opcode .ORIG .END .BLKW .FILL .STRINGZ
Operand address
n n n-character string
Meaning 指示程序起始地址 指示程序在此结束,注意并不停止程序 分配n个字的内存单元空间
◦ x0000 − x00FF :TRAP向量表 ◦ x0100 − x01FF 中断向量表 ◦ x0200 − x2FFF 系统STACK ◦ x3000 − xFDFF 用户程序区域 ◦ xFE00 − xFFFF 读写 一个程序行只允许一个定义 定义变量的大小总是16位的字
◦ 在内存中连续存放
◦ 自动以‘\0’结束
◦ 哨兵: “Null-terminated”
◦ 每个字符高位0扩展,占用16位
Example: hello: .STRINGZ “Hello!”
访问: LEA R0, hello PUTS
‘H’: x0048 ‘e’ : x0065 ‘l’ : x006c ‘l’ : x006c ‘o’ : x006f ‘!’ : x002c ‘\0’
ADD R1,R1,R3 ADD R1,R1,#3 LD R6,NUMBER BRz LOOP
LC-3 只有两种基本数据类型
◦ 定点整数: Integer
16位补码
◦ 字符:
Character 16位
◦ 都占用 16 bits wide (a word)
但实际字符只占用8 bit, 怎么存储?
◦ 高位零扩展
标号:Label
◦ 放在每行代码的开始的地址符号,表示该行代码或数据的 地址,
◦ 符号化的内存地址. 一般两种类型:
分支和跳转语句的目标地址 数据的存放地址 ex: LOOP ADD R1,R1,#-1
BRp LOOP ex: LD R2, NUMBER


NUMBER .BLKW
告诉编译器程序结束的地点 一个程序只允许一个.END 编译器在此停止编译,但不真正停止程序
int a; int b = 2014; int c[10];
// simple variable (uninialized) // simple intialized variable // array of 10 (uninialized)
相关文档
最新文档