小编shj*_*lee的帖子

对汇编 FLD 指令 m64fp 感到困惑

我很困惑。我对 FLD m64fp 指令有一些疑问,但我不知道从哪里开始。因为这是作业,所以我不是特意要求答案,而是求解决问题的方法。任何建议或想法将不胜感激。

\n\n

内存中的八个连续字节包含十六进制值 01、00、00、00、00、00、00、00。执行 FLD m64fp 指令。它的参数是这八个连续字节中第一个字节的地址。作为 FLD 指令的结果,ST(0) 中的值现在为:

\n\n
1)  2^(-1075)\n2)  2^(-1074)   \n3)  2^(-1023)\n4)  2^(-1022) \n
Run Code Online (Sandbox Code Playgroud)\n\n

另外,如果我有以下汇编代码

\n\n
   \xe2\x94\x820x8048384 <main>                lea    0x4(%esp),%ecx                                                                                                                                               \xe2\x94\x82\n   \xe2\x94\x820x8048388 <main+4>              and    $0xfffffff0,%esp                                                                                                                                             \xe2\x94\x82\n   \xe2\x94\x820x804838b <main+7>              pushl  -0x4(%ecx)                                                                                                                                                   \xe2\x94\x82\n   \xe2\x94\x820x804838e <main+10>             push   %ebp                                                                                                                                                         \xe2\x94\x82\n   \xe2\x94\x820x804838f <main+11>             mov    %esp,%ebp                                                                                                                                                    \xe2\x94\x82\n   \xe2\x94\x820x8048391 <main+13>             push   %ecx                                                                                                                                                         \xe2\x94\x82\n   \xe2\x94\x820x8048392 <main+14>             fldpi                                                                                                                                                               \xe2\x94\x82\n   \xe2\x94\x820x8048394 <main+16>             fsqrt                                                                                                                                                               \xe2\x94\x82\n   \xe2\x94\x820x8048396 <main+18>             fld1                                                                                                                                                                \xe2\x94\x82\n   \xe2\x94\x820x8048398 <main+20>             fsubrp %st,%st(1)                                                                                                                                                   \xe2\x94\x82\n   \xe2\x94\x820x804839a <main+22>             mov    $0x0,%eax                                                                                                                                                    \xe2\x94\x82\n   \xe2\x94\x820x804839f <main+27>             pop    %ecx …
Run Code Online (Sandbox Code Playgroud)

floating-point x86 assembly fpu

3
推荐指数
1
解决办法
1820
查看次数

python中的等价C联合?

假设我在C中有以下代码

union u_type
{
    uint32_t data;
    uint8_t  chunk[4];
} 32bitsdata;

32bitsdata.chunk[0] = some number;
32bitsdata.chunk[1] = some number;
32bitsdata.chunk[2] = some number;
32bitsdata.chunk[3] = some number;

printf("Data in 32 bits: %d\n", 32bitsdata.data);
Run Code Online (Sandbox Code Playgroud)

我怎么能在python中做类似的事情?

我正在尝试读取二进制文件(逐字节) - 已经使它工作,并将每3个字节组合成一个int.听说结构会起作用,但我不确定如何.

最好,

亨利

python union

3
推荐指数
1
解决办法
2155
查看次数

在OpenCV中裁剪一半图像

如何裁剪图像并仅保留其下半部分?

我试过了:

Mat cropped frame = frame(Rect(frame.cols/2, 0, frame.cols, frame.rows/2));
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误.

我也尝试过:

double min, max;
Point min_loc, max_loc;
minMaxLoc(frame, &min, &max, &min_loc, &max_loc);
int x = min_loc.x + (max_loc.x - min_loc.x) / 2;
Mat croppedframe = = frame(Rect(x, min_loc.y, frame.size().width, frame.size().height / 2));
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

opencv roi crop mat

2
推荐指数
2
解决办法
5448
查看次数

标签 统计

assembly ×1

crop ×1

floating-point ×1

fpu ×1

mat ×1

opencv ×1

python ×1

roi ×1

union ×1

x86 ×1