第4章MASM汇编语言基础-精选课件(公开).pptVIP

  • 1
  • 0
  • 约7.18千字
  • 约 54页
  • 2019-12-15 发布于广西
  • 举报

第4章MASM汇编语言基础-精选课件(公开).ppt

用DS、ES的装入的办法,那么为装入CS、IP的新值需要执行几条指令。 对CS、IP的装入通常是:按照END结束伪指令指定的地址装入CS、IP。任何一个源程序都是以END伪指令来结束。 格式:END 起始地址 起始地址可以是一个标号或表达式;END伪指令的作用是指示源程序到此结束和指定程序运行时的起始地址。 §4.4.3 段寄存器的装入(续) 3.CS的装入 ?1.等值语句 格式:符号 EQU 表达式 其中EQU是等值伪指令,把表达式的值或符号赋给EQU左边的符号,表达式可以是: 常量表达式, 地址表达式, 变量、标号或指令助记符, §4.5 其它常用伪指令 §4.5.1 符号定义语句 ① 等值语句仅在汇编源程序时,作为替代符号用,不产生任何的目标代码,也不占有存储单元。 ② 在同一源程序中,同一符号在EQU语句未解除之前不能用EQU伪指令重新定义。 ③ 已经用EQU定义的符号,若以后不再用了就可以用PURGE语句来解除。PURGE语句的格式如下: PURGE 符号1,符号2,……,符号n 注意事项: §4.5.1 符号定义语句(续) 2、等号语句 格式:符号=表达式 此语句的功能与EQU等值语句类似,其最大的特点是能对符号进行重定义。 §4.5 其它常用伪指令(续) §4.5.2 程序开始和结束伪指令 1.开始伪指令 NAME的格式:NAME module_name 汇编程序将以给出的module_name作为模块的名字。如果程序中没有NAME伪指令,则可使用TITLE伪指令,其格式: TITLE text 2.程序结束伪指令 表示源程序结束的伪指令的格式: END [起始标号] §4.5.2 程序开始和结束伪指令(续) §4.5.3 定位伪指令(ORG)和当前位置计数器($) 符号“$”代表当前位置计数器的现行值。 定位伪指令的ORG的格式:ORG 表达式 它表示把表达式的值赋给当前位置计数器:ORG语句后的指令或数据以表达式给定的值作起始偏移量。 在程序设计中,通常把具有一定功能的程序段设计成一个子程序。过程定义伪指令格式如下: 过程名 PROC (NEAR/FAR) …… RET …… 过程名 ENDP §4.5.4 过程定义伪指令 §4.5 其它常用伪指令(续) 过程名不能省,且过程的开始PROC和结束ENDP应使用同一个过程名;它就是过程调用指令CALL的目标操作数。它类同于标号的的作用,同样具有三个属性。当没有定义它的距离属性,隐含为NEAR。 任何一个过程,一定含有返回指令RET,它可以在过程中任何位置,不一定非要放在最后。若一个过程有多个出口,它可能有多个返回指令。但一个过程执行的最后一条指令必定是RET。 §4.5.4 过程定义伪指令(续) §4.6.1 上机步骤 程序设计人员还需要对已编写好的程序进行调试和测试,使它能正确运行。 §4.6 汇编语言上机调试 2.汇编 汇编就是用宏汇编程序MASM.EXE把汇编语言源程序翻译(汇编)成机器语言的目标程序。宏汇编程序主要有以下功能: 检查源程序中语法错误,给出错误信息; 展开宏指令; 生目标程序(.OBJ),列表文件(.LST)和交叉引用文件(.CRF)。 §4.6 汇编语言上机调试(续) 1.编辑 调用编辑程序EDIT.EXE,WS.EXE等,用键盘敲入源程序,退出编辑系统时,保存编辑完成的文件,且扩展名为.ASM。 接着屏幕上显示: 宏汇编程序询问汇编产生的目标程序文件(目标程序文件是一个纯二进制代码文件,不能直接在屏幕上显示观察)的文件名是否为方括号中的默认值(即目标程序与源程序同名)。若是,直接按一回车键,否则需自己输入另一文件名。在回答完这一询问后,宏汇编程序接着依次询问产生列表文件(列表文件.LST是一个很有用的文件,文件中包含了源程序中各语句及其对应的目标代码。给出了源程序中各语句所属段内的偏移量,并且把源程序中所用的标号、变量和符号,列出它们的名字、类型和值,便于查阅)和交叉引用文件(交叉引用文件中给出了源程序中定义的符号如标号、变量等以及程序中引用这些符号的情况,且是按字母顺序排列的。若要查看这个符号表,必须使用CREF软件,它根据.CRF文件建立一个扩展名为.REF的文件。然后再显示.REF文件的内容就可以看到这个符号表)的文件名,屏幕上显示: §4.6 汇编语言上机调试(续) * 2007 copyright / * 2007年3月

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档