att

    0热度

    1回答

    我有以下汇编代码,它是C函数sprintf()的简单实现。到目前为止,它在解析%c和%%时工作正常,而我现在正在执行%s,可以在标签found_string下找到它。我试图通过执行pushl %eax来保存%ecx寄存器(在主循环中使用),所以我可以使用它遍历我的参数字符串,而不会干扰主循环,然后在完成时使用popl %eax。 .globl sprinter .data .escape_

    0热度

    1回答

    某些类如com.att.PaymentHelper使用com.worklight.server.integration.api.JSObjectConverter类。该类被捆绑在Worklight 5.0.6中的worklight-jee-library.jar中,但在Worklight 6.0.0.1中未找到。 我还从ATT package的readme.txt注意到它仅在Worklight 5

    0热度

    1回答

    我不得不承认一些替代规则,但我不知道如何进行互斥。 例如,如果我想识别“玩”,“停止”或“设置1”,“设置2”,我该怎么办?我尝试过这样的事情,但它不会识别何时不需要该号码(例如,“启动2”被正确识别,但平凡的我不想)。 <grammar version="1.0" tag-format="semantics/1.0" xml:lang="en-US" root="main"> <rule id

    3热度

    2回答

    UNI端口分配,我需要编写用于计数在一个字符串中组件(由指针和索引定义)的空格数的函数。有使用pcmpeqb这个要求(即与SSE寄存器的工作),以及提示使用popcnt和pmovmskb。我的基本方法是,在处理16字节的块串,每块装入%xmm8并与%xmm9被初始化为包含16个空格比较。但是,我需要特意处理最后一个块。 我首先想到的是使用一个循环指令来删除垃圾过去的字符串的结尾。 (该字符串保证有

    0热度

    1回答

    我试图摆脱寄存器中的低位(在做popcnt之前),但似乎无法获得指令正确的语法。我想清除%r8d的值中较低的%rdx位。搜索告诉我计数参数应该是一个8位寄存器,所以目前我在: shrl %dl, %r8d GAS抱怨过这个问题,我真的不知道确切的参数应该是什么,如果这些都是错误的。

    0热度

    1回答

    在AT & T汇编语法,文字值必须由$符号 地址前缀但是,在内存中,文字值没有$签署 例如: MOV%eax中,-100(%eax中) 和 JMP 100 JMP $ 100,$ 100 是不同的。 我的问题是为什么前缀$很困惑?

    1热度

    2回答

    我有写入分配内存的问题。这是代码。 total: .long 1 # my memory movl total, %eax # I believe I'm copying address of total into eax movl $53, %esi # set some value in esi movl (%esi), %eax # and put this value int

    0热度

    1回答

    我目前正在使用名为Y86,AT & T语法的教育汇编语言编写函数,并试图完成/解决这个不支持的问题。我想为存储在内存中的值添加一个数字,并且出于某种愚蠢的原因,您只能使用addl将其添加到寄存器中。我不知道这是为什么。 在函数里,我想要做的事,如这一点,不知道如何: addl $1, -4(ebp) 而且,我似乎已经耗尽寄存器的问题。也许这是因为我不知道如何为存储局部变量腾出空间。我听说有一个

    0热度

    1回答

    我正在为C的一个子集构建一个编译器,现在我正在处理数组。假设我有以下几点: int main() { int x[3]; x[0] = 1; x[1] = 3; x[2] = 4; } 在装配中,asignments会是这样: movl $1, -12(%ebp) movl $3, -8(%ebp) movl $4, -4(%ebp) 到目前为

    5热度

    3回答

    我想了解C调用约定。要做到这一点,我写了下面的代码: #include <stdio.h> #include <stdlib.h> struct tstStruct { void *sp; int k; }; void my_func(struct tstStruct*); typedef struct tstStruct strc; int main()