intel-syntax

    1热度

    1回答

    在查看gdb输出并查看程序集调用时,通常可以使用硬编码值查找命令以确定寄存器是否从右向左加载或相反亦然。 通常类似以下内容: sub rsp, 16 或 sub 16, rsp 但其他时候,像上面没有值是可见的。 所有我看到的是这样的方法调用如下: (gdb) disassemble Dump of assembler code for function main: 0x00000

    0热度

    1回答

    我有一个指令写在英特尔的语法(使用天然气作为我的汇编),看起来像这样: mov rdx, msg_size ... msg: .ascii "Hello, world!\n" .set msg_size, . - msg 但MOV指令被组装到mov 0xe,%rdx,而正如我所预料的那样,它比mov $0xe,%rdx。我应该如何编写第一条指令(或msg_size的定义)以获得预

    -1热度

    1回答

    我想下面的C代码翻译成汇编: void write (int bitpos, unsigned short sample) { int pos = bitpos/16; int posA = bitpos - pos * 16; unsigned short write1 = sample >> posA; } 我一直在换档操作得到一个错误。我看了一本书中的一

    0热度

    1回答

    我目前正试图建立自己的引导装载程序,并发现一些特殊的东西。 当下面的代码与NASM或Yasm没有标记的NOP命令组装时,以下CALL从二进制文件中丢失。在包含NOP的情况下,CALL被正确组装,但操作码0x90(NOP)不存在于二进制文件中(由于NOP的性质,后面的内容是可以理解的)。 to_hex_ascii: add al, '0' cmp al, 0x3a

    -4热度

    1回答

    我在x86 Linux上使用汇编,并带有Intel 8086的说明。我的程序有问题,它应该计算Fibbonacci序列的元素。 这个节目,我有ARGS运行,为如: ./fibb 1 2 3, 拿什么:序列的第一个元素是1,2ST元素是2,我们要获得第三名。 这例子的伟大工程,但是当我试图像运行: ./fibb 1 2 4, 然后我有一些垃圾。 请帮帮我。我是Assembly的新成员,请清楚解释我做

    -3热度

    1回答

    我正在尝试反汇编Hex“8B EC”。反汇编器给我mov ebp, esp “8B” - MOV指令; “EC” - ???; 反汇编程序如何知道“EC”是ebp, esp?

    2热度

    1回答

    我正在与AT & T语法,但认为我会尝试英特尔。我有这样的代码: .text .global _start _start: mov ebx, 0 mov eax, 1 int 80h 应该返回0,对不对?它在转换之前做了AT & T. as out.s -msyntax=intel --32 -o out.o ,但我得到: 我使用组装

    3热度

    1回答

    你好我工作的ASM intel_syntax noprefix在Mac上使用gcc,由于某种原因,我一直在后台收到此错误不支持32位绝对地址是不是在64位模式下支持 这是否与变量做,此刻正一直在ASM内联用? 这里是我的代码: #include <stdio.h> char c, b; int main() { printf("Give me letter: ");

    4热度

    1回答

    我正在学习如何建立组装和连接的实模式程序: GCC汇编版本2.25 Binutils的版本2.25 GCC 5.2.0版本 我使用英特尔语法不带前缀.intel_syntax noprefix 我想将一个字符串的地址加载到SI注册。我知道,如何引用NASM中的内存位置,但是当我在GNU汇编程序代码中执行相同操作时,它只将字符串的WORD移动到寄存器中,而不是标签的地址。 我的代码是: .code1

    0热度

    1回答

    我尝试制作一个汇编代码,用于计算字符串中有多少个字符,但出现错误。 码,我用gcc和intel_syntax #include <stdio.h> int main(){ char *s = "aqr b qabxx xryc pqr"; int x; asm volatile ( ".intel_syntax noprefix;" "mov eax, %1;"