第四章_Pentium指令系统.ppt

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

●操作数 操作数允许有多个,这时各操作数之间要用逗号“,”隔开。 伪指令语句中操作数的格式和含义则随伪操作命令不同而不同,有时是常量或数值表达式,有时是一般意义的符号 (如变量名、标号名、常数符号等),有时是具有特殊意义的符号(如指令助记符、寄存器名等)。 指令语句中的操作数提供该指令的操作对象,并说明要处理的数据存放在什么位置以及如何访问它,它可以是常量操作数、寄存器操作数、存储器操作数和表达式。 4.3 汇编语言程序概述 4-* 4.4.1 方式选择伪指令 4.4.2 逻辑段定义伪指令 4.4.3 数据定义伪指令 4.4.4 模块定义伪指令 4.4.5 过程与宏定义伪指令 4.4 常用伪指令语句 4.4 常用伪指令语句 4-* 4.4.1 方式选择伪指令 方式选择伪指令用于通知汇编程序,当前的源程序指令是哪一种CPU指令,经过汇编链接之后生成的目标程序在哪一种CPU机型上运行。不属于选定CPU的指令均为非法指令。所以,方式选择伪指令本质上也就是指令集选择伪指令。 通常,方式选择伪指令放在程序的头部,作为源程序的第一条语句。缺省时默认8086指令集。 4.4 常用伪指令语句 4-* 4.4.2 逻辑段定义伪指令 1. 完整段定义伪指令 80X86/Pentium 系列微处理器汇编语言有两种逻辑段定义方法:完整段和简化段定义 采用完整段定义伪指令可具体控制汇编程序(MASM)和链接程序(LINK)在内存中组织代码和数据的方式。 主要包括段定义语句和段寄存器说明语句。 4.4 常用伪指令语句 4-* 4.4 常用伪指令语句 3.3.2 逻辑段定义伪指令 ? 格式: 段名 SEGMENT [定位类型][,组合类型][,字长选择][,‘类别’] 段体 ;由指令、伪指令和宏指令语句组成 段名 ENDS ⑴ 段定义语句 ? 说明: (1) SEGMENT/ENDS是一对段定义语句,一个逻辑段从SEGMENT语句开始,到ENDS语句结束。 (2) 段名是用户定义的段的标识符,用于指明段的基址。 (3) 4个可选参数用于为源程序的汇编、连接提供必要的信息,特别是模块化程序,各个模块如何定位,彼此之间如何连接,将较多地涉及到定位类型和组合类型的选择。 指定段起点的边界类型: BYTE(字节) WORD(字) DWORD(双字) PARA(节) PAGE(页) 定位类型 告诉链接程序本段与其它模块中同名段的组合连接关系: PUBLIC 连接到同一个物理段中 STACK 连接到同一个物理堆栈段中,并给SS:ESP赋值 COMMON 产生一个覆盖段。 MEMORY AT表达式 组合类型 定义段中使用的偏移地址和寄存器的字长 USE16 ── 表示该段字长为16位 USE32 ── 表示该段字长为32位 字长选择 4-* ⑵ 段寄存器说明语句 ?格式: ASSUME 段寄存器:段名[,段寄存器:段名,…] ?功能: 说明源程序中定义的段由那个段寄存器去寻址。 ?说明: ⑴ CS只能用于包含有程序的段,反之含有程序的段也只能以CS作为段寄存器。SS也一样,只能与堆栈段对应。 ⑵ CS所对应的段名必须在该语句之前有定义。 ⑶ 该语句是说明性语句。 4.4 常用伪指令语句 4-* 简化段有利于实现汇编语言程序模块与Microsoft高级语言程序模块的连接,它可以由操作系统自动安排段序,自动保证名字定义的一致性。但是命令文件(.COM)的编程不能使用简化段定义。 ⑴ 段次序语句(DOSSEG) ⑵ 内存模式语句(.MODEL) ⑶ 段语句 简化段定义有三种语句: 2. 简化段定义伪指令 4.4 常用伪指令语句 4-* 4-* 4.4 常用伪指令语句 使用简化段定义的独立汇编语言源程序框架: DOSSEG .MODEL SMALL .STACK [长度] .DATA … ;数据语句 .CODE 启动标号:MOV AX,@DATA ;或MOV AX,DGROUP MOV DS,AX … ;可执行语句 MOV AH,4CH ;返回DOS INT 21H END 启动标号 段语句 .CODE .DATA .STACK DOSSEG

文档评论(0)

整理王 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档