汇编语言程序设计(II)

汇编语言程序设计(II)

ID:40610227

大小:2.27 MB

页数:136页

时间:2019-08-05

汇编语言程序设计(II)_第1页
汇编语言程序设计(II)_第2页
汇编语言程序设计(II)_第3页
汇编语言程序设计(II)_第4页
汇编语言程序设计(II)_第5页
资源描述:

《汇编语言程序设计(II)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章汇编语言程序设计目录1主要内容:§4.1汇编语言和汇编程序§4.2汇编语言程序规范★§4.3伪指令★§4.5宏指令§4.6汇编语言程序设计★机器语言:二进制数形式的指令和数据。助记符:用便于记忆的英语单词表示的指令操作码。它反映了指令的功能和主要特征,便于人们理解和记忆。汇编语言:指令助记符、符号地址、标号、伪指令等语言元素的集合及这些元素使用的规则。汇编语言源程序:用汇编语言编写的程序。§4.1汇编语言和汇编程序汇编程序源程序的编译程序汇编程序汇编语言源程序机器语言目标程序汇编源程序需翻译成机器语言(变成可执行文件,机器才能执行)这个翻译过程叫汇编。高级语言中称该过程为“解释”或“

2、编译”。执行翻译的程序称为“汇编程序”。汇编语言程序设计与执行过程汇编语言源程序源文件.ASM汇编(编译)目标文件.OBJ链接可执行文件.EXE调试最终程序.EXEMASM1.ASMLINK1.OBJDEBUG1.exe§4.2汇编语言程序规范分段结构★语句的类型★语句的构成与规范★数据项与表达式★作业:4-24-3(用表格形式)1.分段结构汇编语言源程序通常由一个或几个程序模块组成,每个模块一般由三个逻辑段组成:数据段——存放数据、变量堆栈段——堆栈区域代码段——存放程序指令示例stackSEGMENTPARA‘stack‘DB100DUP(‘stack’)stackENDSdataSE

3、GMENT<数据、变量在此定义>dataENDScodeSEGMENTASSUMECS:code,DS:data,SS:stackstart:MOVAX,dataMOVDS,AXMOVES,AX<此处加入你自己的程序段>MOVAL,4CHINT21HcodeENDSENDstart堆栈段数据段代码段2.语句的类型指令语句:由指令助记符构成,汇编后将产生相应的机器代码构成的目标程序,供CPU执行。伪指令语句:为汇编程序和链接程序提供一些必要控制信息的、由伪指令构成的管理性语句。宏指令语句:为程序简洁,将一组反复出现的指令集中定义为一条宏指令,汇编后还原为这组指令对应的目标代码。3.语句的构成

4、与规范汇编语言程序的每个语句由4个域构成:[标号、名字]操作符[操作数][;注释]标号名字域:标号—指令的符号地址,用来代表指令在存储器中的地址。标号后应加上冒号。名字—段、过程、变量的名字,用来代表它们在存储器中的地址。名字后不加冒号。示例语句的构成与规范操作符域:指令、伪指令、宏指令助记符。操作数域:即指令的操作对象。可以有0个、1个或2个。操作数之间以逗号分隔。形式:寄存器、存储单元、常数或表达式。注释域:以分号开头,用来说明程序的功能、分段,以便阅读和理解。汇编时不予处理。示例汇编语言的一个实例:hello.asmdataSEGMENTHelloDB‘Hello,world!’,0

5、DH,0AH,’$’dataENDSprogSEGMENTASSUMECS:prog,DS:datastart:MOVAX,dataMOVDS,AXLEADX,hello;取字符串首地址MOVAH,9INT21H;显示字符串MOVAH,4CHINT21H;退回DOSprogENDSENDstart名字标号注释注释注释4.数据项与表达式常量★标号★变量★表达式★①常量-没有属性的纯数二进制数:以B结尾,如01001101B。十进制数:如85,或以D结尾。十六进制数:以H结尾,第1个数字为A-F时,前面应加0,如0F160H,否则被误会是标识符。字符串:用单引号括起来的1个或多个字符,每个字符

6、的ASCII码值构成。如‘256’,汇编时被翻译成ASCII码323536H,而不是256。标号:指令语句的名字也是其符号地址。标号有3个属性:段地址:即标号所在段的段地址;偏移量:标号所代表存储单元的段内偏移地址;类型:NEAR(段内引用)或FAR(段外引用)常作为转移指令的转移地址②标号③变量变量:存于内存单元中的数据,可被程序改变变量名:是变量的符号地址变量也有3个属性:段地址:变量所在段的段地址偏移量:变量单元地址与段首址间的位移量。类型:有BYTE、WORD和DWORD三种,由定义变量的伪指令确定。变量与标号统称为存储器操作数。标号和变量名的使用规则组成:A-Za-z0-9?.@

7、_$不能以数字开头,句号(.)只能作首字符长度小于31个字符不能与保留字(指令助记符、伪指令、预定义符号等)重名不能重复定义例:正确:LP1,AGAIN,NEXT,_GO,OK_1错误:4M,LOOP,AAA,#HELP,+ONE④表达式表达式:由常数、寄存器名、标号、变量与一些运算符的组合而成。运算符有6类:算术运算符★逻辑运算符★关系运算符★分析运算符★综合运算符-属性运算符★优先级别算术运算符+、-、*、/、MOD

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。