- 主题:8086 指令有 81 条,但大多数放现在看已经没用了吧?
像 AAA 这种指令,好几个 BCD 编码相关的指令。
还有像 ROL/ROR 这种 Rotate Left/Right 指令,在实际使用中,会很常见吗?
--
FROM 14.19.7.*
这才几条指令
x87,mmx有大把没人用的指令
【 在 hgoldfish 的大作中提到: 】
: 像 AAA 这种指令,好几个 BCD 编码相关的指令。
: 还有像 ROL/ROR 这种 Rotate Left/Right 指令,在实际使用中,会很常见吗?
--
FROM 104.133.9.*
看完 8086 的指令,日常经常使用的应该还不到 60 条吧。
【 在 BigCarrot 的大作中提到: 】
: 这才几条指令
: x87,mmx有大把没人用的指令
--
FROM 14.19.34.*
搞浮点计算的时候不都是用 fmul 这一类 x87 指令吗?
【 在 BigCarrot 的大作中提到: 】
: 这才几条指令
: x87,mmx有大把没人用的指令
--
FROM 14.19.34.*
086指令中寄存器的使用不够通用化,那些指令现在应该很少使用了
386中寄存器的使用才能够在大多数情况下通用,
一般情况下写汇编的不会注意到这个区别,因为指令名字还是一样的,但是能接受的
寄存器参数范围变广了,就像你前面通过sp访问内存一样
所以我们今天使用的x86指令其实主要来自于386
【 在 hgoldfish 的大作中提到: 】
: 看完 8086 的指令,日常经常使用的应该还不到 60 条吧。
--
FROM 107.204.171.*
早就不用了
浮点计算一般都生成sse指令,除非你使用了80b的浮点格式
据说vc还不支持80b浮点数
【 在 hgoldfish 的大作中提到: 】
: 搞浮点计算的时候不都是用 fmul 这一类 x87 指令吗?
--
FROM 107.204.171.*
我今天用 godbolt 看了一圈。确实都是使用 xmm0 这些寄存器了。不过也意味着不不能兼容于原版的 386.
但 djgpp 会产生 x87 的代码。使用 fld 和 fmul 这种代码。那个不去看文档完全不明白是在干啥。不过也无所谓了,一般的 8086 都是假定 8087 协处理器不存在,用软浮点的嘛。
【 在 BigCarrot 的大作中提到: 】
: 086指令中寄存器的使用不够通用化,那些指令现在应该很少使用了
: 386中寄存器的使用才能够在大多数情况下通用,
: 一般情况下写汇编的不会注意到这个区别,因为指令名字还是一样的,但是能接受的
: ...................
--
FROM 14.19.34.*
回到你最初的问题
貌似x86s可能会拿掉BCD指令
gemini告诉我的
没有亲自检查过
【 在 hgoldfish 的大作中提到: 】
: 像 AAA 这种指令,好几个 BCD 编码相关的指令。
: 还有像 ROL/ROR 这种 Rotate Left/Right 指令,在实际使用中,会很常见吗?
--
FROM 104.133.9.*