att

    1热度

    1回答

    原代码产生以下输出:处理器供应商ID是“GenuineIntel” 赫雷什原来的代码: 1. .section .data 2. output: 3. .ascii “The processor Vendor ID is ‘xxxxxxxxxxxx’\n” 4. .section .text 5. .globl _start 6. _start: 7. movl $

    2热度

    1回答

    leal -0x61(%edx), %eax cmpl $0x19, %eax ja ... ;jump if edx is not between 0x61-0x7a 根据描述,上述代码片段检查edx是否在0x61-0x7a之间。如果不是,则跳转。 据我所知ja检查ZF和CF标志,anf跳转,如果他们是零。 我认为唯一能理解的是计算edx-0x7a的第二行。如果edx < 0x7

    0热度

    1回答

    jmp *.L4 (,%rdx,8) 我正在做这项工作,作为其无条件跳转之一。 我的问题是: rdx * 8如何影响跳转? * .L4之前*有什么不同?

    2热度

    2回答

    我试图推入堆栈的值为one less than %ecx。 所以,我想这个指令是: pushl $(%ecx - 1) 但是我从as得到下面的错误。 fact.s: Assembler messages: fact.s:49: Error: register value used as expression 作为一种变通方法,我做了以下内容: movl %ecx, %edx subl

    1热度

    1回答

    问题 在GCC编译器的角度思考,AT & T语法和32位汇编,哪两个指令将相当于: Push %eax 尝试: 我认为这是下面这两个: Addl $0x4, %esp movl %eax, -0x4(%esp) 有人可以确认吗?如果有人错,请指点我正确的方向。谢谢!

    1热度

    2回答

    在x86 AT & T synatax中,如何将ASCII字符串推入堆栈? (或者C程序如何将ASCII字符串推入堆栈?) 我的初始尝试是创建数据段,使用.asciz,然后使用LEA和MOV使用位移来推送事物。但这一切都以错误结束。

    -1热度

    1回答

    我使用这个写入显存(%ES = 0xb800): movw $0x074b,%es:(0x0) 但是,如果我想要的偏移在%斧? 我试过%es:%ax或%es:(%ax),但没有任何工作,并且我不断收到错误。 我在做什么错?

    -1热度

    1回答

    我正在为X86 AT & T程序集编写一些代码来进行类分配。单独测试了所有功能,并且它们完全按照预期工作,但出于某种原因,我在代码中的每一行的标题中都会收到警告。由于个别函数被放置在它们自己的文件中编译,并且除了函数之外没有任何东西,所以在这里我没有真正遇到什么问题。请帮忙。 我在14.04 Ubuntu上写它。 gcc -m32 -c pstring.s pstring.s: Assemble

    -1热度

    1回答

    我已经在Google Play商店中创建并部署了一个Android应用程序。在开发应用程序的整个过程中,我从来没有遇到任何连接到我的在线数据库的问题。现在我已经在Play商店推出了它,我开始让一些朋友解决它的问题。几天后,我的头撞墙,我发现他们都在T网络上。如果他们连接到非AT &的网络,则该应用程序无任何问题。基本上它只是阻止应用程序使用互联网连接到我的数据库。有没有人听说过这样的问题?或者有任

    0热度

    2回答

    使用英特尔的语法或AT & T是独立于CPU微架构?我的意思是,编译器的任务是将代码翻译成二进制代码(如果它是独立的(如果它是AT或英特尔语法),则可以使用任何语法编写代码?