汇编语言的基本语法 ppt课件

合集下载

第4章1 基本语法(1)PPT课件

第4章1 基本语法(1)PPT课件

…… END
;子程序定义 ;程序结束
简化段程序与完整段程序的主要区别
简化段程序中需要声明使用的存储模式,以便生成合适的可执行文件;完整段程 序无此设置,但需要通过各段定义时选择参数来描述段的特性。
简化段程序中所有段定义都使用了专用的保留字伪指令直接标识,不再由用户逐 一描述。
简化段程序中程序的起始位置由.STARTUP伪指令指明。 简化段程序中不需要对段寄存器进行分配。 简化段程序中不需要对段寄存器进行初始化设置。 简化段程序返回DOS操作系统使用.EXIT伪指令,不需要使用INT 21H指令。 简化段程序结束只需要使用END伪指令即可。
【例】将前例中的程序改写为简化段程序代码如下:
.MODEL SMALL .DATA
X Y Z .STACK .CODE .STARTUP MOV LEA LEA LEA CLC LOOP1: MOV ADC MOV INC INC INC LOOP .EXIT ENDDB DB DBFra bibliotekINT
21H
ENDS
;CODE段定义结束
END
START
;程序结束
简化段程序结构
引入简化段的主要目的是简化源程序中段描述指令,提高程序编写效率,它与完整段 程序只是描述形式不同。
.MODEL 模式名 .DATA
…… .STACK 2048 .CODE .STARTUP
…… .EXIT
;定义程序模式(SMALL、LARGE等) ;数据段定义开始 ;变量定义及数据空间预置 ;堆栈段定义(默认1KB空间,可自己定义大小) ;代码段定义开始 ;代码段入口标志 ;程序代码内容 ;返回DOS操作系统
……
MOV AX,EXD MOV ES,AX

汇编语言基础.ppt

汇编语言基础.ppt

一个简单的例子
CODE MAIN
CODE
SEGMENT ASSUME CS:CODE MOV AH, 2 MOV DL, ‘A’ INT 21H MOV AH,4CH INT 21H ENDS END MAIN
本程序功能在屏幕上输出一个大写字母A。
5.2 80X86 指令基础 5.2.1 指令格式 1.指令和指令系统 指令是计算机能够识别和执行的某种操作命令。一
前缀 : 是一些必须和其他指令配合使用的特殊 指令;
指令助记符 :是指令中的关键字,不可缺省; 操作数 : 指令要处理的数据,可以是一个或两个, 也可没有(隐含); 注释 : 说明指令功能; (2)伪指令语句: 一般格式如下: [名字]伪操作命令[操作数][;注释] 名字可以是符号名,常量名,变量名,过程名和段名等, 后面不能有“:”,是和指令语句的显著区别。
伪指令命令:主要包括符号定义,变量定义,程序分段定义,过 程定义,模块定义,和宏定义等。
操作数随伪操作命令的不同而不同,它们的格式和定义将在后面 的章节中一一介绍。 5.汇编语言程序结构
由指令、伪指令、变量、标号等组合起来写出的程序成为源程 序,一个汇编语言的源程序由若干个段和一行表示程序结束的伪 指令组成。
80X86宏汇编语言规定程序中最多可包括四种类型的段即: 代码段,数据段,堆栈段和附加段,每个段在程序中的先后不定, 数目也不定,但必须有段名。
综上所述,用汇编语言编写的程序,在结构上具有以下特点: (1)由若干逻辑段组成,各逻辑段包括伪指令语句定义和
说明; (2)整个源程序以伪指令END结束; (3)每个逻辑段由语句序列组成,各语句可以是指令语句、
5.1.1 汇编语言的基本语法 1.字符集 8086/8088 宏汇编语言规定可以使用的字符详见P77-78 2.标示符 标示符在程序中用作变量名,常量名,记录名和段名等

《汇编语言教程》课件

《汇编语言教程》课件
汇编语言调试与优化
调试工具的使用
运行程序
在调试器中运行程序,以便在执行过程中进行观察。
停止程序
在程序的任何位置停止程序的执行。
调试工具的使用
单步执行
逐条指令执行程序,观察每条指令对程序状态的影响。
观察变量
在调试过程中观察和修改变量的值。
调试工具的使用
OllyDbg
一个流行的Windows平台下的汇编语言调 试器。
2023 WORK SUMMARY
THANKS
感谢观看
REPORTING
03
INT指令用于调用中断服务程序,SYS指令用于调用 系统调用。
PART 04
汇编语言程序结构
程序的基本结构
程序开始
程序开始执行时,首先执行的是程序的起始部分,通 常包括程序的标题、版本信息、版权声明等。
指令序列
程序的主要功能通过一系列指令实现,这些指令按照 特定的顺序排列。
程序结束
程序执行完毕后,需要执行结束部分,通常包括程序 的结束信息、版权声明等。
逻辑运算指令
01
02
03
逻辑运算指令用于执行 逻辑与、或、非等逻辑
运算。
常见的逻辑运算指令包 括AND、OR、NOT等

AND指令用于对两个操 作数执行逻辑与运算, OR指令用于对两个操作 数执行逻辑或运算, NOT指令用于对一个操 作数执行逻辑非运算。
控制转移指令
控制转移指令用于改变程序的执行流程 。
复杂性
汇编语言的语法和语义相对较为 复杂,学习和编写难度较大,需 要程序员具备较为深入的计算机 体系结构和硬件知识。
汇编语言的应用场景
系统软件
操作系统、设备驱动程序等系统软件通常使用汇编语言编写,因为这些软件需要直接与 硬件交互,并且需要高效的执行效率。

汇编语言的基本语法86页PPT

汇编语言的基本语法86页PPT
13、遵守纪律的风气的培养,只有领 导者本 身在这 方面以 身作则 才能收 到成效 。—— 马卡连 柯 14、劳动者的组织性、纪律性、坚毅 精神以 及同全 世界劳 动者的 团结一 致,是 取得最 后胜利 的保证 。—— 列宁 摘自名言网
15、机会是不守纪律的,也会招来人们的反感轻蔑和嫉妒。——培根 22、业精于勤,荒于嬉;行成于思,毁于随。——韩愈
23、一切节省,归根到底都归结为时间的节省。——马克思 24、意志命运往往背道而驰,决心到最后会全部推倒。——莎士比亚
25、学习是劳动,是充满思想的劳动。——乌申斯基
谢谢!
汇编语言的基本语法
11、战争满足了,或曾经满足过人的 好斗的 本能, 但它同 时还满 足了人 对掠夺 ,破坏 以及残 酷的纪 律和专 制力的 欲望。 ——查·埃利奥 特 12、不应把纪律仅仅看成教育的手段 。纪律 是教育 过程的 结果, 首先是 学生集 体表现 在一切 生活领 域—— 生产、 日常生 活、学 校、文 化等领 域中努 力的结 果。— —马卡 连柯(名 言网)

《汇编语言基础》课件

《汇编语言基础》课件

使用汇编语言实现算法优化
汇编语言基础:了解汇编语言的基本语法和指令 算法优化:了解常见的算法优化方法,如循环展开、分支预测等 实践项目:选择一个具体的算法优化项目,如矩阵乘法、排序等 汇编语言实现:使用汇编语言实现算法优化,包括编写代码、调试和优化等步骤 性能评估:对优化后的算法进行性能评估,包括时间、空间复杂度等指标
内存单元的值可以是数据、指令、 状态等多种类型
数据类型
整数类型:包 括有符号整数 和无符号整数
浮点数类型: 包括单精度浮 点数和双精度
浮点数
字符类型:包 括ASCII字符 和Unicode字

指针类型:用 于表示内存地 址的变量类型
指令格式
指令格式:操作码+操作数
操作码:表示指令的功能和操作类型 操作数:表示指令的操作对象和操作 结果
添加 标题
比较指令:CMP、TEST、JMP、JE、JNE、 JA、JAE、JB、JBE、JG、JGE、JL、JLE
添加 标题
逻辑指令:AND、OR、XOR、NOT、SHL、 SHR、ROL、ROR、SAL、SAR
逻辑指令
逻辑指令是汇编语言指令系统中的重要组成部分 逻辑指令包括AND、OR、NOT等 逻辑指令用于实现逻辑运算,如判断、比较等 逻辑指令在汇编语言编程中广泛应用,如条件跳转、循环控制等
控制指令
跳转指令:如JMP、JE、JNE等,用于控制程序流程 循环指令:如LOOP、DO、WHILE等,用于重复执行一段代码 子程序调用指令:如CALL、RET等,用于调用子程序或返回主程序 堆栈操作指令:如PUSH、POP等,用于操作堆栈中的数据
输入输出指令
输出指令:用于将数据输出 到外部设备,如显示器、打 印机等

《汇编语言》PPT课件

《汇编语言》PPT课件

湘 §3.1 汇编语言指令格式 潭 计算机的指令系统是一套控制计算机操作的编码— 大 机器语言。计算机只能识别和执行机器语言的指令。 学 单 但机器语言实在太枯燥,太难记忆了。 片 机 汇编语言,高级语言 原 理 汇编程序 编译、解释 及 eg: MOV R0 ,#data 应 用 机器语言 机器语言 01111000 #data 编 著 组
§3.2 MCS-51的寻址方式
湘 潭 大 学 单 片 机 原 理 及 应 用 编 著 组
六、相对寻址
相对寻址方式是以当前的程序计数器 PC 值加上指 令中给定的偏移量rel所得的结果作为转移地址。一般 将相对转移指令操作码所在地址称为源地址,转移后 的地址称为目的地址,则有: 目的地址 = 源地址 + 相对转移指令字节数 + rel
(1007H)= 20H (1008H)= 14H (1009H)= 00H (100AH)= 12H
§3.1.2 汇编伪指令
湘 潭 大 学 单 片 机 原 理 及 应 用 编 著 组
六、DATA数据地址赋值伪指令 字符名称 DATA 表达式 这里的“字符名称”与标号不同(其后没有冒 号),但它是必须的,其功能是把“表达式”的值赋 给左边的“字符名称”。 DATA伪指令与EQU伪指令 的主要区别是:EQU定义的“字符名称”必须先定义 后使用,而DATA定义的“字符名称”没有这种限制, 故DATA伪指令通常用在源程序的开头或末尾。 例3-7: ORG 0100H AA DATA 35H DPTRA DATA 0AA00H MOV A,AA ;(35H) A MOV DPTR,#DPTRA ;0AA00H DPTR
二、 直接寻址
在指令中含有操作数的直接地址,该地址指出了参 与计算或传送的数据所在的字节单元或位的地址。 eg: ANL 70H,#48H ;(70H)^48H70H

8086汇编程序设计基本语法精品PPT课件

8086汇编程序设计基本语法精品PPT课件
言目标程序的文件,称之为.LST文件); ➢ 交叉索引文件(列出程序中使用的符号、变量
和标号以及引用情况,称之为.CRF文件 或.SBR文件)。
汇编示意图
调用 ASM.EXE 或 MASM.EXE
.ASM
汇编
.OBJ
.LST .CRF或.SBR
可选
MASM /L /C *.asm
• 汇编程序分两种:
➢ 一种是基本汇编(ASM.EXE)。 ➢ 一种是宏汇编(MASM.EXE),宏汇编功能比较强。
连接示意图
.OBJ
调用LINK.EXE
.OBJ
连接
.EXE
.MAP 可选 .LIB
LINK /m *.obj
• 汇编之后生成的OBJ文件必须经过链接过程,才能成为扩 展名.EXE的可执行文件。
• 链接的过程就是调用连接程序(LINK.EXE),对OBJ文件 进行定位、链接,最后生成扩展名为EXE的可执行文件。 如果需要,也可生成MAP文件。
Assemble Language
• 用汇编语言编写的程序不能由 机器直接执行,而必须经汇编 程序翻译成机器语言程序。 – 汇编:汇编语言源程序由 ASM.exe生成目标代码 (*.obj,可能有多个) – 连接:由LINK.exe将.obj 连接成可执行程序。
思考:什么是汇编?什么是汇编语言?
汇编语言程序的开发过程
.lst文件
• 汇编表(源程序、目标代码、地址、错误信息) • 段(组)表:源程序中各段的名字、大小及其特征。 • 符号表:定义或引用的全部标号、变量、符号的属性值及其
特征等。
(部分)
.map文件
• 地址分配文件(.map)用于描述文件中各段的浮动起始地 址、结束地址、占用空间、段名和‘类别’,还列出了各 模块中所定义的公共符号及其偏移地址,主要用于程序调 试和资料归档。

《汇编语言》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)

第5章 汇编语言的基本语法.ppt

第5章 汇编语言的基本语法.ppt

JLE DISPLAY
INT 21H
ADD AL,07H ;在A~F之间
CODE ENDS ;代码段结束
END BEGIN ;模块结束
2020-11-8
感谢你的观看
8
堆栈段定义格式
STACK SEGMENT STACK STA DB 50 DUP (?) TOP EQU LENGTH STA
STACK ENDS CODE SEGMENT
2020-11-8
感谢你的观看
3
Assemble Language
用汇编语言编写的程序不 能由机器直接执行,而必 须经汇编程序翻译成机器 语言程序。汇编语言指令 与翻译成的机器语言指令 之间基本是一一对应的关 系。
汇编过程示意:
2020-11-8
感谢你的观看
4
采用汇编语言进行程序设计的优点:
ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA
MOV DS,AX MOV AX,STACK MOV SS, AX MOV SP,TOP
: CODE ENDS
END START
2020-11-8
感谢你的观看
9
5.1.2 汇编语言源程序的组成
1. 伪指令语句和指令语句
2020-11-8
感谢你的观看
12
▪ 汇编程序负责计算伪指令语句中表达式的值,解释伪指令 语句的含义并遵照“执行”,但并不产生机器代码。
▪ 汇编程序负责计算指令语句中表达式的值,并将汇编指令 翻译成机器指令代码。
▪ 指令语句经汇编后,在可执行程序运行期间由CPU解释, 并由CPU按指令的要求完成各种运算与操作。
2020-11-8

《汇编语言》课件

《汇编语言》课件

编程实例三:排序算法的实现
总结词:算法思想
VS
详细描述:通过汇编语言实现排序算 法,理解算法思想在编程中的运用, 提高编程思维和解决问题的能力。
06 汇编语言与高级语言的联 系与区别
编语言与高级语言的联系
同源关系
汇编语言和高级语言都源于计算机的二进制语言,它们都是为了 方便人类操作计算机而产生的。
子程序的返回值
子程序可以有一个或多个返回值,通过寄存 器或内存单元返回给主程序。
05 汇编语言编程实践
编程实例一:求两个数的和
总结词:简单运算
详细描述:通过汇编语言实现求两个数的和的程序,了解汇编语言的输入、存储、运算和输出指令。
编程实例二:求一个数的阶乘
总结词:循环结构
详细描述:通过编写求阶乘的汇编程序,掌握循环结构的实现方法,理解循环在计算中的重要性。
JE、JNE、JG、JL等条件跳转指令
根据条件跳转到指定地址。格式:JE/JNE/JG/JL destination。
子程序调用指令
CALL指令
调用子程序,并将返回地址压入堆栈。格式 :CALL procedure_address。
RET指令
从子程序返回,并弹出堆栈中的返回地址。 格式:RET。
04 汇编语言程序结构
04
03 汇编语言指令系统
数据传送指令
MOV指令
用于将数据从一个位置移动到另一个位 置。格式:MOV destination, source。
VS
PUSH和POP指令
用于在堆栈上存储和检索数据。格式: PUSH source / POP destination。
算术运算指令
要点一
ADD和SUB指令
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例:
OUT PORT_VAL AND 0FEH, AL 上例中PORT_VAL为端口号,OUT 指令中的表达式说明只为偶数号端口输 出数据。
(3) 关系操作符 关系操作符有:EQ(相等)、NE(不
等)、LT(小于)、GT(大于)、LE(小于 或等于)、GE(大于或等于)。
关系操作符的两个操作数必须都是数字或
LEA BX, OPER_ONE 是等价的。
·SEG 格式为:SEG 变量或标号 汇编程序将回送变量或标号的段地址值。
举例:如果DATA_SEG是从存储器的05000H地址开 始的一个数据段的段名,OPER1是该段中的一个变 量名,则
MOV BX, SEG OPER1
将把0500H作为立即数插入指令。实际上,由 于段地址是由连接程序分配的,所以该立即数是连 接时插入的。执行期间则使BX寄存器的内容成为 0500H。
汇编语言的基本语法
1.1. 汇编语言源程序的格式
DATA
SEGMENT AT 2000H
ARRAY DB a1,a2,a3,…a10(a1~a10为立即数)
COUNT EQU $ - ARRAY
SUM
DW ?
DATA
ENDS
STACK SEGMENT PARA STACK ‘STACK’
STAK
DB 10 DUP (?)
常量、标识符和表达式 一、常量
其值在程序中不能改变的量, 在汇编语言源程序中的常量有: 数字常量、字符常量和符号常量 ( 1 ) 数字常量可以是二进制数、八进制数、十进 制数或十六进制数表示 ( 2 ) 字符常量是用单引号‘ ’括起来的ASCII字 符, 其值是该字符的ASCII代码值
( 3 ) 符号常量是用标识符定义的常量。 例如,采用符号定义语句 PORTA EQU 80H, 则指令 MOV AL,PORTA 与指令 MOV AL,80H 等价。
·标号:标号在代码段中定义,后面跟着 冒号:,此外,它还可以作为过程名定义。
·变量:变量在数据段或附加数据段中定 义,后面不跟冒号。 变量经常在操作数字段出 现。
(2)操作项 操作项可以是指令、伪指令或宏指
令的助记符。对于指令,汇编程序将其 翻译为机器语言指令。对于伪指令,汇 编程序将根据其所要求的功能进行处理。 对于宏指令,则将根据其定义展开。
二、标识符 在编程时建立的有特定意义的字符序列,标识符
可用作符号常量、名字、变量和标号等。 组成标识符有如下规定:
( 1 ) 组成标识符的字符有: 英文大写字母:A~Z; 英文小写字母: a-z; 数字0~9; 字符?、@、_ 、$;
( 2 )字符长度不超过3l个; ( 3 ) 首字符不能是数字; ( 4 ) ? 不能单独作为一个标识符; ( 5 ) 不能把保留字用作标识符,保留字包括助记符、 寄存器名等。
MOV CX, (ARYEND-ARRAY)/2
汇编程序在汇编期间将计算出表达式的值而形 成指令:
MOV CX, 7
(2) 逻辑操作符
逻辑操作符有:AND(与)、OR(或)、XOR (异或)、NOT(非)。
逻辑操作符都是按位操作的,只能用于数字表 达式中。逻辑操作符要求汇编程序对其前后两个操 作数(或表达式)作指定的逻辑操作。
举例:已有数据定义如下:
TWO_BYTE DW ? 可以用以下语句对这两个字节赋予另一种
类型定义:
ONE_BYTE EQU BYTE PTR TWO_BYTE 这里ONE_BYTE和TWO_BYTE两个符号
地址具有相同的段地址和偏移地址,但是它们 的类型属性不同,前者为1,后者为2。
此外,有时指令要求使用PTR操作符。例 如用 MOV [BX], 5
三、表达式
表达式是常数、标号、变量与一些操作符相 组合的序列,可以有数字表达式和地址表达式 两种。在汇编期间,汇编程序按照一定的优先 规则对表达式进行计算后可得到一个数值或一 个地址。 常用的表达式操作符介绍如下:
(1) 算术操作符 算术操作符有+、-、*、/ 和MOD。 MOD是指除法运算后得到的余数,如19/7
·PTR 格式为:类型 PTR 符号地址 PTR用来给已分配的存储地址(用
符号地址表示)赋予另一种属性,使该 地址具有另一种类型。
类型可有BYTE、WORD、 DWORD、FWORD、QWORD、 TBYTE、NEAR和FAR等几种,所以 PTR也可以用来建立字、双字、四字或 段内及段间的指令单元等。
将形成为 MOV CX, 200
又例如: MOV CX, SIZE ARRAY
将形成为 MOV CX, 2
又例如: MOV CX, SIZE TABLE
将形成为 MOV CX, 1。
·OFFSET 格式为:OFFSET 变量或标号 汇编程序将回送变量或标号的偏移地址值。
举例:
MOV BX, OFFSET OPER_ONE 汇编程序将OPER_ONE的偏移地址作为 立即数回送给指令,而在执行时则将该偏移地 址装入BX寄存器中。所以这条指令的功能与 指令
是同一段内的两个存储器地址。计算的结果应 为逻辑值:结果为真,表示为0FFFFH;结果 为假,则表示为0。
例如: MOV BX,((PORT_VAL LT 5) AND 20) OR
((PORT_VAL GE 5) AND 30) 则当PORT_VAL < 5时,汇编结果应该是:
MOV BX, 20 否则,汇编结果应该是:
例: 如果要求把首地址为BLOCK的字数组的第 6个字传送到DX寄存器,可用指令如下:
MOV DX, BLOCK+ (6-1) * 2
例: 如数组ARRAY定义如下,写出把数组长 度(字数)存入CX寄存器的指令。
ARRAY DW 1, 2, 3, 4, 5, 6, 7 ARYEND DW ?
其中ARYEND是为计算数组长度而建立的符号 地址,所需指令如下:
MOV BX, 30
(4) 数值回送操作符 数值回送操作符有:TYPE、
LENGTH、SIZE、OFFSET、SEG等。 数值回送操作符把一些特征或存储
器地址的一部分作为数值回送。
·TYPE 格式为:TYPE 表达式
如果表达式是变量,则汇编程序将 回送该变量的以字节数表示的类型:DB 为1,DW为2,DD为4,DF为6,DQ为8, DT为10。如果表达式是标号,则汇编程
(1) 名字项 源程序中用下列字符来表示名字: 字母A~Z 数字0~9 专用字符 ?、·、@ 、-、$
除数字外,所有字符都可以放在源语句的 第一个位置。名字中如果用到·则必须是第一 个字符。可以用很多字符来说明名字,但只有 前面的31个字符能被汇编程序所识别。
一般说来,名字项可以是标号或变量。它 们都用来表示本语句的符号地址,都是可有可 无的,只有当需要用符号地址来访问该语句时 它才需要出现。
汇编语言源程序语句的格式
汇编语言源程序中的每个语句可以由四项组成, 格式如下:
[名字] 操作 操作数 [ ;注释]
其中: 名字项是指一个标号或变量。
操作项是一个操作码的助记符,它可以是指令、 伪指令或宏指令名。
操作数项由一个或多个表达式组成, 它提供为执行所要求的操作而需要的信 息。操作数项可以是常数、寄存器、标 号、变量或由表达式组成。
类型(BYTE、WORD、DWORD)或 指定距离(NEAR或FAR)的地址操作
注释项用来说明程序或语句的功能。 ";"为识别注释项的开始。";"也可以 从一行的第一个字符开始,此时整行都 是注释,常用来说明下面一段程序的功 能。
上面四项中带方括号的两项是可选项。 各项之间必须用"空格"(space)或"水 平制表"(Tab)符隔开。
(1) 名字项 (2) 操作项 (3) 操作数项 (4) 注释项
TOP
EQU LENGTH STAK
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV AX,0
MOV DI,OFFSET SUM
MOV BX,OFFSET ARRAY
MOV CX,COUNT
指令性语句 格式为: [ 标号 ]: 操作码 [ 操作数 ] [; 注释 ] 带方括号的为任选项, 标号是指令的符号地址, 操作码和操作数是用汇编语言指令表示的指令部分, 注释是对该语句在本程序中的功能的说明。
指示性语句 格式为: [ 名字 / 变量 ] 命令 [参数] [; 注释 ] 命令指示汇编程序进行某种汇编操作, 参数是有关的数据, 名字是段名、符号名等标识符,变量用变量名表示。
MOV CX, 1
举例3: TABLE DB ‘ABCD’ 对于指令MOV CX, LENGTH TABLE
汇编程序将使其形成为:
MOV CX, 1
·SIZE 格式为:SIZE 变量 汇编程序应回送分配给该变量的字
节数。但是,此值是LENGTH值和 TYPE值的乘积。
例如:
MOV CX, SIZE FEES
例如,用段前缀指定某段的地址操作 数
MOV AX,ES:[BX + SI]
·SHORT 用来修饰JMP指令中转向地址的属性,指
出转向地址是在下一条指令地址的±127个字 节范围之内。
例如: JMP SHORT TAG ;转移属性为短转 移
. . . TAG: MOV...
·THIS 格式为: THIS 属性或类型 THIS可以象PTR一样建立一个指定
程序将回送分配给该变量的单元数,而 对于其他情况则送1。
举例1: FEES DW 100 DUP (0)
对于指令MOV CX, LENGTH FEES 汇编程序将使其形成为:
相关文档
最新文档