汇编第3次课.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编第3次课

本次课要点: 定位类型表示该段起始边界要求,有以下4种类型: PAGE(页):本段从一个页的边界开始,段基址能被256整除。 PARA(节):本段从一个节的边界开始,段基址能被16整除。 WORD(字):本段从偶地址开始。 BYTE(字节):本段从任一物理地址开始。 用ASSUME建立了当前段与段寄存器之间的关系,那么段寄存器中的内容是如何装入的呢? (1)DS和ES的装入 (2)CS的装入 (3)SS的装入 (2)CS的装入 CS存放当前执行的目标代码的段地址; IP存放下一条目标代码的偏移地址; 对CS和IP的装入方法是利用END后的标号来完成的。 例: CODE SEGMENT ASSUME CS:CODE START: …… CODE ENDS END START ;START为可执行程序的起始地址 将START所在段的段地址和段内偏移量分别送给CS和IP寄存器。 堆栈段(P119) 主存中按照后进先出方式进行操作的一段存储空间。 堆栈按照字进行入栈和出栈操作; 栈底地址大于栈顶地址; SS存放堆栈段的段基值,SP存放栈顶单元的偏移量; 入栈:SP-2 出栈:SP+2 (2) 直接对SS和SP赋值 例: STACK1 SEGMENT DW 30H DUP(?) TOP LABEL WORD STACK1 ENDS CODE SEGMENT ASSUME SS:STACK1 ... MOV AX , STACK1 ;段基值赋给SS MOV SS , AX MOV SP , OFFSET TOP ;设置SP CODE ENDS 标记符分为: 内部标记符:只能在本模块内部引用的标记符 外部标记符:可以被其他模块引用的标记符 * 第8章 汇编语言基础 1、掌握汇编语言中段结构操作伪指令。 2、掌握汇编语言中常用的特殊伪指令。 8.4.3 段结构伪指令 第8章 汇编语言基础 1.段定义伪指令 段名 SEGMENT [定位类型] [组合类型] [‘类别’] ... 段名 ENDS 段名代表所定义段的段首址 三个参数是可选项,不能改变三个参数的顺序,各参数间用空格隔开。 第8章 汇编语言基础 1.段定义伪指令(续) 组合类型: 不指定方式或隐含方式:本段与其它段无连接关系,按照在源程序中的顺序依次在内存中存放。 PUBLIC:本段与其它PUBLIC类型的同名段从一个公用的段基址开始连续存放。 COMMON:本段与其它COMMON类型的同名段共享相同的存储空间,段长度由同名段中最大的段确定。 第8章 汇编语言基础 STACK:与PUBLIC段相似,但此段为堆栈段,系统自动对SS和SP寄存器初始化。 MEMORY:本段定位在所有其它段的最高地址,若有多个MEMORY段,只把第一个遇到的按MEMORY方式处理,其余的按COMMON方式处理。 AT表达式:本段的起始单元可以定位在表达式所示的节边界上。 第8章 汇编语言基础 1.段定义伪指令(续) 例8-35: 模块1 DATA SEGMENT COMMON VAR1 DB 100 DUP(?) DATA ENDS CODE SEGMENT PUBLIC … CODE ENDS 模块2 DATA SEGMENT COMMON VAR1 DB 300 DUP(?) DATA ENDS CODE SEGMENT PUBLIC … CODE ENDS 第8章 汇编语言基础 类别: 由用户定义,用单引号括起来。 当连接程序组织段时,将类别名相同的段存放在连续的存储空间。 如果在组合类型中没有选PUBLIC,COMMON,MEMORY时,类别名相同的段仍然是各自独立的段。 第8章 汇编语言基础 2.段寻址伪指令 格式:ASSUME 段寄存器名:段名,段寄存器名:段名,... 功能:确定哪些段是当前段,以及段寄存器与当前段的对应关系。 根据变化,可随时修改段寄存器与当前段的对应关系。 ASSUME伪指令只是指定段寄存器与段名的对应关系, 并不能把段基址装入段寄存器。 DATA-SEG1 SEGMENT VAR1 DB 10H DATA-SEG1 ENDS DATA-SEG2 SEGMENT VAR2 DB 20H DATA-SEG2 ENDS CODE SEGMENT ASSUME CS:CODE , DS: DATA-SEG1 , ES: DATA-SEG2 START:

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档