att

    -2

    1답변

    그래서 수행해야 할 작업이 있습니다. 어셈블리에서 scanfchar*이 필요합니다. 이 코드 시도 : 제대로 첫번째 printf와 적는다 .data INPUT_STRING: .string "Give me a string: " SCANF_STRING: .string "%s" PRINTF_STRING: .string "String: %s\n" .tex

    1

    2답변

    내가 쓴 : 내가 mov $60, %rax 이러한 두 통화 사이의 차이가를 작성해야하지만 mov 60, %rax GNU as이 그것을 가능?

    0

    1답변

    어셈블러 함수에서 주어진 매개 변수와 반환 값의 유형을 어떻게 알 수 있습니까? 정확히 lea 0x1(%ecx),%ebx의 기능은 무엇입니까? 0x1(%ecx)의 주소가 %ebx에 저장되어 있습니까? 어셈블러 코드를 C 함수로 다시 쓰는 과제가 있습니다. 이해가되지 않는 부분입니다. 인수가 int이고 mov 0x8(%esp),%edx, mov 0xc(%es

    0

    2답변

    imul이 부호있는 곱셈이라는 것을 알고 있으며 설명서에서 3 개의 피연산자 구문이 imulq dest, source1, source2임을 제안하는 것 같습니다. 따라서 라인은 다음과 같이 읽을 것입니다 : % rbx에 저장된 주소의 내용과 % rax의 값을 곱한 다음 메모리 위치 44에 저장하십시오. 그러나 이것은 틀린 것입니까?

    1

    1답변

    나는 요즘에 & T x86 어셈블리를 배우고 있습니다. "*"를 사용하지 않고 두 개의 32 비트 정수를 곱하는 코드를 작성했습니다. 문제는 디버거가 계속 Segmentation Fault가 발생했다는 것입니다. 여기 내 코드가있다. .global _start .data a: .long 0 b: .long 0 count:

    -2

    1답변

    영어 내 첫 번째 언어가 아니므로 일부 단어를 잘못 입력하면 죄송합니다. 스택에 문제가 생겼습니다. 여기에 넣을 모든 코드는 완벽하게 작동합니다. 예를 들어,이 코드는 쉽고 스택을 이해합니다. STACK ------- VAR Y --> ESP + 12 ------- VAR X --> ESP + 8 -------

    0

    1답변

    나는 x86 구문을 배우고 있습니다. 나는 그것이 무엇을해야하지 않는 것이 명령을 우연히 발견했습니다 cmpl $0x0,%cs:0x6574 나는 cmp 그냥 차이를 비교하고 플래그를 설정 알고있다. 부호없는 값이 비교 중임을 나타내는 l. 내 질문은 : 우리는 무엇을 비교합니까? 0x0의 값과 어떤 값 %cs:0x6574? cs 레지스터에 주소가 들어

    0

    1답변

    '추가'에 대한 피연산자 형식이 일치가이 코드에 문제가있어 : 나는 "의 gcc -g -o 파일이 file.s를"로 컴파일 할 때 .code32 .data s: .asciz "Hello World!\n" .text .global main main: pushl $s call printf addl $4, $esp

    -3

    2답변

    eax에 char 배열의 주소가있는 경우 0 (% eax)와 (% eax)의 차이점은 무엇입니까? 아니면 둘 다 같습니까? 둘 다 배열의 첫 번째 요소를 참조합니까?

    -1

    1답변

    AT & T 어셈블리에 도움이 필요합니다. I는 (16 진수 및 DEC) (제 1 * 번째) 바이트 (gdb) x/8xb &buffer_in 0x8049096: 0x03 0x02 0x10 0x27 0xe8 0x03 0x64 0x00 (gdb) x/8db &buffer_in 0x8049096: 3 2 16 39 -24 3 100 0