[工学]汇编语言语法介绍.ppt

  1. 1、本文档共77页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]汇编语言语法介绍

第四章 汇编语言语法 汇编语言语句的类型 指示性语句 2) ASSUME语句 功能: 汇编器在把源程序转换为目标程序时,必须明确逻辑段段和段寄存器的关系,这可用ASSUME语句来实现。 格式: ASSUME 段寄存器:段名,……,段寄存器:段名 其中段寄存器名必须是CS、DS、ES和SS中的一个,而段名则必须是由SEGMENT定义的段名。 ASSUME NOTHING可取消前面由ASSUME所指定的段寄存器 举例: ASSUME CS:CODE,DS:DATA 这条语句通知汇编程序,以CODE为段名的是代码段,对代码段寻址约定使用CS寄存器,以DATA为段名的是数据段,对数据段寻址约定使用DS寄存器。 说明: ① ASSUME语句是非执行语句,要求放在代码段之中,执行寻址操作之前。习惯上,把ASSUME语句作为代码段的第一条语句。 ② ASSUME语句仅仅是约定了对某个逻辑段举行寻址操作时使用哪一个段寄存器,而段寄存器的初值还必须在程序中用指令设置。有两个办法可以设置段寄存器的初值,设DATA为数据段段名: (a) 使用SEG运算符求出逻辑段的段基址并赋给段寄存器,如: MOV AX,SEG DATA MOV DS,AX (b) 直接把段名赋给段寄存器,如: MOV AX,DATA MOV DS,AX 4.过程定义语句 2) ASSUME语句 功能: 汇编器在把源程序转换为目标程序时,必须明确逻辑段段和段寄存器的关系,这可用ASSUME语句来实现。 格式: ASSUME 段寄存器:段名,……,段寄存器:段名 其中段寄存器名必须是CS、DS、ES和SS中的一个,而段名则必须是由SEGMENT定义的段名。 ASSUME NOTHING可取消前面由ASSUME所指定的段寄存器 举例: ASSUME CS:CODE,DS:DATA 这条语句通知汇编程序,以CODE为段名的是代码段,对代码段寻址约定使用CS寄存器,以DATA为段名的是数据段,对数据段寻址约定使用DS寄存器。 PROC与ENDP语句 功能: 过程又称为子程序,是一段可以完成特定功能的指令序列。过程是程序的一部分,可被程序的其它部分甚至是过程自身调用。当过程中的指令执行完后,控制返回调用它的地方。 格式: PROCEURE_NAHE PROC [NEAR] 或 PROCEURE_NAHE PROC FAR … RET … PROCEURE_NAHE ENDP 举例: 用段内CALL指令调用的过程,必须用段内的RET指令返回,这样的过程是NEAR过程;用段间CALL指令调用的过程,必须用段间RET指令返回,这样的过程是FAR过程。 过程定义语句PROC和ENDP限定了一个过程且指出它是一个NEAR或FAR过程。这在两方面帮助了汇编程序:首先,当汇编到CALL时知道是什么样的调用;其次,当汇编到RET时知道是什么样的返回。 格式:LENGTH varlable_name 说明:LENGTH返回为变量分配的数据单元数。这个运算符对于为存取数组元素的循环设置计数器是很有用的。例如: WORDARRAY DW l50 DUP(0) ;LENGTH=l50 BYTEARRAY DB 1,2,3,4,5,6,7 ;LENGTH=7 ② LENGTH运算符 格式:SIZE variable_name 说明:SIZE运算符返回为变量分配的字节数。此值是LENGTH值和TYPE值的乘积,即SIZE=LENGTH * TYPE。例如: WORDARRAY DW l50 DUP(0) ;SIZE=300 BYTEARRAY DB 1,2,3,4,5,6,7 ;SIZE=7 MOV AX,SIZE WORDARRAY ;AX=300 ASIZE DB SIZE BYTEARRAY ;ASIZE初始化为7 ③ SIZE运算符 格式:OFFSET varlab varlab是在当前段中定义的变量或标号的名字。 说明:该运算符返回变量或标号的偏移量,这个偏移量是由定义变量或标号的段基址算起的。偏移量的值是16

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档