assembly

    1热度

    1回答

    我拿了一个示例代码,它从FASM示例目录创建一个简单的DLL,并根据我的需要进行调整。然而,当我做一些(从我的POV无辜)更改,生成的二进制文件被损坏 - 运行使用此库的exe生成错误代码0xC000007B又名INVALID_IMAGE_FORMAT。 DLL的代码: ; DLL creation example format PE GUI 4.0 DLL entry DllEntryPo

    0热度

    1回答

    我把下面的代码NASM: [BITS 16] [ORG 0x7C00] TIMES 510 - ($ - $$) db 0 ,并在我的十六进制编辑器看了一下,发现了一堆0的。这是我所期望的,但现在我问这个问题:[ORG 0x7C00]实际上对文件做了什么?

    0热度

    1回答

    我试图将我的C代码转换为x86-64。我的目标是扭转链接列表。传入的两个参数是头部ptr和偏移量以获取指针字段的地址(即指向列表中下一个节点的指针)。 据我所知,头ptr通过rdi寄存器传入,偏移量通过rsi寄存器传入。当它到达“mov rcx,[rbx]”行时,我不断收到分段错误。“只有“mov rcx,rbx”并且后面的行从“mov [rbx],rdx”更改为“mov rbx,rdx”时,分段

    0热度

    2回答

    我正在编写的程序以单个数字编号的形式输入,后跟一个空格,后跟一个两位数字。该计划将采用这两个数字并将它们加在一起,将数字减少7s,直到少于7,并将该数字与一周中的某一天相关联。这里是我有: start: initIO * Initialize (required for I/O) setEVT * Error handling routines * initF * Fo

    0热度

    1回答

    我想86教我,我已经在整个运行需要返回立即,负数: .text .align 4,0x90 .globl _scheme_entry _scheme_entry: movl $-42, %eax ret 当我打印这个功能(printf("%" PRIdPTR "\n", scheme_entry())的返回值,我得到一个废话号: $ ./neg 429496

    2热度

    1回答

    我有我的汇编代码的两个问题。根据指导原则,我必须使用浮点运算完成所有这些。就这样说,似乎我没有从中得到正确的答案,我不知道什么是错的。函数如下:y = 3x^3 + 2.7x^2-74x + 6.3。我必须给X,它是假设进入这个函数,并输出Y. 该代码也假设结束时,我键入N,但它不断给我一个浮点错误。 编辑:我想出了我的问题与功能,但是每当我键入N它不会跳下来,并结束我的代码。 input RE

    0热度

    1回答

    我是emu8086中的一个begginer,而且我似乎无法修复此代码。我需要从十进制转换为二进制,有时它做得很好,例如,当我使用像4,8,15,16,255这样的数字时,一切正常。但是,如果我使用例如2,9,17,254,它不会显示正确的数字。我真的需要帮助。 .model small .data exp db 8 dup (?) num dw 09 var dw 2 .cod

    0热度

    1回答

    美好的一天。我的项目是关于使用英寸和磅计算BMI。因此,用户将以英寸输入他的身高和以磅为单位的体重。我已经学会了分裂和相乘。我只是不知道如何包含小数点后划分,因为我必须通过703再乘以它的,只有整个数目由703 n1 dw 0 n2 dw 0 ;gets input from user xor dx, dx mov ax, n1 ;n1 is the weight and n2 is

    -1热度

    1回答

    见图片:Dolphin Emulator setup 我试图用海豚的Wii模拟器调试器。它模仿百老汇微处理器(https://en.wikipedia.org/wiki/Broadway_(microprocessor))。绿色条表示将执行的下一条指令。如果r0 = 0000006c和r3 = 817d34e0,lwzx r3,r3,r0的结果是什么? 海豚说,当我进入该指令时,结果是r3 = 9

    0热度

    1回答

    如果堆栈向下增长,并且EBP指向堆栈的底部,那我为什么会看到这样的操作,如mov eax [ebp + 4]。这不会引用当前栈帧之外的变量吗?