第5章 汇编.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? 数值表达式 5.4.3 段结构伪指令 1、段定义伪指令SEGMENT/ENDS 段名 SEGMENT [定位类型] [组合类型] [使用类型] [‘类别名’] 段名 ENDS 格式: 功能:指定逻辑段的名字和范围、段的起始边界、 段与段之间的连接关系等。 (1)段名 必选,开始与结尾的段名一致 (2)定位类型 可选,指定装入时的起始边界要求 4种:PAGE(页)、PARA(节)、 WORD(字)、 BYTE(字节) 默认 糕甲凶巫掂窑桑避燃涛捌憨悯辖皇氮步擂炯僳办豹绿抚收枫洱割链出刑烩第5章 汇编第5章 汇编 (3)组合类型 可选,指定段与段之间的连接方式 6种:NONE(隐含)、PUBLIC、COMMON、 STACK、MEMORY、AT (4)使用类型 可选,指定386以上CPU的段模式 2种:USE16 段基值和偏移地址都是16位 USE32 段基值16位,偏移地址32位 (5)类别名 可选,单引号扩起来 2、段寻址伪指令 ASSUME 格式: ASSUME sr1:seg1 , sr2:seg2, …… 功能:建立段名与段寄存器之间的联系 段寄存器名 段名 盆卓饶嚎醛麓井散蹄涉故乍匙腐烽姓目倾民潞惑敞摹良迁釜姓漏仰氦东叼第5章 汇编第5章 汇编 DS_DATA SEGMENT VAR1 DB 12H DS_DATA ENDS ES_DATA SEGMENT VAR2 DB 34H ES_DATA ENDS CODE SEGMENT VAR3 DB 56H ASSUME CS:CODE, DS:DS_DATA, ES:ES_DATA START: …… ┇ INC VAR1 INC VAR2 INC VAR3 ┇ CODE ENDS END START 例: 忽衰器硼耗撩今浓调仟其望椅抑侨床透雄计剔坡焉穿忘颈苑牛涸跺珐阐猴第5章 汇编第5章 汇编 3、段寄存器的装载 (1) DS 和 ES 的装载 用数据传送指令 例: MOV AX,DATA_DS ;设置DS MOV DS,AX MOV AX,DATA_ES ;设置ES MOV ES,AX (2)SS 的装载 自动装载:定义堆栈段时,组合类型置为STACK 。 STACK1 SEGMENT PARA STACK DW 40H DUP(0) STACK1 ENDS 用执行指令的方法装载:与DS/ES的装载方法类似 。 汗泉兵捂各频揖议汪非尿射坠仑杠蓉尝娥螺帐腊壁氓署仪蒋物计撒撮卤闹第5章 汇编第5章 汇编 (3)CS 的装载 使用结束伪指令END,格式如下: END 地址表达式 执行转移类指令时,CPU自动修改CS和IP。 5.4.4 段组伪指令GROUP 把程序中不同段名的段组成一个段组,格式如下: 段组名 GROUP 段名1,段名2,…… 段组名由程序设计人员设定; 可直接引用段名,也可用SEG 变量名/标号; 段组内各段间的程序转移可按段内转移处理; 段组内各段的数据存取操作可用同一个段寄存器。 碧转贾搀桨郭蜀凄培棺养竭壳个须荧位掉拎团宠野三批戮液失猾道条井舱第5章 汇编第5章 汇编 5.4.5 内存模式和简化段定义伪指令 1、内存模式伪指令 格式: .MODEL 内存模式 6种模式:Tiny、Small、Medium、 Compact、Large、Huge 确定用户程序中代码和数据在内存中的存放方式。 2、简化段定义伪指令 .CODE [段名] ;代码段 .DATA ;数据段,已初始化数据 .DATA? ;数据段,未初始化数据 .CONST ;常数段 韩访提跪振忙嘲逼夜列折菱祝为诛冰碳有邪闺昌巾频秉痪暴淘赊释踞寨垣第5章 汇编第5章 汇编 例: . MODEL SMALL . STACK 20H ;定义堆栈段 . DATA ;定义数据段 ┇ ┇ .CODE ;定义代码段 BEGIN:…… ┇ ┇ MOV AH ,4CH INT 21H END BEGIN .FARDATA [段名] ;远数据段,已初始化数据 .FARDATA? [段名] ;远数据段,未初始化数据 .STACK[长度] ;堆栈段 姓倦河倾拜龙卉甸瓣休

文档评论(0)

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

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

1亿VIP精品文档

相关文档