第四章微机原理
微机原理chapter4

CPU、存储器(ROM、RAM)、I/O接口、输入、输出设备
一 汇编语言上机过程
编辑源程序EDIT ABC.ASM
•D:>EDIT ABC.asm •D:>MASM ABC;
有语法错,回EDIT下改该程序
汇编源程序 MASM ABC.ASM
有汇编错误信息 ? Y N
形成目标程序ABC.OBJ
•D:>LINK ABC;
每段由伪操作SEGMENT开始、由ENDS结束。
start:
CLD MOV
AX , aa
程序最后为END结束语句,后跟一启动地址。 启动地址指示程序开始执行的第一条语句。
MOV DS , AX LEA SI , str1 MOV AX , SEG str2
程序中设有返回DOS的功能。 使程序执行完后返回DOS系统的命令接受状态。
•简化的汇编语言程序框架(适用于masm5.0/6.0版本)
•
.model small ;定义程序的存储模式(小型模式)
•
.stack
;定义堆栈段(默认是1KB空间)
•
.data
;定义数据段
•
……
;数据定义
•
.code
;定义代码段
•start: mov ax,data ;程序起始点
•
mov ds,ax
•完整汇编语言程序框架(适用于所有masm版本)
data1 SEGMENT ;数据段1, (可据需要设定,也可无)
……
;变量定义
data1 ENDS
data2 SEGMENT ;数据段2 (可据需要设定,也可无)
……
data2 ENDS
code SEGMENT ;程序段
微机原理第四章(4)PPT课件

执行前: 1 0 0 1 0 1 1 0
: 右移1位
0 1 00 10 11
CF=0 , (AL)=96H CF=0 , (AL)=4BH
: 再右移1位 0 0 1 0 0 1 0 1
CF=1 , (AL)=25H
15
注意事项:
SHL SHR ROL RCR
Hale Waihona Puke AL, 1 AL, CL BX, 1 AL, CL
;从376H端口读状态 ;检测D7位
;为0,打印机忙,继续查询
;输出字符打印
8
2. 移位指令
指令格式
SHL oprd,
1 CL
CF
SAL oprd,
1 CL
CF
SHR oprd, 1 CL
0
SAR oprd, 1 CL
执行操作
0 0 CF CF
9
移位规则
SHL
▲ 左移: 高位 ← 低位
CF
0
SAL
移位后,最高有效位发生变化,则OF=1,否则为0
(SAL,SHL最高位CF,
则: OF = 1, 否则:无变化时,OF = 0)
(SAR,SHR最高位次高位, 则 : OF=1; 否则 : OF=0。)
▲对循环移位指令:
①据移位结果设置CF,对其他标志无影响 ②OF标志
ROL、 RCL影响标志OF、CF情况相同 ; 移位后,最高有效位 CF, 则: OF = 1,否则:(无变化时)OF = 0
过程调用 CALL, RET
中断指令 INT, INTO, IRET
掌握:JMP, JZ, JNZ, JC, LOOP
CALL, RET, INT N, IRET
微机原理 第四章 微型计算机指令系统

例: 已知: DS=2000H; SI=1000H 指令: MOV [SI+disp],AX
青岛理工大学琴岛学院
寄存器间接相对寻址过程示意图
CPU
寄存器间接相对 SI=1000H
MOV [SI+20H] 程序 ,AX
CS 偏移1000H
DS
SS
ES
位移20H
青岛理工大学琴岛学院
寄存器相对寻址过程示意图
真正数据所在的地址
青岛理工大学琴岛学院
错误指令举例: 6)基址变址寻址: MOV [BX+CX],AX ; CX不能做变址寄存器 MOV [BX+BP],AX ; BP不能作为变址寄存器 操作数的有效地址 EA等于一个基址寄存器( BX或 MOV [BX+DI],ARRAY; BP)与一个变址寄存器( SI或DI)的内容之和;
总时间=基本执行时间+计算EA的时间+执行总线读/写周期的时间
指令的基本执行时间随指令类型的不同差异很大,访问存 储器既要执行总线的读/写周期,又要计算操作数的有效地址 EA,计算EA的时间又与指令的寻址方式有关。
青岛理工大学琴岛学院
4.2 8086/8088指令系统
数据传送类指令
算术运算类指令 位操作类指令 串操作类指令 控制转移类指令 处理器控制类指令
21000H 20 位 物 理 地 址 真正数据所在的地址 Memory DS … 20000H
…
78H 21000H 56H
青岛理工大学琴岛学院
4)寄存器间接寻址:
此方式的操作数存放在存储器单元中,指令给出的 16位寄存器值就是该操作数所在存储单元的EA。
例: 已知: (DS)=2100H,(DI)=2000H 指令: MOV AX,[DI] ;(AX) ((DI)) 注:使用BX、SI、DI,操作数在DS段;BP时在SS段 其中寄存器只能是BX、SI、DI、BP
微机原理第4章

第 4 章 存储器
4.1 存储器的分类 4.2 随机存取存储器RAM 4.3 只读存储器ROM 4.4 Cache 和SB SRAM 4.5 内存条和EDO DRAM、SDRAM、RDRAM 4.6 存储器与8086/8088 CPU之间的连接 4.7 存储器与80386/80486和Pentium CPU之间的连接 4.8 存储器容量与地址编号之间的关系
h
6
第 4 章内 部存储器
4.1.2 RAM的操作特点 随机存取存储器RAM又叫读写存储器,其操作特点为: (1) CPU对RAM中的每一单元能读出又能写入。 (2) 读/写过程先寻找存储单元的地址再读/写内容。 (3) 读/写时间与存储单元的物理地址无关。 (4) 失电后信息丢失。现已开发出带电池芯片的RAM,称
擦除的方法是用紫外线光照5~15分钟。由于擦除需一定条件,
因此写好后作ROM使用。
h
10
第 4 章内 部存储器
E2PROM使用电擦除,只要在不同的引脚加不同的电压就 可以实现全片或字节的擦除与重写,且能在线进行,因此它 可以作非易失性RAM使用,比EPROM方便得多,但其价高、 集成度不如EPROM。Flash Memory是一种可取代E2PROM的 快速电擦除非易失性ROM,且可作非易失性RAM使用。它的 结构和E2PROM相同,但擦除和写入速度极快,整体擦除约需 1 s,而E2PROM需15~20 min。编程写入时,以Flash Memory 28F256(32 KB×8)为例,整个芯片编程只需0.5 s,且擦除次数 可达10万次。
h
9
第 4 章内 部存储器
ROM通常使用MOS工艺集成。按操作功能不同又可分为
掩膜ROM(Mask Program ROM)、可编程只读存储器
微机原理4章

9
常量名(符号名)、变量名、段名或过程名,其后不加冒号
标号和名字的 命明规则:
以字母开头 由字母A~Z(不分大小写)、数字(0~9)及部分特 殊字符(? @ $ 和 下划线_等)组成 字符串长度不超过31个 标识符不能是汇编语言中有特定意义的保留字、助记 符、Reg等。
12
2、变量、标号(存储器操作数)
变量:专指存放在存储单元中的数据,数据的值是可变 的。在程序中以变量名形式出现,是数据在内存中存放 地址的符号表示。 标号:某条指令的符号地址。是程序转移指令的操作数。 变量和标号都和存储器地址相关连。 变量和标号都具有三种属性: 段属性 、偏移量属性、类型属性
编 辑 源程序:文件名.asm 汇 编 目标程序:文件名.obj 错误
负责把汇编源程序翻译 成目标程序的一种系统 软件。又称汇编程序。 •不同汇编器的语法和功 能相差很多 • MASM(宏汇编)
MASM4.0 MASM5.0 MASM6.15
错误
链 接 错误 可执行程序:文件名.exe
调 试
2
• TASM •链接:LINK
见例4.19 见例4.21
1、操作数是常数或表达式
X DB 25H
Y DW 4142H Z DD 12345678H Z A DB ? B DW ? X Y 1 25H 4 42H 2 41H 7 78H 16 56H 34H 12H
B_TABLE
W_TABLE
DB 1, 4,-2,7,16
DW 1122H ,3*20H
功能: 变量定义、存储器分配、指示程序开始和 结束、段定义、段分配等。 简单了解4.2.6 、4.2.7、4.2.8内容
微机原理 第四章答案

15、设(DS)=C000H,(C0010H)=0180H, (C0012H)=2000H,执行LDS SI,[10H]后, (SI)=?, (DS)=? (SI)=0180 H,(DS)=2000 H
REP STOSW 程序段的功能:
将起始地址为0404 H开始的80 H(128)个字单元清成0 或将起始地址为0404 H开始的100 H(256)个字节单元清成0
11
第4章 微型计算机原理作业情况
13、 设(BX)=6B30H,(BP)=0200H,(SI)=0046H, (SS)=2F00H,(2F246H)=4154H,试求执行 XCHG BX,[BP+SI]后, (BX)=?,(2F246H)=? (BX)=4154H (2F246H)=6B30H
6
第4章 微型计算机原理作业情况
8、分别执行下列指令,试求AL的内容及各状态标志位的状态。
(1) MOV AL,19H ;
ADD AL,61H ;(AL)=7AH
OF=0 SF=0 ZF=0 AF=0 PF=0 CF=0
(2) MOV AL,19H ;
SUB AL,61
;(AL)=0DCH
OF=0 SF=1 ZF=0 AF=1 PF=0 CF=1
(1) MOV CL,20H[BX][SI] ;(CL)=0F6 H
(2) MOV [BP][DI],CX
;(1E4F6 H)=5678 H
(3) LEA BX,20H[BX][SI] ;(BX)=0056 H
MOV AX,2[BX]
;(AX)=1E40 H
微机原理第4章 8088总线
第4章 8086/8088的总线与时序4.1 8086/8088的引线及功能8086是16位微处理器;8088是准16位微处理器,它对外的数据线是8位的。
它们的地址线是20位的。
8086/8088均为40条引线、双列直插式封装。
它们的40条引线排列如图4-1所示。
为了能在有限的40条引线范围内进行工作,CPU内部设置了若干个多路开关,使某些引线具有多种功能,这些多功能引线的功能转换分两种情况:一种是分时复用,在总线周期的不同时钟周期内引线的功能不同;另一种是按组态来定义引线的功能.用8088微处理器构成系统时,根据系统所连接的存储器和外设的规模,8088可以有两种不同的组态。
在不同组态时有些引线的名称及功能不同。
最小组态:当用8088微处理器构成一个较小的系统时,所连的存储器容量不大,I/O端口也不多,若把MN/MX 引线接电源(+5V),则8088处于最小组态;最大组态:若构成的系统较大,要求有较强的驱动能力,要通过一个总线控制器来产生各种控制信号。
把引线MN/MX接地,则8088处于最大组态。
所有的微处理器都有以下几类引线用来输出或接收各种信号:●地址线、●数据线、●控制线和状态线、●电源和定时线。
8086/8088的40条引线包括以上4种信号,下面介绍各条引线的功能。
4.1.1的地址和数据线●A D7~AD0:低8位地址/数据线(输入/输出,三态)。
8088数据线是8位的,地址线是20位的,为减少引线的数量于是在8088 内部采用一些多路开关,把低8位地址线和8位数据线分时使用这些引线。
通常当CPU访问存储器或外设时,先要送出所访问单元或外设端口的地址,然后才是读写所需的数据,地址和数据在时间上是可区分的。
只要在外部电路中用一个地址锁存器,把在这些线上先出现的地址锁存下来就可以了。
●A15~A8:地址线(输出,三态)。
这8条地址线是在8088内部锁存的,在访问存储器或外设时输出8位地址。
●A19~A16/S6~S3:地址/状态线(输出,三态)。
微机原理第四章
微机原理第四章在微机原理的学习中,第四章是一个非常重要的环节,本章主要介绍微机的输入输出系统。
输入输出系统是微机系统中的一个重要组成部分,其功能是将外部设备与微机系统相连,并进行数据的输入和输出。
本章将从输入输出系统的基本原理、输入输出接口、输入输出设备等方面进行介绍,帮助读者全面了解微机的输入输出系统。
首先,我们来介绍一下输入输出系统的基本原理。
输入输出系统是微机系统与外部设备进行数据交换的桥梁,它的主要功能是实现数据的输入和输出。
在微机系统中,CPU通过输入输出系统与外部设备进行通信,实现数据的交换和传输。
输入输出系统一般由输入输出接口和输入输出设备两部分组成,输入输出接口是连接CPU 和输入输出设备的桥梁,输入输出设备是实现数据输入输出功能的设备。
其次,我们将介绍输入输出接口的相关知识。
输入输出接口是连接CPU和输入输出设备的关键部件,它起着数据传输和转换的作用。
输入输出接口一般由接口芯片和接口电路组成,接口芯片是实现数据传输和控制的核心部件,接口电路是实现数据转换和信号调节的重要部分。
在微机系统中,输入输出接口起着非常重要的作用,它直接影响着输入输出系统的性能和稳定性。
接着,我们将介绍一些常见的输入输出设备。
输入输出设备是实现数据输入输出功能的设备,常见的输入设备有键盘、鼠标、扫描仪等,常见的输出设备有显示器、打印机、音响等。
输入输出设备在微机系统中起着非常重要的作用,它们直接影响着用户与微机系统的交互体验。
在选择输入输出设备时,需要根据实际需求和使用环境进行合理选择,以确保输入输出系统的正常运行和高效工作。
最后,我们将介绍一些输入输出系统的优化方法。
在实际应用中,为了提高输入输出系统的性能和稳定性,可以采取一些优化措施,例如优化接口设计、优化设备选择、优化数据传输方式等。
通过合理的优化措施,可以有效提高输入输出系统的工作效率和响应速度,提升用户体验和系统稳定性。
综上所述,微机原理第四章主要介绍了微机的输入输出系统,包括输入输出系统的基本原理、输入输出接口、输入输出设备和优化方法等内容。
微型计算机原理-第4章(5)微机原理与接口技术(第三版)(王忠民)
▪DEC(Decrement) 减1
格式:DEC DST 操作: DST <= DST -1
第四章 80x86 指令系统—算术运算指令
▪NEG(Negate)求补
格式:NEG DST 操作: DST <= 0-DST
利用NEG指令可以得到负数的绝对值
60H
被
ACH
加
74H
数
3BH
…
DATA2 C1H
36H
加
9EH
数
D5H
20H
…
图4.19 例4.3中被加数和加数在内存中的存放情况
第四章 80x86 指令系统—算术运算指令
程序如下: LOOPER:MOV
MOV CX,5
;设置循环次数
MOV SI,0
;置位移量初值
CLC
AL,DATA2[SI]
;取一个
第四章 80x86 指令系统—算术运算指令
说明: 1、DST:REG/MEM,SRC:8/16data/REG/MEM。 2、DST、SRC不能同时为MEM。 3、加法指令影响标志寄存器的状态标志。 4、INC指令不影响CF标志。
第四章 80x86 指令系统—算术运算指令 例 4.3 计 算 两 个 多 字 节 十 六 进 制 数 之 和 : 3B74AC60F8H+20D59E36C1H=?
第四章 80x86 指令系统—算术运算指令
(3)乘法指令
▪MUL(Unsigned Multiple) 无符号数乘法
格式:MUL SRC 操作:AX<=AL*SRC(字节)/ DX,AX<=AX*SRC(字)
微机原理微机原理讲义第4章课件
Rambus内存条模块(Rdram)
7
存储器分类 随着计算机系统结构的发展和器件的发展,存
储器的种类日益繁多,分类的方法也有很多种
1)按构成存储器的器件和存储介质分类
存储器
磁芯存储器 半导体存储器 光电存储器 磁膜,磁泡存储器 光盘存储器
从理论上讲,只要有两个明显稳定的物理状态的器件和介
质都能用来存储二进制信息。
Y6
Y7
输入
输出
C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
00 0 01 111 111
00 1 10 111 111
01 0 11 011 111
01 1 11 101 111
10 0 11 110 111
10 1 11 111 011
11 0 11 111 101
11 1 11 111 110
微型计算机原理及应用
1
第四章 存储器是核心组成部分之一。因为 有了它,计算机才具有“记忆”功能,才能把程序及数据 的代码保存起来,才能使计算机系统脱离人的干预,而自 动完成信息处理的功能。
存储器的性能指标有:容量、速度和成本。
容量:指存储器所包含的存储单元的总数
4
在计算机系统中常采用三级存储器结构
Cache存储器
内存储器
主存储器(RAM和ROM)(使用半导体存储器芯片)
外存储器(软盘、硬盘、光盘) 后备存储器(磁带、光盘)
外存储器 (辅助存储器)
从整体看,其速度接近高速缓存的速度,其容量
接近辅助存储器的容量,而位成本接近廉价慢速
辅存的平均价格。
5
6
单列直插式内存条
半导体 存储器
掩膜ROM(Mask ROM)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)定义公共符号名伪指令 • 格式:PUBLIC 符号名[,‥] (4)定义外部公共符号名伪指令 • 格式:EXTRN 符号名:类型[,‥]
6、列表伪指令 7、记录伪指令 8、结构伪指令 9、条件汇编伪指令 10、其他伪指令 (1)定位伪指令 • 格式:ORG 数值表达式 • 功能:指定在它之后的程序段或数据块 所存放的起始地址的偏移量
3、段定义伪指令 • 存储器空间分为数据段、代码段、堆栈 段、附加段。 • 段定义伪指令用于将源程序划分成若干 段,以便于汇编程序在相应的段下生成 目标代码,以便于连接程序时将不同模 块中的同名段予以合并,生成一个结构 更紧凑、完整、可执行的目标程序。
(1)段定义伪指令: • 格式: 段名 SEGMENT [定位类型][组合类型][类别] : : 段名 ENDS • 功能:把模块化分为若干逻辑段。每个 SEGMENT/ENDS可定义一个逻辑段
B、取段基址: 格式:SEG
变量名或标号
C、求变量名或标号的类型值: 格式:TYPE 变量名或标号 功 能 : 返 回 一 个 数 字 值 表 示 (DB,DW,DD)(NEAR,FAR) 1, 2 ,4 -1 ,-2
D、求长度: 格式: LENGTH 变量名 必须用DUF( )表示,否则返回值总是1。 例:BUF1 DW 100 DUP(0) 则: LENGTH BUF1=100 例: BUF2 DB 2DUP(3 DUP(1) ,0) 则:重复2次“1,1,1,0”数据序列, LENGTH BUF2=8
• 汇编语言是: 一种采用助记符表示的程序设计语 言,即用助记符来表示指令的操作码和 操作数,用符号或标号代表地址、常量 或变量。
•使用汇编语言编写的程序称作汇编语言源 程序,与高级语言相比,汇编语言源程序 具有执行速度快和节省存储空间的优点。
•汇编语言源程序在执行前,需由汇编程序 汇编(翻译)成目标代码(机器语言程 序)。
MOV AL,01H
(2)操作数 ①常量操作数:可以是具有数字值的常 数或表示常量的标号和名字 ②寄存器操作数:可以是通用寄存器名 ③存储器操作数:分为标号和变量两种 ⅰ标号:可执行语句的地址符号 ⅱ变量:存放数据存储单元的地址符 号名,由伪指令DB、DW、DD所定义
作为存储器操作数的标号或变量有三 种属性:
• 例:需要把AL中的内容左移4位 MOV CL,4 SAL AL,CL • 若多次使用,则可用一条宏指令来代替, 宏定义如下: SHIFT MACRO MOV CL,4 SAL AL,CL ENDM
2、宏调用伪指令 • 格式:宏指令名 [实参,实参, …] • 例: SHIFT MACRO MOV CL,4 ︰ SAL AL,CL ENDM ADD AL,[SI] SHIFT ;宏调用 MOV [BX],AL ︰
②CS由系统负责设置,自动填装 MOV AX,CODE MOV CS,AX
• 例: DATA A DATA STACK B STACK CODE
SEGMENT DB ? ENDS SEGMENT DB 100DUP(?) ENDS SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA,ES:DATA
汇编语言程序的开发过程
文本编辑器,如 编 辑
错误
源程序:文件名.asm 汇编程序,如 MASM.EXE 汇 编
目标模块:文件名.obj
连接程序,如 LINK.EXE 连 接
错误
可执行文件:文件名.exe
调试程序,如 DEBUG.EXE 调 试 应用程序
错误
错误
4.1汇编语言的语句的种类和格式
一、语句的类别 指令语句 MOV AH,5 伪指令语句 PLACE DB ? 宏指令语句 一个指令序列
二、语句格式 指令语句和伪指令语句的格式类似 指令语句格式: 标号:前缀 指令助记符 参数,‥参数;注释 REP MOVSB L1: MOV AL,01H 伪指令语句格式: 符号名 定义符 参数,‥参数;注释 A EQU 100 ;A被赋值100
①算术运算符:+、-、×、/、MOD SHL、SHR ②逻辑运算符:按位操作的 AND 、 OR 、 XOR、NOT ③关系运算符: EQ 、 NE 、 LT 、 GT 、 LE 、 GE 若关系为真,运算结果为0FFFFH, 若关系为假,运算结果为0
④ 分析操作符(数值返回运算符) A、取地址的偏移量: 格式:OFFSET 变量名或标号 功能:取变量名或标号所在的段的段 内偏移量。 例:MOV DX,OFFSET DATA
①定位类型:PAGE、PARA、WORD、BYTE ② 组 合 类 型 : NONE 、 PUBLIC 、 STACK 、 COMMON、AT表达式、MEMORY ③类别 例如: DATA SEGMENT PARA PUBLIC ‘DATA’ : DATA ENDS
(2)段寄存器说明伪指令 • 格式: ASSUME 段寄存器:段名 [,段寄存器:段名‥] • 功能:向汇编程序指示当前各段所用的段 寄存器,设定段寄存器与段的对应关系 。 • 注意: ①DS,ES,SS必须在程序中由传送指令填装 MOV AX,DATA MOV DS,AX
Ⅰ、段值(SEGMENT) Ⅱ、段内地址偏移量(OFFSET) Ⅲ、类型(TYPE): 变 量 : 字 节 ( BYTE ) 、 字 (WORD)、双字(DWORD) 标号:段内转移调用(NEAR)、 段间转移调用(FAR)
(3)表达式:
由常量、操作数、运算符组成。
算术运算符 逻辑运算符 关系运算符 分析操作符 综合运算符 其它
5、模块定义及通信伪指令 (1)模块开始伪指令 • 格式:NAME 模块名 • 功能:指明程序模块的开始并指出模块名 • 注:若该相省缺,则取TITLE语句中的页 标题 6 个字符;若没有 TITLE 语句,则取 源程序文件名为模块名。
(2)模块结束伪指令(源程序结束伪指令) • 格式:END [表达式] • 功能:表示一个模块的结束并用表达式 指出程序开始执行时的指令地址 • (1),(2)联合使用,例: START:MOV AX,DATA : END START
(2)等号伪指令 格式:符号名=表达式 功能:将表达式的值赋给符号名 例:EMP=6 MOV‥‥ EMP=EMP+3 : 注:可以在程序中不同的地方多次使用以 重新为符号名赋值。
(3)定义符号名伪指令 格式:符号名 LABEL 类型 功能:定义一个标号或变量,并指定 其类型标号(NEAR,FAR),变量 (DB,DW,DD) 例:BARY LABEL WORD ;定义BARY为字类型
2、数据定义伪指令 • [变量名] DB • [变量名] DW • [变量名] DD • [变量名] DQ • [变量名] DT
表达式;定义字节 表达式;定义字 表达式;定义双字 表达式;定义8个字节 表达式;定义10个字节
?,数值,字符串(仅DB),地址(除DB) 定义多个同类型数据,用,隔开或用重复字 句DUP()
4.2 伪指令
一、伪指令语句的格式 符号名 定义符 参数,‥参数;注释 二、常用伪指令: 1、符号定义伪指令 2、数据定义伪指令 3、段定义伪指令 4、过程定义伪指令 5、模块定义及通信伪指令 6、定位伪指令‥‥
1、符号定义伪指令 (1)等价伪指令 格式:符号名 EQU 表达式 功能:将表达式的值赋给符号名 例:COUNT EQU 1000H ︰ MOV CX, COUNT 注:符号名一旦被EQU定义,就不能再重 新赋值。
B、THIS运算符 ⑥其它运算符 A、HIGH和LOW运算符:从运算 对象中分离出高字节或低字节。 B、SHORT运算符
4、注释 • 注释部分是可选项,允许缺省,如果指 令用注释,必须由“;”开头,用来对 指令的功能加以说明,以使程序更容易 理解和阅读,汇编程序对注释部分不做 任何处理,超过一行的注释,在每行都 得以“;”开头。
第四章 汇编语言程序设计
1、掌握汇编语言语句格式 2、掌握完整段定义源程序格式 3、掌握常量表达、变量定义及应用,变量、标号和逻辑段的属性 4、了解数值表达式和DOS的程序结构 5、掌握汇编语言源程序的编辑、汇编、连接和调试的开发方法 6、掌握基本伪指令和操作符: EQU DB/DW/DD ?/DUP OFFSET/SEG/ PTR SEGMENT END ENDS 7、基本程序结构――顺序结构、分支结构、循环结构、子程序及 其汇编语言程序设计 8、熟悉常见程序设计问题: ASCII、十六进制数据间的代码转换 数据范围判断(0~9、A~Z、a~z) 字符串传送、比较等操作 求最小最大值 统语句的前面,用 ︼与定义符隔开。 可以表示伪指令定义符所定义的 变量名,段名,过程名等。 ②它和标号一样由字母和数字及 特殊符号(?— @)组成
2、助记符,定义符 • L1:MOV AL,01H 助记符,表示该语句的操作功能。 • A EQU 100
定义符,表示该语句的伪操作功能。
MOVSB • 3、参数 MOV AL,01H • 参数是指令要处理的数据,有些指 令不需要参数,可以缺省。如有参 莫 数应至少用一个空格符或制表符使 之与助记符分隔。若有两个以上的 参数,则它们之间要用逗号“,” 分开,通常称它们为目的参数和源 参数。 • 参数可以由常量、操作数、表达式 构成
(1)常量(源程序中的固定值,在程 序运行期间不会发生变化) ①二进制常量:如00101110B ②十进制常量:如1234D或1234 ③八进制常量:如107Q ④十六进制常量:如A9H ⑤字符串常量:如‵XY‵
4.3宏指令
• 为简化汇编语言源程序,把一些频繁出 现的程序段定义为“宏指令”,当遇到 这段程序时,只需按宏指令名调用即可。 不必重复写许多指令 有效缩短汇编源程序的长度
一、宏定义及其调用 1、宏定义伪指令 • 格式:宏指令名 MACRO [ 形 参 , …] ︰ 宏体 ︰ ENDM • 功能:用宏指令名代替宏体