欢迎来到天天文库
浏览记录
ID:39328324
大小:2.52 MB
页数:24页
时间:2019-06-30
《汇编语言段寄存器的入门》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本次课要点:第8章汇编语言基础1、掌握汇编语言中段结构操作伪指令。2、掌握汇编语言中常用的特殊伪指令。8.4.3段结构伪指令第8章汇编语言基础1.段定义伪指令段名SEGMENT[定位类型][组合类型][‘类别名’]...段名ENDS定位类型(AlignType):PAGE(页):本段从一个页的边界开始,起始地址能被256整除。PARA(节):本段从一个节的边界开始,起始地址能被16整除。WORD(字):本段从偶字节地址开始。BYTE(字节):本段从任意地址开始。8.4.3段结构伪指令第8章汇编语言基础1.段定义伪指令(续)组合类型(CombineType
2、):NONE:本段与其它段无连接关系,是独立的。PUBLIC:本段与其它同段名同类型的段相连接在一起,然后为所有这些段指定一个共同的段基地址,形成一个新的逻辑段。COMMON:本段与其它同段名同类型的段设置相同的段基址,共享相同的存储区,段长度由同名段中最大的段确定。(覆盖段)8.4.3段结构伪指令第8章汇编语言基础1.段定义伪指令(续)组合类型(CombineType):STACK:与PUBLIC段相似,但此段为堆栈段,系统自动对SS寄存器和SP指针初始化。MEMORY:本段定位在所有其它段的最高地址,有多个段,只把第一遇到的当作此段。AT表达式:本段
3、的起始单元可以定位在表达式所示的节边界上。类别名(Class)8.4.3段结构伪指令第8章汇编语言基础1.段定义伪指令(续)例:模块1DATASEGMENTCOMMONVAR1DB100DUP(?)DATAENDSCODESEGMENTPUBLIC…CODEENDS模块2DATASEGMENTCOMMONVAR1DB300DUP(?)DATAENDSCODESEGMENTPUBLIC…CODEENDS8.4.3段结构伪指令第8章汇编语言基础1.段定义伪指令(续)类别名(Class):由用户定义,用单引号括起来。当连接程序组织段时,将类别名相同的段存放在连
4、续的存储空间,如果在组合类型中没有选择PUBLIC,COMMON,MEMORY时,类别名相同的段仍然是各自独立的段。8.4.3段结构伪指令第8章汇编语言基础2.段寻址伪指令ASSUME段寄存器名:段名,段寄存器名:段名,...DS_DATASEGMENTVAR1DB12HDS_DATAENDSES_DATASEGMENTVAR2DB34HES_DATAENDSCODESEGMENT8.4.3段结构伪指令第8章汇编语言基础2.段寻址伪指令(续)ASSUMECS:CODE,DS:DS_DATA,ES:ES_DATASTART:......INCVAR1INC
5、DS:VAR1INCVAR2INCES:VAR2...CODEENDSENDSTART可用关键字NOTHING取消前面的某些设置。例:ASSUMEDS:NOTHING;取消对DS的设置ASSUMENOTHING;取消全部4个段R的设置8.4.3段结构伪指令第8章汇编语言基础3.段寄存器的装入DS,ES的装入DATA_DSSEGMENTDB1DB10HDUP(?)DATA_DSENDSCODESEGMENTASSUMECS:CODE,DS:DATA_DS,ES:DATA_ESSTART:MOVAX,DATA_DS;设置DSMOVDS,AXMOVAX,DAT
6、A_ES;设置ESMOVES,AX...CODEENDS8.4.3段结构伪指令第8章汇编语言基础SS的装入(1)STACK1SEGMENTPARASTACKDW20HDUP(?)STACK1ENDS(2)STACK2SEGMENTDW30HDUP(?)TOPLABELWORDSTACK2ENDS...CODESEGMENT...MOVAX,STACK2;设置SSMOVSS,AXMOVSP,OFFSETTOP;修改SP8.4.3段结构伪指令第8章汇编语言基础3.段寄存器的装入CS的装入...CODESEGMENTASSUMECS:CODE,......ST
7、ART:......CODEENDSENDSTART8.4.4子程序定义伪指令第8章汇编语言基础过程名PROC[NEAR/FAR]...RET过程名ENDP有三个属性(段基地址,偏移量,类型属性)一个过程内,至少有一条返回指令RET调用过程使用CALL过程名8.4.5其他伪指令(续)第8章汇编语言基础1.NAME格式:NAME模块名将模块名作为模块的名字。8.4.5其他伪指令(续)第8章汇编语言基础2.TITLE(标题)伪指令,指定一个标题格式:TITLE文本字符不超过80个例:TITLEEXAMPLEPROGRAM8.4.5其他伪指令(续)第8章汇编语
8、言基础3.END程序结束伪指令格式:END[标号]表示源程序到此为止。8.4.5
此文档下载收益归作者所有