Ras*_*sty 1 c++ x86 assembly fpu
由于我的主要操作系统是linux并且在visual studio上有项目,所以我决定使用在线编译器来实现它.我发现这是很多人提出的.所以这是我的代码:
#include <iostream>
using namespace std;
int main(void) {
float a = 1;
float b = 20.2;
float res = 0;
float res1 = 0;
_asm {
FLD a
FCOM b
JA midi
JMP modi
midi:
FST res
JMP OUT
modi:
FST res1
JMP OUT
}
OUT:
cout << "res = " << res << endl;
cout << "res1 = " << res1 << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的目标很简单,如果a
是大于b
不是把a
在res
,否则res1
.但它似乎就像我在变量中所拥有的一样,a
它总是跳跃midi
而且结果总是如此res = whatever is in a
.希望你能帮忙.对不起,如果我的问题很愚蠢,我刚开始学习装配.谢谢:)
PS
同样的事情,JB
但相反.它总是打印res1 = whatever is in b
.