x86-64

    1

    2답변

    어셈블리 코드로 프로그래밍에 가까운 하드웨어를 처음 사용했습니다. 그래서 나는 그것에 대해 책을 읽고 NASM 어셈블러이 샘플 코드를 발견 segment .text ;code segment global main ;must be declared for linker main: ;tell linker entry po

    1

    1답변

    MPERF 및 APERF MSR을 읽으려고합니다. 그러나 이렇게하면 컴퓨터가 재부팅됩니다. 아마도 GP 예외 때문일 수 있습니다. ; Read MPERF register mov ecx, 0xe7 rdmsr 코드는 rdmsr에 나누기 : 여기 은 내가 사용하는 코드입니다. 나는 Intel Haswell 프로세서를 가지고있다. 나는 긴 모드로 달리고있다

    8

    2답변

    (즉시 64 비트 역 참조 즉) 그러나 movabs addr64, %rax 의해 수행 될 수있다 대상 레지스터가 rax이 아닌 경우 어셈블러에서 operand size mismatch for movabs이라는 오류 메시지를 표시합니다. 내가 뭘 놓치고 있니?

    0

    1답변

    입력 텍스트의 문자를 대문자로 변환하는 64 비트 NASM 어셈블리 할당이 있습니다 (모든 문자는 문장의 시작 부분에있는 소문자 여야합니다). 나는 어셈블러 완전히 새로운 그리고 난 같은 텍스트를 읽을 때 나는, 어디서든 내가 점진적으로 문자열에서 각 문자를 읽는 방법을 찾을 수 없습니다 : 또한 section .data prompt db "Enter

    0

    1답변

    Visual C++ 링커에서 C 함수를 만들 때 사용하는 기호를 보면 항상 밑줄로 시작합니다. 예를 들어 int example(int)의 기호는 _example의 형식입니다. 이것이 C 표준에 지정되어 있는지 궁금합니다. 그렇지 않다면, 나는 이것이 x86/x64 용 C ABI에 의해 규정 된 것이 아닌가? 나는 누군가가 나를 조금은 계몽 할 수 있기를 바

    0

    1답변

    첫 번째 인수로 주어진 문자열의 길이를 결정하는 함수를 작성하려고하므로 % rdi에 char * ptr이 포함됩니다. movb (%rdi),%rcx을 호출하여 % rdi가 가리키는 문자를 % rcx로 이동하면 다음 오류가 발생합니다. incorrect register '%rdx' used with 'b' suffix 제가 알고 있듯이 특정 레지스터 만 x8

    2

    1답변

    안녕하세요, 저는 어셈블리를 배우고 x86_64에서 부동 소수점 숫자를 사용하는 방법을 배우려고합니다. 알기 론 인수는 xmm0, xmm1, xmm2 등으로 전달되고 그 결과는 xmm0으로 반환됩니다. 그래서 함께 두 번 추가하는 간단한 어셈블리 함수를 만들려고합니다. 함수는 다음과 같습니다. .text .global floatadd .type flo

    0

    1답변

    64 비트 Linux 용 동적 라이브러리가 있으며 C++ 코드에서 컴파일 된 많은 함수가 포함되어 있습니다. 이 코드는 오픈 소스가 아니지만, 내가 가진 함수 중 하나가 어떻게 생겼는지를 알았습니다. 수학 표현식이 포함되어 있으며이 표현식에서 상수 중 하나를 변경하고 싶습니다. 프로그래밍 기술이 있지만 컴파일 된 객체와 실행 파일을 조사하지 않았습니다. o

    -3

    1답변

    C 및 ASM에있는 소스 코드에서 일부 ASM 명령어를 이식하려고합니다. ARMv7의 명령어 세트를 찾고 ARMv7의 명령어 사용법을 이해할 수있는 사람이 있습니까? 는 사실은 내가 인터럽트를 처리하고있어, 그래서 "번역"할 : iretq int $0x80 int $0x04 내가하는 ARMv7 ASM에서 프로그래머 적이 없어요. 감사합니다.

    0

    1답변

    Windows 7 64 비트에서 VS 2013으로 프로그래밍 중입니다. 이미 Linux 64 비트로 개발 된 코드가 있습니다. 그 코드는 sprintf() 함수로 가득 차 있습니다. 이제 Windows 64 비트에서이 코드를 실행하면 경고 창이 표시됩니다. 처음에는 sprintf를 사용했고 sprintf_s를 사용하고 있습니다. 그래서 나는 바꿨다. 변경