个人整理的80387指令.doc

上传人:sk****8 文档编号:3537359 上传时间:2019-06-03 格式:DOC 页数:29 大小:199KB
下载 相关 举报
个人整理的80387指令.doc_第1页
第1页 / 共29页
个人整理的80387指令.doc_第2页
第2页 / 共29页
个人整理的80387指令.doc_第3页
第3页 / 共29页
个人整理的80387指令.doc_第4页
第4页 / 共29页
个人整理的80387指令.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、Version Date Edited DescriptionV1.0 2012-10-8 missgya New Created说明:本文整理自保护方式下的 80386 及其编程3.7.6 节。使用软件环境为 MASM6.15 + CodeView 4.10,有部分指令的说明与在该环境中的测试结果不一致,可能是不同编译器的原因。如有疑问,欢迎发送邮件至。几个浮点数的十六进制形式:-2.5 c0200000-2.0 c0000000-0.25 be8000000.25 3e800000sqrt(2)-1 3ed413cd0.5 3f0000000.75 3f4000001.0 3f800000

2、1.25 3fa00000pi/3 3f860a8bsqrt(3) 3fddb3d72.0 400000002.5 402000002.75 403000003.0 404000004.0 408000005.0 40a000006.0 40c000008.0 41000000F2XM1作用:ST = 2ST 1限制:原 ST 必须为【-0.5,0.5】例:.dataarray dd 3f000000hvalow dd ?.codepage.startupfld arrayf2xm1fstp valowmov eax, valow ;结果 3ED413CDfst valowmov eax, v

3、alow ;结果 FFC00000.exit说明:若原 ST0.5,则不进行任何计算FABS作用:ST=fabs(ST)例:.dataarray dd 0c0000000hvalow dd ?.codepage.startupfld arrayfabsfstp valowmov eax, valow ;结果 40000000fst valowmov eax, valow ;结果 FFC00000.exitFADDFADD作用:ST(1) = ST(1) + ST ; pop()例:.dataarray dd 40000000h, 40400000hvalow dd ?.codepage.sta

4、rtupfld arrayfld array + 4faddfstp valowmov eax, valow ;结果 40a00000fst valowmov eax, valow ;结果 FFC00000.exitFADD mem32/mem64作用:ST = ST + mem32/mem64例:.dataarray dd 40000000h, 40400000hvalow dd ?.codepage.startupfld arrayfadd array + 4fstp valowmov eax, valow ;结果 40a00000fst valowmov eax, valow ;结果 F

5、FC00000.exitFADD ST(m), ST(n)作用:ST(m) = ST(m) + ST(n)限制:op1 和 op2 至少有一为 st,如 fadd st, st(n)或 fadd st(n), st 或 fadd st, st例:.dataarray dd 40000000h, 40400000hvalow dd ?.codepage.startupfld arrayfld array + 4fadd st(1), stfstp valowmov eax, valow ;结果 40400000fst valowmov eax, valow ;结果 40a00000.exitFA

6、DDP ST(m), st输出:ST(m) = ST(m) + ST; pop();说明:faddp st(1), st 与 fadd 结果相同。faddp st, st 没有意义FIADD mem16/mem32作用:ST = ST + mem16/mem32,其中 mem16/mem32 为整数例:.dataarray dd 3f000000h, 2valow dd ?.codepage.startupfld arrayfiadd array + 4fstp valowmov eax, valow ;结果 40200000fst valowmov eax, valow ;结果 FFC000

7、00.exitFCHS作用:ST = -ST例:.dataarray dd 40000000hvalow dd ?.codepage.startupfld arrayfchsfstp valowmov eax, valow ; 结果 C0000000fst valowmov eax, valow ; 结果 FFC00000.exitFCLEX/FNCLEX作用:清除异常FCOMFCOM作用:比较 ST 与 ST(1)说明:若 ST ST(1),则为 ja;若 ST ST(1),则为 jb;否则为 jz/je。不能用 jg 和 jl例:.dataarray dd 0c0000000h,3f000

8、000hvalow dd ?.codepage.startupfld array + 4fld arrayfcomfst valowmov eax, valow ;结果 c0000000fstsw axsahfja GreaterThanjb LessThanjz EqualToGreaterThan:nopLessThan:Nop ;跳转到此处EqualTo:nop.exitFCOM op1作用:比较 ST 与 op1说明:op1 可为 ST(n),其他同 FCOMFCOMP作用:比较 ST 与 op1; pop()例:.dataarray dd 0c0000000h,3f000000hva

9、low dd ?.codepage.startupfld array + 4fld arrayfcomfst valowmov eax, valow ;结果 3f000000fstsw axsahfja GreaterThanjb LessThanjz EqualToGreaterThan:nopLessThan:Nop ;跳转到此处EqualTo:nop.exitFCOMP op1作用:比较 ST 与 op1; pop()说明:op1 可为 ST(n),其他同 FCOMPFCOMPP作用:比较 ST 与 ST(1); pop(), pop()例:.dataarray dd 0c0000000

10、h,3f000000h, 11111111hvalow dd ?.codepage.startupfld array + 8fld array + 4fld arrayfcomfst valowmov eax, valow ;结果 11111111fstsw axsahfja GreaterThanjb LessThanjz EqualToGreaterThan:nopLessThan:Nop ;跳转到此处EqualTo:nop.exitFICOM mem16/mem32作用:比较 ST 与 mem16/mem32说明:mem16/mem32 为整数。其他同 FCOM op1FICOMP me

11、m16/mem32作用:比较 ST 与 mem16/mem32; pop()说明:mem16/mem32 为整数。其他同 FCOMP op1FCOS作用:ST = cos(ST)例:.dataarray dd 3f860a8bhvalow dd ?.codepage.startupfld arrayfcosfstp valowmov eax, valow ;结果 3F00000Cfst valowmov eax, valow ;结果 FFC00000.exitFDECSTP作用:TOP = (7+TOP) % 8例:.dataarray dd 40000000h, 42000000hvalow

12、 dd ?.codepage.startupfld arrayfld array + 4fdecstpfst valowmov eax, valow ;结果 FFC00000.exitFDIVFDIV作用:ST(1) = ST(1) / ST; pop()例:.dataarray dd 40a00000h, 40000000hvalow dd ?.codepage.startupfld array ;5.0fld array + 4 ;2.0fdivfstp valowmov eax, valow ;结果 40200000fst valowmov eax, valow ;结果 FFC00000.exitFDIV mem32/mem64作用:ST = ST / mem32/mem64

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。