第3次课第8章 汇编语言基础_第1页
第3次课第8章 汇编语言基础_第2页
第3次课第8章 汇编语言基础_第3页
第3次课第8章 汇编语言基础_第4页
第3次课第8章 汇编语言基础_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本次课要点:第8章汇编语言基础1、掌握汇编语言中段结构操作伪指令。2、掌握汇编语言中常用的特殊伪指令。8.4.3

段结构伪指令第8章汇编语言基础1.段定义伪指令 段名SEGMENT[定位类型][组合类型][‘类别名’] ...段名ENDS定位类型(AlignType):PAGE(页):本段从一个页的边界开始,起始地址能被256整除。PARA(节):本段从一个节的边界开始,起始地址能被16整除。WORD(字):本段从偶字节地址开始。BYTE(字节):本段从任意地址开始。8.4.3

段结构伪指令第8章汇编语言基础1.段定义伪指令(续) 组合类型(CombineType):NONE:本段与其它段无连接关系,是独立的。PUBLIC:本段与其它同段名同类型的段相连接在一起,然后为所有这些段指定一个共同的段基地址,形成一个新的逻辑段。COMMON:本段与其它同段名同类型的段设置相同的段基址,共享相同的存储区,段长度由同名段中最大的段确定。(覆盖段)8.4.3

段结构伪指令第8章汇编语言基础1.段定义伪指令(续) 组合类型(CombineType):STACK:与PUBLIC段相似,但此段为堆栈段,系统自动对SS寄存器和SP指针初始化。AT数值表达式:可以直接设定段的起始地址,如AT01110H。MEMORY:本段定位在所有其它段的最高地址,有多个段,只把第一遇到的当作此段。

类别名(‘Class’)在引号中给出连接时组成段组的类型名。8.4.3

段结构伪指令第8章汇编语言基础2.段寻址伪指令ASSUME段寄存器名:段名,段寄存器名:段名,...DS_DATA SEGMENTVAR1DB 12HDS_DATA ENDSES_DATA SEGMENTVAR2DB 34HES_DATA ENDSCODE SEGMENTVAR3 DB 56H8.4.3

段结构伪指令第8章汇编语言基础2.段寻址伪指令(续)

ASSUME CS:CODE,DS:DS_DATASTART: INC VAR1 INC VAR2 INC VAR3 ...CODE ENDS END START可用关键字NOTHING取消前面的某些设置。例:ASSUMEDS:NOTHING;取消对DS的设置

ASSUMENOTHING;取消全部4个段R的设置8.4.3

段结构伪指令第8章汇编语言基础3.段寄存器的装入DS,ES的装入DATA_DS SEGMENTDB1 DB 10H DUP(?)DATA_DS ENDSCODE SEGMENT ASSUMECS:CODE,DS:DATA_DS,ES:DATA_ESSTART: MOV AX,DATA_DS ;设置DS MOV DS,AX MOV AX,DATA_ES ;设置ES MOV ES,AX ...CODE ENDS8.4.3

段结构伪指令第8章汇编语言基础SS的装入(1)STACK1 SEGMENT PARA STACK DW 20H DUP(?)STACK1 ENDS(2)STACK2 SEGMENT DW30H DUP(?)TOP LABEL WORDSTACK2 ENDS ...CODE SEGMENT ... MOV AX,STACK2 ;设置SS MOV SS,AX MOV SP,OFFSETTOP ;修改SP8.4.3

段结构伪指令第8章汇编语言基础

CS的装入

...CODE SEGMENT ASSUME CS:CODE, ...START: ...CODE ENDS ENDSTART8.4.4

子程序定义伪指令第8章汇编语言基础过程名PROC[NEAR/FAR] ... RET过程名ENDP如果是主程序则为FAR,如果是子程序则可以是NEAR或FAR有三个属性一个过程内,至少有一条返回指令RET调用过程使用CALL过程名段内返回与段间返回8.4.5

其他伪指令第8章汇编语言基础1.ORG,$

格式:ORG表达式将表达式的值赋给位置计数器$存放位置计数器的当前值例17:DATA SEGMENT ORG 30HDB1 DB 12H,34H ORG $+20HSTRING DB ‘STRING’DATA ENDS8.4.5

其他伪指令(续)第8章汇编语言基础1.ORG,$例18:DATA SEGMENTDA1 DB 10H DUP(?)DA2 DB 12H ,34HDA3 DW 56H,$+10H,78H,$+20H ...DATA ENDS8.4.5

其他伪指令(续)第8章汇编语言基础1.ORG,$例19:CODE SEGMENT ... ORG 50H MOV AX,OFFSET$ MOV BX,OFFSET$ ...CODE ENDSMOV AX,0050HMOV BX,0053H8.4.5

其他伪指令(续)第8章汇编语言基础2.TITLE(标题)伪指令,指定一个标题,用于在源程序列表的每一页上显示这个标题文本。

格式:TITLE文本字符不超过80个 例:

TITLEEXAMPLE PROGRAM8.4.5

其他伪指令(续)第8章汇编语言基础3.NAME

格式:NAME模块名将模块名作为模块名字。8.4.5

其他伪指令(续)第8章汇编语言基础4.END程序结束伪指令

格式:END[标号]表示源程序到此为止。8.4.5

其他伪指令(续)第8章汇编语言基础5.INCLUDE伪指令

格式:INCLUDE文件名

例:

INCLUDE FILE.MAC INCLUDE B:\MASM\ABC.ASM。8.4.5

其他伪指令(续)第8章汇编语言基础6.ENEN伪指令

定位偶地址。

7.PUBLIC伪指令指明本模块中定义的标记符可以被其他模块访问。格式:PUBLIC符号1,符号2,

8.4.5

其他伪指令(续)第8章汇编语言基础8.EXTRN伪指令

指明本模块要应用的标记符是在其他模块中定义而且是用PUBLIC伪指令说明的。EXTRN符号1:类型,符号2:类型,...例20:PUBLIC NUM1,STRING,SUB1,LOOP1DATA1 SEGMENTNUM1 EQU 1234H ...STRING DB ‘CHARACTERSTRING’ ...DATA1 ENDS ...CODE1 SEGMENT ...SUB1 PROCFARLOOP1: ...SUB1 ENDPLOOP1: ... ...CODE1 ENDS END第8章汇编语言基础EXTRN NUM1:ABS,STRING:BYTEEXTRN SU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论