x86

    0热度

    1回答

    我已阅读“英特尔软件开发人员手册”第3卷第20节,其中介绍了虚拟8086模式的工作原理,包括使用VIF和VIP标志。不过,我仍然对一些事情感到困惑。 VIF标志用作IF标志的替代品,因此即使它仿真的实模式程序不希望8086仿真程序(可能是某些用户空间程序)可以接收可屏蔽的硬件中断至。 为什么模拟器想要这样做? VIP被用作标记何时收到中断的空间。根据手册,如果处理器接收到一个可屏蔽的中断,但被仿真

    0热度

    1回答

    我正在制作一个操作系统,我被困在GDT中。我尝试过不同的教程,例如http://www.osdever.net/bkerndev/Docs/gdt.htm和http://www.jamesmolloy.co.uk/tutorial_html/4.-The%20GDT%20and%20IDT.html,但是我的操作系统总是崩溃。我怎样才能解决这个问题?我使用grub,所以内核已经处于保护模式。 bo

    1热度

    2回答

    我移植了良好的和我面临以下组件86行: mov al, UNLOCK_DATA1 ; load al with byte for the first unlock write db 67h ; use 32 bit addressing mov ds:[esi], al ; write the command to flash mov eax, FLASH_ADDRESS ; load

    3热度

    1回答

    我收到此错误: loop AdderLoop 错误A2075:跳转目标太远:25字节( s) 这是一个加法器程序。 我还在学习pop和push所以也许我没有做正确的事情,但是好像我的变量ARRAY_SIZE没有被正确存储? 我在过程开始时将ARRAY_SIZE存储在哪个寄存器中,并在过程结束时将其弹回。 .386 ;identifies minimum CPU for this progra

    -1热度

    1回答

    obj.CurrSize -= size; 0x00000000003ad2d7 <+183>: mov eax,0x0 0x00000000003ad2dc <+188>: test rax,rax 0x00000000003ad2df <+191>: je 0x3ad2e6 <+198> 0x00000000003ad2e1 <+193>: call 0x0 0x000000000

    0热度

    3回答

    所以基本上我试图为我的电脑安装pyscripter,并且知道运行该程序需要Python 2.4或更高版本。 我的电脑规格,首先,所有的有: 的Windows 10(64位) 英特尔CPU 4GB内存 (或至少是重要的) 现在,当我去python.org上有大约有一千种不同的下载可用,如'Python 3.7.0a1'或'3.6.3rc1'或'2.7.14',其中大部分是x86,其中一些x64位于我

    0热度

    1回答

    当查看x86-64asm generated by GCC 7.1以下代码时,我发现a的构造函数生成代码,而b没有构造函数的标签。 class a { public: int aint; a() { } }; class b { public: int bint; b() = default; }; int main() { a

    2热度

    1回答

    我正在处理一个分配,我必须将C代码片段转换为内联汇编。该代码是呈现Julia分形的程序的一部分。 我已经测试了两个代码片段的输出,并且它们完全匹配,但是我的程序仍然输出不同的图像(适用于C代码的Julia分形,内联汇编代码的扁平粉色屏幕)。 这是函数的开始部分以及返回 COLORREF render_point(const double &a, const double &b,

    0热度

    1回答

    这里是我的目标:能够在使用VisualStudio的 在这里,86(32位)OpenCV库是我的问题:按照这个教程http://dogfeatherdesign.com/opencv-3-0-microsoft-visual-studio-2015-cmake-and-c/ 或这一个http://amin-ahmadi.com/2015/12/04/how-to-build-opencv-from

    3热度

    1回答

    我正在使用Intel x64程序集NASM编译器,试图将“0x4000000000000000”常量移动到内存中,ieee 754标准中的double值应该等于2.0。 我正在使用的代码是: %define two 0x4000000000000000 section .text foo: push rbp mov rbp, rsp mov QWORD [rdi], two