assembly

    1热度

    4回答

    所以我正在写一个函数,它接受一个元组作为参数,并为它做了一堆东西。这里是什么样子: def swap(self, location): if (location[0] < 0 or location[1] < 0 or location[0] >= self.r or location[1] >= self.c): return False self.

    4热度

    1回答

    如何使用最近(使用PIC启用)gcc创建不可重定位符号? 我基本上要具备以下C程序打印NULL: #include <stdio.h> extern int mem_; int main(void) { printf("%p\n", &mem_); return 0; } 我想什么是一个小的汇编文件: .data .globl mem_ .ty

    -2热度

    1回答

    所以我有2个寄存器,eax其中容纳0xDEADC0DE和ebx其中持有0x1337CA5E。 第一个数字大于第二个数字。但是,在cmp指令:cmp eax, ebx之后SF(符号标志)已设置。为什么? 为什么如果结果是肯定的(eax - ebx)?

    -1热度

    1回答

    经过大约一个小时将我的头撞在墙上,我决定问你们这件事。我使用KipIrvine的东西编写了程序集,如果有帮助,我在Windows 10上使用Visual Studio 2015。很明显,这个调试输出不应该发生,它应该运行我的程序,而不是只提供一个大规模的卸载/加载调试菜单吗?下面是调试输出的一小部分: 'ohgodpleasework.exe' (Win32): Loaded 'C:\Users\

    -2热度

    1回答

    我有这个 MOV CX,12345d 现在我要检查,如果这个号码的最后3位数字是二进制 感谢

    2热度

    1回答

    这是我第一次问,所以我要在这里尽我所能,但是我在汇编任务中遇到了麻烦,在这个汇编任务中我给了一个.cpp文件(下面),并且必须创建一个包含乘法,方形和除法函数的.asm文件。我遇到的问题是Square和Multiply函数完成后,我必须调用PrintResult来显示答案。对于分区,成功的分隔返回1,不成功的分隔返回0并调用PrintResult显示失败消息。我不允许编辑他的.cpp文件,但我不知

    0热度

    1回答

    我能够获得用户输入,如我的代码所示,但我绝望地无法获得最小的数字。 非常感谢... 下面是对此的说明。 “编写一个汇编程序,从用户读取三个32位有符号整数,确定这三个数中最小的一个并显示此结果,不要使用循环,提示用户输入每个整数。 .data Msg1: .asciiz "Enter the first integer: " Msg2: .asciiz "Enter the second in

    1热度

    1回答

    我正在学习x64 shellcode关于exploit.courses linux容器和我运行hello world x64 shellcode的问题我写了。 我正在尝试将“Hi there”缓冲区直接移动到一个寄存器,因此我不使用.data部分。 section .data ;msg db "Hi there" section .text global _start _start:

    1热度

    1回答

    我正在使用sign extend将32位变量更改为64位变量。但是,当我在64位变量上使用逻辑移位时,它会丢失位,就像它仍然是32位一样。 我希望能够最终将所有变量从我的原始变量转换到64位变量的上边。 (0xFFFFFFFF00000000是我期待的结果) 下面的代码显示到展示的8位的移位,其中比特被丢失: str_fmt:.string "\nWord Value: 0x%08x \nWord

    0热度

    1回答

    由于数据对齐问题,我在使my personal project在真实硬件上工作时遇到问题;由于硬件的工作方式,图像必须以16位对齐。 我试图通过“.align伪”指令指定的对准: .text .align 2 .globl _vg_lecturehall .globl _vg_sylvie_giggle .globl _vg_club _vg_lecturehall: .align