gas

    5

    1답변

    GNU 어셈블러에는 일부 명령어에 대해 출력되는 opcode의 대체 형식을 제어하는 ​​수단이 있습니다. 예 : 0: 89 c8 mov eax,ecx 2: 8b c1 mov eax,ecx 우리는 .s 접미사가 8b 버전으로 89 옵 코드를 전환 나타나는 것을 볼 수있다 (적절하게 ModRM 바이트 변경) : as test.s -o tes

    1

    1답변

    저는 Assembly in x86에서 프로그래밍을 시작하고 있습니다. 저는 리눅스 가상 머신에서 가스를 사용하여 컴파일하고 있습니다. 메인 루틴이 프로그램을 즉시 종료하는 간단한 빈 프로그램을 실행하려고합니다. 이것이 제가 따라하는 가이드의 첫 번째 임무입니다. 내 코드는 파일 hello.s에 저장하고이처럼 보이는 : gcc -o hello.o hello.

    1

    1답변

    작은 컴파일러 프로젝트에서 작업하고 있는데 스택의 값 대신 스택 위치의 주소를 푸시하는 방법을 알아낼 수 없습니다 위치. 내 목표는 정수 값을 보유하는 스택 위치 주소를 인쇄하는 C 함수의 void 포인터로 푸시하는 것입니다. 내 궁극적 인 목표는 함수에서 포인터 정수 연산을하는 것입니다. 런타임 라이브러리 확장에서 C 함수를 호출하는데 성공했지만 문제는

    1

    1답변

    나는 토큰 크라우 저사에서 ERC20 기반의 계약을 성실하게 작성하여 rinkeby, ropsten 및 testrpc와 같은 다른 네트워크에서 테스트했습니다. 내가 testrpc에서 내 코드를 컴파일해도 잘 동작합니다. rinkeby에서 계약을 컴파일하고 배포 할 때 트랜잭션을 수행하는 동안 가스 제한이 초과되어 트랜잭션이 실패합니다. 내가 컴파일하고 배포

    1

    1답변

    GNU 어셈블리의 배열을 사용하려고합니다. 내 의견으로는 다음과 같은 코드는 값 3으로 종료해야하지만 movw inArr(%rip, %rcx, 2), %di 명령 %di = inArr[%rcx] 같은 동일하다 내 의견으로는 13 .section __DATA,__data inArr: .word 13, 2, 3, 4, 5, 6, 7, 8, 9

    1

    1답변

    이것은 이전에는 발생하지 않았던 문제입니다. 나는 아마 내 패키지 repos (아마 최근에 내 아치 시스템을 다시 설치하고 이것은 단지 일이 시작된)와 문제가 있다고 확신 해요. 나는 x86_64에있는 작은 안녕하세요 세계를 썼다 : .data str: .asciz "Test" .text .globl main main: sub $8, %r

    4

    1답변

    Intel 구문과 AT & T 구문의 차이점을 이해하려고합니다. (GNU as를 사용하고 있습니다.) .intel_syntax noprefix val: mov eax, val 및 atandt.s : val: mov $val, %eax 내가 인텔 버전으로 AT & T 버전으로 변환하려고 나는 두 개의 파일 intel.s 있습니다.

    2

    1답변

    대학 프로젝트로 컴파일러를 쓰고 있습니다. 나는 코드 생성 단계에있다. 그리고 이것은 (항상 0 인쇄) 작동하지 않는 이유를 궁금하네요 : .extern printf .section .data hello: .string "Hello %f!\n" .section .text .globl main main: pushl %ebp

    0

    1답변

    저는 꽤 혼란스럽고 한 블록 맞았습니다. 내 수업 과제는 다음과 같은 일을합니다. 입력 인사 사용자 프롬프트 변환 된 문자열을 사용자에게 모두 대문자 디스플레이 메시지에 변환 문자열 나는 1과 2에는 문제가 없으며, 필요할 때 소문자를 대문자로 변환하는 루프를 알아낼 수 있습니다. cmp $96, %ah jg Subtract call Loop Sub

    2

    1답변

    (GAS 어셈블러에서) 나는이 작업을 수행 할 수 :이 문제에 대한 해결책을 찾을 수 없습니다 add rcx,[a1] add rcx,[a3] add rcx,[a5] : 그것은 출력이해야 i=0 .rept 3 add rcx,[a?(i*2+1)] i=i+1 .endr . 나는 그것이 매크로 정의 안에 있기를 원하지 않는다.