欢迎来到天天文库
浏览记录
ID:12079933
大小:292.50 KB
页数:7页
时间:2018-07-15
《汇编语言程序设计基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章汇编语言程序设计基础1.教学目的:掌握微型汇编语言格式和程序设计方法2.教学要求:①熟悉汇编语言程序的结构、语句类型和格式。②熟悉数据项及表达式,要求能明确区分标号和变量。③熟悉各类伪指令,要求掌握常用伪指令格式和应用。3.教学重点:①指令语句格式和伪指令语句格式②汇编语言程序格式。4.掌握难点:①伪指令②伪指令存储器分配技术5.教学进程安排:P102~1336.教学方法:课堂讲授7.教学内容摘要:4.1汇编语言语句格式4.1.1程序格式4.1.2语句格式指令语句和伪指令语句的格式是类似的,格式如下:[名字]操作码操作数[;注释]1.名字⑴名
2、字的标识符⑵名字的定义规则⑶名字的2种主要形式①标号属性:段属性:标号所在的段地址,即CS的内容。偏移属性:标号在代码段的偏移地址。类型属性:段内Near或者段间Far②变量属性:段属性:变量名所在的段地址,DS,ES或SS偏移属性:变量名的偏移地址。类型属性:字节DB,字DW或者双字DD2.操作码3.操作数⑴常数⑵表达式①算术运算符②逻辑运算符③关系运算符4.注释项4.2伪指令机器指令:程序运行期间由计算机来执行。伪操作(伪指令):在汇编程序(MASM)对源程序汇编期间由汇编程序处理的操作。4.2.1表达式赋值伪操作1.等值伪指令EQU0A041
3、064000001FBFF3C000000FDFF0000DATA_BYTEDATA_WORDDATA_DW10d410h100d60d0FFFDh-5100h格式:<符号名>EQU<表达式>2.等号伪指令=EMP=7EMP=EMP+13.解除定义伪指令PURGE格式:PURGE<符号1,符号2,…,符号N>注:①EQU:表达式名不允许重复定义;②=:允许重复定义。4.2.2定义数据的伪指令[变量]助记符操作数,…,操作数[;注释]功能:为操作数分配存储单元,并用变量与存储单元建立联系。DB、DW、DD、DQ、DT【例4-2】操作数可以是常数,或者
4、是表达式(根据该表达式可以求得一个常数),如DATA_BYTEDB10,4,10HDATA_WORDDW100,100H,-5图4.1例4-2的汇编结果DATA_DWDD3C,OFFFDH汇编程序可以在汇编期间在存储器中存入数据,汇编后的内存分布如图4.1所示。【例4-3】操作数也可以是字符串,如:MESSAGEDB‘HELLO’则存储器存储情况如图4.2⑴所示,而DB‘AB’和DW‘AB’的存储情况则分别如图4.2⑵和⑶所示。【例4-4】操作数?可以保留存储空间,但不存入数据。如:ABCDB0,?,?,0MESSAGE48454C4C4F4142
5、4241HELLOABBA⑴字符串的存储⑵DB‘AB’⑶DW‘AB’DEFDW?,52,?经汇编后的存储情况如图4.3所示。图4.2例4-3的汇编结果【例4-5】使用DUP实现重复定义ARRAY1DB2DUP(0,1,2,?)ARRAY2DB100DUP(?)汇编后的存储情况如图4.4所示。由图可见,例4-5中的第一个语句和语句ARRAY1DB0,1,2,?,0,1,2,?是等价的。100个字节00--00--3400--ABCDEF52d000102-000102--┇-ARRAY1ARRAY2图4.3例4-4的汇编结果图4.4例4-5的汇编结果
6、4.2.3定义程序开始和结束的伪指令在程序的开始可以用NAME或TITLE作为模块的名字。1、NAMEmodule_name说明:汇编程序将以给出的module_name作为模块的名字。2、TITLEtext说明:指定列表文件的每一页上打印的标题注:①如程序中没使用NAME伪操作,则汇编程序将用text(最多可有60个字符)中的前6个字符作为模块名;②如程序中即无NAME又无TITLE伪操作,则将用源文件名作为模块名。3、END[label]说明:源程序结束伪操作。注:①label指示程序开始执行的起始地址;②如多个程序模块相连,则只有主程序要使用
7、标号,其它子程序只用END而不必指定标号。4、MASM6.0版的汇编程序增加了定义程序的入口点和出口点的伪操作.STARTUP:定义程序的初始入口点,并且产生设置DS,SS和SP的代码。.EXIT:用来产生退出程序并返回操作系统的代码,格式:格式:EXIT[return_value]return_value:返回给操作系统的值,常用0。.END:程序结束伪操作(省略了标号label)。4.2.4指令集选择伪指令ARRAY010002007C000300040082000074.8086选择8086指令系统.286选择80286指令系统.286P选择
8、保护方式下的80286指令系统4.2.5地址计数器与对准伪操作 1.地址计数器$JNE$+6【例4-6】$用法示例ARRA
此文档下载收益归作者所有