首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载 | ||
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试 MPA考试 | 中科院 |
||
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT 新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语 |
||
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证 华为认证 | Java认证 |
||
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格 报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师 人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平 驾驶员 | 网络编辑 |
||
卫生资格 | 执业医师 | 执业药师 | 执业护士 | ||
会计从业资格考试(会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师 注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师 |
||
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师 质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师 设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师 城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师 |
||
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏 |
(三)伪指令语句的增强与扩充
1.简化段定义伪指令
(1)简化段定义伪指令:完整段定义伪指令和简化段定义伪指令。在MASM5.0以上的汇编语言版本中,既可以使用完整段定义伪指令,又可使用简化段定义伪指令;在低于MASM5.0的版本中,只能使用完整段定义伪指。
简化段定义伪指令如下表所示。
简化段定义伪指令
段语句名 伪指令格式 功 能
代码段语句 .CODE[名字] 定义一个代码段,如果有多个代码段,要用名字加以区分
堆栈段语句 .STACK[长度] 定义一个堆栈段,并形成堆栈段寄存器SS和堆栈指针SP的初值。(SP)=长度,如果省略长度,则(SP)=1024
初始化近程数据段语句 .DATA 定义一个近程数据段,当用来与高级语言程序连接时,其数据空间要赋初值
非初始化近程数据段句 .DATA? 定义一个近程数据段,当用来与高级语言程序连接时,其数据空间只能用“?”定义,表示不赋初值
常数段语句 .CONST 定义一个常数段,该段是近程的,用来与高级语言程序连接, 段中数据不能改变
初始化远程数据段语句 .FARDARA?[名字] 定义一个远程数据段,且其数据语句的数据应赋初值,用来与高级语言程序连接
非初始化远程数据段句 .FARDARA[名字] 定义一个远程数据段,但其数据空间不赋初值,只能用“?”定义数据,用来与高级语言程序连接
(2)定义内存模式伪指令(MODEL)
在使用简化段定义伪指令时,必须事先说明用户使用的内存模式。格式:MODEL 模式类型[,高级语言]功能:指定数据和代码允许使用的长度。
●程序中凡数据或代码的长度不大于64KB时为近程,否则为远程。近程的数据通常定义在一个段中,对应于物理存储器中的一个段,只要程序一开始将其段值设置在DS中,以后数据的访问只改变偏移值,而不必改变其段值。
通常总是将定义内存模式伪指令语句放在用户程序中其他简化定义伪指令语句之前。可供选择的内存模式有5类,如下表所示。当独立的汇编语言源程序不与高级语言程序连接时,多数情况下只用小模式。
内存模式的类型
内存模式 说 明
Small 小模式,程序中的数据放在64KB的数据段内,代码放在64KB的代码段中,为近程
Medium 中模式,数据为近程,允许代码为远程
Compact 压缩模式,代码为近程,允许数据为远程
Large 大模式,允许数据和代码为远程,但一个数据段不能大于64KB
Huge 巨型模式,允许数据和代码为远程,且数据语句所用存储空间可以大于64KB
2.方式选择伪指令
80x86汇编语言是在8086/8088汇编语言的基础上逐步发展并向上兼容的,因此在对源程序进行汇编时,汇编程序首先要区分当前的源程序是针对80x86系列的哪种微处理器而执行的,为此提供了微处理器方式选择伪指令。又因为MASM5.0中对应每种微处理机的指令系统都有一个汇编执行语句集合,简称指令集,因此微处理器方式选择伪指令,实质上也就是指令集选择伪指令。方式选择伪指令的格式和功能下表所示。
方式选择伪指令的格式和功能
伪指令格式
功 能
.8086
这是一种默认方式,它告诉汇编程序只接受8086/8088指令
.286/.286C 它告诉汇编程序只接受8086/8088指令以及80286非保护方式下的指令,用.8086可以删除该伪指令
.286P 靠诉汇编程序接受8086/8088以及80286的所有指令(不仅包括保护方式下的指令,也包括非保护方式下的指令),通常只有系统设计人员才使用该伪指令,可以使用.8086伪指令删除
.386/.386C 告诉汇编程序接受8086/8088指令,以及80286/80386非保护方式下的指令。在这种方式下,将禁止所有保护方式下的指令出现,否则将出错
.386P 除具有.386/.386C功能外,还允许汇编保护方式下的80286/80386指令,通常只有系统设计人员才使用该伪指令。可以使用.8086伪指令删除
.8087 选用8087指令集,并指定实数的二进制码为IEEE格式
.287 选用80287指令集,并指定实数的二进制码为IEEE格式
.387 选用80387指令集,并指定实数的二进制码为IEEE格式
.486/.486C 允许汇编非保护方式下的80486指令。MASM6.0可以使用
.486P 允许汇编80486的全部指令。MASM6.0可以使用
上述伪指令语句一般放在源程序的开头
相关推荐:2010年9月计算机等级考试成绩查询时间汇总北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |