x86-64

    4

    1답변

    64 비트 Linux 프로세스에서 32 비트 코드를 실행하고 실험하고 있습니다. 32 비트 코드는 완전히 자체 포함되어 있으므로 직접 IA32 시스템 호출을 수행합니다. 32 비트 프로세스에서이 코드를로드하면 정상적으로 실행됩니다. 처음에는 32 비트 코드 용 스택을 할당 할 수있을 것이라고 생각했지만 모든 것이 잘 작동했지만 너무 잘 가지 않았습니다. 주

    0

    2답변

    선생님이 우리와 함께 어셈블리에서 충돌 과정을 진행하고 있으며, 나는 그것에 대해 전혀 경험이 없습니다. 4 개의 변수를 취하여 (x + y) - (z + a)를 계산하고 그 답을 출력하는 간단한 함수를 작성해야합니다. 나는 그것이 간단한 문제라는 것을 알고 있지만 몇 시간의 연구 끝에 나는 올바른 방향으로 나아가는 것이 매우 도움이 될 것입니다. 나는이

    0

    1답변

    내 자신의 JIT를 만들려고 노력 중이며 아주 간단한 어셈블리 코드 (machine-code)를 실행할 수 있지만이 방법으로 함수를 호출하는 방법을 찾는 데 어려움이 있습니다. Visual Studio에서 디스 어셈블리 창에서 함수를 볼 수 있습니다. 또 다른 관련 질문은 기계어로 Win32 MessageBox()를 호출하는 방법입니다. 다음 질문은 어떻게

    1

    1답변

    어셈블리 x86의 작동 원리를 더 잘 이해하려고합니다. 그리고 가장 좋은 방법은 어떤 운동을 해결한다, 나는 몇 가지를 해결하기 위해 노력했습니다하지만 지금 난 현재 붙어 이해이 하나 여기에 주요 작업이 addl mat(%rdx, %rcx), %eax입니다. sum += mat[y][x]과 같습니다. 어셈블리를 살펴보면 %rdx이 x이고 %rcx이 y이라는

    -1

    1답변

    에서 segfault의 원인이되는 I 다음 어셈블리 코드를 가지고 : 나는 RET 프로그램이 다시는 어디까지 점프 할 것이라고 기대했다 .text .global main main: push %r13 push %r14 push %r15 jmp rest x: .data y0: .quad 0

    0

    1답변

    .text .global main main: push %r13 push %r14 push %r15 jmp label x: pop %rbx movq $0, %rax movq $1, %r9 pushq %r9 popq %rsi movq %rsi, %r15 .

    0

    1답변

    프로젝트에서 나는 기본 OS로 데비안 (8)을 사용하고 있습니다. 내가 개발중인 타겟은 ARM 기반 플랫폼입니다. 그래서 쉬운 크로스 컴파일을 위해 나는 데비안이 제공하는 다중 기능을 사용하고 있습니다. 불행히도 필자는 호스트 시스템과 시스템을 위해 Python을 설치하려고 할 때 문제가 발생합니다. 크로스 컴파일입니다. 그들은 서로 옆에 설치할 수없는 것

    2

    2답변

    Linux와 같은 운영 체제는 Copy-on-write 원칙에 따라 작동하므로 100GB라고 말하면서 10GB까지만 사용하더라도 10GB의 메모리 만 사용하게됩니다. 그런 큰 배열을 만드는 단점은 무엇입니까? 그래도 이점을 볼 수 있습니다. 동적 배열을 사용하는 것에 대해 걱정할 필요가 없기 때문에 재 할당 비용이들 것입니다.

    0

    1답변

    라이브러리와 동적으로 연결된 P이라는 프로그램이 있다고 가정 해 보겠습니다. 나는 이러한 일들이 일어날 이해 -fPIC 컴파일 된 공유 라이브러리에있는 함수를 호출 할 때 이 다음 해당 항목에 PLT 테이블 코드로 점프 P 에서 call [email protected] 같은가 거기에서 우리는 이동할 경우 각각의 GOT 진입 점 는이 함수의 첫 번째 호출은

    -2

    1답변

    , 나는이 함수 콜백 RCX가 가리키는 호출을 이해 callq *%rcx 를 말한다 라인을 가지고있다. 그러나, 나는이 콜백이 어디서 구현되는지/무엇을하는지 전혀 모른다. 어떻게 알아낼 수 있을까요?