att

    2热度

    1回答

    leal (%eax, %eax)做什么?这是否因为它具有parens而在%eax * 2上乘以内容?

    2热度

    1回答

    leal(%eax,%ecx,4), %edx ,因为我是从我的计算机系统的书,读 如果$ EAX包含x值和%ECX含有Y, 那么上面的方法可以去看场地,X + 4Y投入%EDX。 然后,如果它是 movl(%eax,%ecx,4), %edx ,然后isn`t的同一个与上述利尔表达? 据我所知,莱亚尔创建一个可以参考的,而不是由自己喜欢引用MOVL地址,但 ,当我看到leal(%eax,

    1热度

    1回答

    例如输入输出两次: input 34 54 expected output: 54 34 output: 54 54 这与音符的代码! #This is a simple "matematical function" program .section .rodata #read only data section str: .string "Input :\n"

    0热度

    1回答

    更新:我可以在我的代码中使用strcpy。 我试图编写一个在x86汇编(att语法)中的strdup的实现,将C中的代码转换为Assembly中的代码。 代码在C: char* func(int x, char* name){ namestr = (char *) malloc(strlen(name) + 1); strdup(namestr, name); fr

    1热度

    1回答

    我对程序集完全陌生,在将值分配给我的二维“数组”时遇到了问题。我的阵列是一个名为screen的.space,并且分配了HEIGHT * WIDTH * 4,所以有足够的空间。我知道这是因为在发出下面的命令之前,我循环访问数组,并将所有值设置为0,并通过打印出所有值来验证它。)下面的命令只包含0值(我知道这是因为在发出以下命令之前,我循环遍历数组并将所有值设置为0,并通过打印出所有值进行验证)。 这

    8热度

    1回答

    以下语句有什么区别? mov %eax,%esp mov %eax,(%esp) 我正在扩散二进制炸弹时遇到与装配几个mov和leal命令的早期故障。

    4热度

    1回答

    如果我的命令行的人说: jmp *0x804a180(,%eax,4) 是什么意思呢?我特别要问,因为在第一个逗号之前没有任何价值,我不确定地址的含义。

    0热度

    1回答

    我想制作一个小型的IA32游戏(AT & T),我现在面临的问题是我不知道如何/在哪里存储蛇体和“苹果“能够检查碰撞。 蛇的大小不断增加,所以容器应该动态分配? 在高级语言中,我会使用2d矢量/数组/链表或类似的存储坐标,然后在移动后进行比较。 欢迎任何建议。 (看着类似的问题,但没有得到我的问题回答)

    1热度

    1回答

    我有一个非常专业的文件,用x86编写,Linux下编译,在GCC下编译。我需要将该代码移到Visual Studio项目中,并且mll64.exe需要程序集文件采用英特尔格式。 我试图建立一个跨平台的DLL,但它不工作: 十五时47分19秒cpudiag2>的gcc -o -shared my.dll my.o /usr/bin/ld:my.o:重新定位R_X86_64_32S在制作共享对象时不能

    3热度

    2回答

    我目前正在尝试通过分析简单的C代码片段来学习汇编语言(以及不同的编译器选项的影响)。现在我stumpled遇到下列指令: mov %edx,-0x80(%rbp,%rax,4) 我不明白的是对目标地址-0x80(%rbp,%rax,4)表达。 该指令为循环中的本地数组赋值。