inline-assembly

    3

    2답변

    DM2이라는 오픈 소스 Windows 도구에서 다음 코드를 보았습니다. #define OEP_ASM __asm jmp OEP \ __asm _emit 0x5B __asm _emit 0x66 __asm _emit 0x6C \ __asm _emit 0x79 __asm _emit 0x66 __asm _emit 0x61 \ __asm _emit 0x6E __

    3

    1답변

    이 코드했습니다 : void geninterrupt (int x) { __asm__( "movb x, %al \n" "movb %al, genint+1 \n" "jmp genint \n" "genint: \n" "int $0 \n" ); } 가 어떻게 geninterrupt()의 인수를

    5

    1답변

    임시로 실험을 위해 자체 스택을 사용하는 코드를 작성하고 있습니다. 이것은 리터럴 인라인 어셈블리를 사용할 때 효과적입니다. 변수 위치를 ebp의 오프셋으로 하드 코딩했습니다. 그러나, 나는 내 코드가 메모리 주소를 하드 코드하지 않고 작업하기를 원했기 때문에 GCC의 확장 된 인라인 어셈블리를 살펴 보았다. 이것의 volatile intptr_t new_

    0

    1답변

    64 비트 플랫폼에서 지원되지 않는 일부 어셈블리 코드가 포함 된 C++ 프로젝트의 32-64 비트 마이그레이션을 진행하고 있습니다. 마이그레이션해야하는 프로젝트에 대한 기본 정보를 제공하고자합니다. 내가 교체해야 그러니까 기본적으로 int* a = Begin_args; int* b = End_args; (where Begin_args and End_ar

    1

    1답변

    이 부스 매크로는 powerpc 아치에서 컴파일하려고 할 때 경고를 발생시킵니다. 매크로가 호출되는 각 라인에서 #define INNERMUL asm(\ " mullw 16,%3,%4 \n\t" \ " mulhwu 17,%3,%4 \n\t" \ " addc 16,16,%0 \n\t" \ " addze 17,17

    -1

    1답변

    저는 Intel x86 어셈블리가 처음입니다. 실제로이 프로그램을 작성한 첫 번째 프로그램입니다. 나는이 비슷한 루프를 사용하는 것을 시도하고있다 : mov ecx,5 numLoop: [OTHER CODE - DOESN'T OVERWRITE ECX] loop numLoop 이 나에게 잘 보이는, 그러나 그것은 단지 출력에 영원히 루프를하고 그 이유

    1

    1답변

    두배의 너비 - 비교 및 ​​스왑 연산 (cmpxchg16b)이 필요한 프로젝트 작업 중입니다. luke h에 의해 다음 코드를 발견했지만 "g ++ - 4.7 -g -DDEBUG = 1 -std = C++ 0x dwcas2.c -o dwcas2.o"로 컴파일하면 다음 오류가 발생합니다. 오류 : g++-4.7 -g -DDEBUG=1 -m64 -std=c+

    0

    1답변

    내가 인라인 어셈블리를 사용하여 JMP 명령어를 삽입하기 위해 노력하고있어하지만 내가 말하는 오류를 얻을 : "예상 표현" // Allocate a place in memory for the bytes BYTE *jmp = (BYTE*)malloc(len + 5); // Copy the bytes of original + length to the al

    0

    2답변

    나는 사소한 문제에 직면하고있다. 암 어셈블리에서 ldr r0, _buff 을 수행하고 있습니다. 여기서 _buff는 c 파일에 정의되어 있습니다. _buff는 정적이 아닙니다. 어셈블리 파일에서 외부 연결을 정의해야합니까 (C의 extern과 비슷합니다) 이 필요하거나 내가 빠진 것이 있습니다.

    8

    3답변

    리얼 모드 기능을 쓰고 있는데, 이는 스택 프레임과 함께 정상적인 기능이어야하지만 % esp 대신 % sp를 사용해야합니다. 그것을 할 수있는 방법이 있습니까?