x86

    -1

    1답변

    그래서 나는이 함수가 무엇인지 알아 내려고 노력하고있어,하지만 난이 명령 순서에 의해 약간 의아해 해요 :이 mov -0x4(%rsp),%eax lea 0x0(,%rax,8),%edx 그 전에 함수 내 RAX의 언급이 없습니다. rax 레지스터의 값은 무엇입니까? 스택의 맨 위에 있습니까? 이전 줄은 mov -0x4(%rsp),%eax 이었으므로 ea

    1

    1답변

    int x = 5; void foo() { long unsigned r[8]; memset(&r, 0, sizeof(long unsigned) * 8); __asm { pushad; pop r[7]; pop r[6]; pop r[5]; pop r[4]; pop r[3

    2

    1답변

    x86의 로컬 APIC에서 읽고 쓸 수있는 Linux 커널 모듈 용 코드를 작성하려고합니다. 나는 인터럽트 명령 레지스터에서 읽을 아래의 코드를 사용하고 있습니다 : printk(KERN_ERR "APIC %p %d", (int32_t *)(APIC_BASE + 0x300), *(volatile int32_t *)(APIC_BASE +

    -2

    1답변

    코드를 많이 줄여야하는데 Assembly x16의 한 줄에 몇 가지 명령을 쓸 수 있는지 여부를 생각했습니다. 예를 들어 MOV cl,10b CMP cl,10b JE label 위와 같이 작성하는 것은 불가능하지만 이러한 명령을 결합 할 수있는 방법이 있습니다. 감사! 이것은 내가 디스어셈블러에서 사용한 절차 중 하나입니다. 나는 모든 명령을 식별 할

    0

    1답변

    어셈블리는 재미있는 학습 언어입니다. 나는 여전히 개선의 여지가 많다. 나는 임의의 주사위 롤을 x 번 사용자 입력을 기반으로해야하는 간단한 크랩 게임을 만들기 위해 노력하고 있습니다. 나는 다음과 같은 코드를 가지고있다 : TITLE Program Template (main.asm) INCLUDE Irvine32.inc .data diceOn

    1

    2답변

    GCC는 대상으로하는 아키텍처를 지정할 수있는 -march 스위치를 지원합니다. 플랫폼에서 사용할 수있는 지침을 사용하는 것은 물론 해당 명령 시퀀스를 조정할 수 있습니다. 아키텍처의 기본 버전. 예를 들어 -march=skylake은 AVX2와 같은 Skylake에서 사용할 수있는 명령어 세트 사용을 포함하여 Skylake CPU를 대상으로 컴파일러에 알

    1

    1답변

    페이지 디렉토리 및 페이지 테이블에 대한 일부 설명서를 읽었지만 여전히 이러한 개념에 대해 매우 혼란 스럽습니다. 예를 들어 here 나는 단 하나의 레벨 페이징만으로 메모리를 낭비한다는 것을 알게되었습니다. 따라서 x86 아키텍처에서는 2 레벨 페이징을 사용합니다. cr3 --> PageDirectory --> PageTable --> Page 다음과

    1

    1답변

    여러 장치에서 실행되는 WEC7 응용 프로그램의 설치 관리자를 작성합니다. 각 장치는 아키텍처가 다르며 OS 버전도 다를 수 있습니다. 이 응용 프로그램은 역사적인 이유로 C++로 작성되었습니다. 즉, 응용 프로그램은 각 OS/아키텍처 버전에 대해 컴파일됩니다. 설치 프로그램 패키지에는 모든 버전이 리소스로 있습니다. 설치하기 만하면됩니다. OS 버전은 S

    2

    1답변

    yasm을 사용하여 아래 코드를 조합하려고합니다. yasm이 "오류 : 피연산자 2의 크기가 올바르지 않습니다."라는 오류를보고하는 '여기'주석을 달았습니다. 이 오류가 발생하는 이유는 무엇입니까? 양 피연산자는 동일한 크기 일 필요하기 때문에 대부분의 지시 segment .data a db 25 b dw 0xffff c dd 3

    1

    1답변

    어셈블리에서 기본 부트 로더를 만들었지 만 실제로 커널로 점프하지는 않습니다. 그냥 "부팅 중 ..."이라고 말합니다. 나는 그것이 잘못된 장소로 점프하는 것처럼 내가 만든 바보 같은 실수 일 것이라고 확신한다. "부팅 중 ...로드 됨!"과 같은 출력이 표시되어야합니다. 또한 그것을로드하기 전에 es를 0으로 설정하려고했지만 작동하지 않습니다. 내 코드는