x86是一个源自Intel 8086 CPU的架构。 x86系列包括32位IA-32和64位x86-64架构,以及传统的16位架构。关于后者的问题应该标记为[x86-16]和/或[emu8086]。如果您的问题特定于64位x86-64,请使用[x86-64]标记。对于x86 FPU,请使用标记[x87]。对于SSE1 / 2/3/4 / AVX *,也可以使用[sse]和[avx] / [avx2] / [avx512]中的任何一个
我有一个小型 8086 模拟器,并且我已经有一个长期存在的错误大约 2 年了,因为 AF 在子和添加指令内部无法正常运行。 我目前计算其价值的方法是...
我刚刚开始学习汇编,我正在尝试了解不同标志的工作原理。 假设我这样做: 移动斧头,0xBFE8h 移动bx,25DFh 添加 ax、bx 溢出标志不应该打开吗? ...
我正在学习汇编,当然我正在尝试经典的 0x10 BIOS 中断。我查看的资源显示使用 lodsb 打印字符串,因此要理解我正在尝试的操作码
在下面的代码中,我想知道fld ST(0)的作用。我听说它重复了堆栈中的顶部值,但我不知道它在以下代码中在哪里带来该值: 田野...
在下面的代码中,我想知道fld ST(0)的作用。我听说它重复了堆栈中的顶部值,但我不知道它在下面的代码中将该值带到哪里? 场...
我有以下main.c: #包括 #包括 extern unsigned Short addsub(int op1, int op2, char what, int *res, int *bit_count); void print_flags(无符号短
我正在从事组装 nasm 的大学项目。唯一的问题是我无法生成 162 到 278 之间的偶数随机数。我尝试了很多算法,但似乎无法限制...
我正在 Linux 上使用 NASM 开发一个汇编程序。该程序应该打开一个文件(位于同一目录中并具有所有必要的权限)并处理其内容。哈...
可能的重复: LEA EAX [EAX] 有什么意义? 在一次反汇编实践中,我观察到以下代码: 测试.cpp: #包括 int main(int argc, char * a...
Masm:ax=12h 640*480 16色vga模式下直接读取显存
我已经有一个直接在视频内存中写入点(cx,dx)的函数及其工作。现在我正在尝试编写一个函数来读取给定坐标的颜色并将其颜色返回给 al(from...
我想弄清楚这段代码的作用: 移动 AX,700 美元 移动BH,0 移动CX,0 移动DH,25 移动DL,40 积分 $10 但我无法在任何地方找到 DOS 中断的良好来源。我能做的就是 http:...
我有一个8086 CPU模拟器。它仅模拟 8086 指令。我现在正在寻找一个 C 编译器来定位这个模拟器。有没有 C 编译器可以做到这一点? 另外,有一个
如何在 C (AVX2) 中向量化 int8 数组与 int16 常量的乘法,并扩展到 int32 结果数组
如何使用 AVX2 向量化这个 C 函数? static void propogate_neuron(const Short a, const int8_t *b, int *c) { 对于 (int i = 0; i < 32; ++i){ c[i] += a * b[i]; } } (Relat...
80286机器(或任何没有内存页面机制的机器)有可能是unix或linux吗
是否有可能为80286机器(或任何没有分页内存机制但有分段内存的机器)配备Unix操作系统? 80286是没有TLB、页表的CPU;仅适用于分段虚拟机...
我想了解如何以 32 位计算从 ebp 到 esp 的偏移量。 我的理解是,当你压入堆栈时,esp会递减并指向较低的地址,4个字节......
我想了解如何以 32 位计算从 ebp 到 esp 的偏移量。 我的理解是,当你压入堆栈时,esp会递减并指向较低的地址,4个字节......
Masm:以ax=12h,int 10h 640*480 16色vga模式直接写入显存
这是我使用显存打印一个点(cx,dx)的功能。计算出偏移di后,我不知道如何改变点的颜色,所以我问gpt。 Gpt 给了我这种方式,但它只显示...
我编写了以下C程序: #include“stdio.h” __declspec(noinline) void DivideTest(int num, int denom) { int quo = num / denom; int rem = num % 分母; printf("引用...
我使用BOCHS来模拟Intel-80386并尝试编写操作系统,但是当我在破坏PCB后使用PCB的某个元素时,不会导致页面错误。让我困惑了好几天。也许是因为...
为什么在 b 用 &f(32 位 MSVC 调试版本)覆盖其返回地址后,函数 b 和 f 在此代码中被调用*两次*?
我有一个非常奇怪的代码,据我了解,它替换了函数b的返回地址,从而从它调用函数f。但我不太明白为什么在功能之后...