频道栏目
首页 > 程序开发 > 综合编程 > 其他综合 > 正文
汇编语言的协处理器的指令系统
2011-02-14 08:57:15           
收藏   我要投稿

协处理器共有68条不同的指令,汇编程序在遇到协处理器指令助忆时,都会将其转换成机器语言的ESC指令,ESC指令代表了协处理器的操作码。
在协处理器指令在执行过程中,需要访问内存单元时,CPU会为其形成内存地址。协处理器在协处理器指令期间内利用数据总线来传递数据。80287协处理器利用I/O地址00FAH~00FFH来实现其与CPU之间的数据交换,而80387~Pentium系列芯片,则是利用I/O地址800000FAH~800000FFH来实现这两者之间的数据交换。
指令操作符的命名规则
协处理器指令的操作符(或助忆符)在命名设计时,遵循了下列规则:
1、在操作符后面加上字母P:表示该指令执行完后,还进行一次堆栈弹出操作。如:FADD和FADDP等;
2、在操作符后面加上字母R:表示该操作是反模式,它仅限于减法、除法指令。如:FSUB和FSUBR等;
正模式 —— 栈顶数据=栈顶数据 op 指令操作数,或OPN1=OPN1 – OPN2
反模式 —— 栈顶数据=指令操作数 op 栈顶数据,或OPN1=OPN2 – OPN1
假设:栈顶数据为10,内存变量data的值为1,分别执行下列指令将有不同的结果。
 FSUB data ;指令执行后,栈顶数据为9
FSUBR data ;指令执行后,栈顶数据为-9
FSUB ST, ST(1) ;指令执行后,ST=ST-ST(1)
FSUBR ST, ST(1) ;指令执行后,ST=ST(1)-ST

3、操作符的第2个字母是I:表示内存中数据是整数。它对加、减、乘除指令都有效。
例如:FADD data——浮点数加法;
FIADD data——整数加法,它表示内存单元data是一个整数,把该整数加到栈顶的浮点数上。
4、操作符的第2个字母是N:表示在指令执行之前检查非屏蔽数值性错误。如:FSAVE和FNSAVE等,前者称为等待形式(wait version),后者称为非等待形式(no-wait version)。
在使用.8087伪指令情况下,汇编程序会在等待形式的指令前面加上指令WAIT,而在非等待形式的指令前面加上空操作指令NOP。
理解了上述操作符命名规则,就能很容易地区分同类指令之间的差异。

 

 

点击复制链接 与好友分享!回本站首页
相关TAG标签 指令 处理器 系统
上一篇:汇编语言的数学运算指令
下一篇:编程实现连连看机器人外挂
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站