x86-64

    0

    2답변

    64 비트 Linux 시스템에 NASM 프로그램을 작성하여 입력에서 문자가 아닌 기호를 제거하고 각 단어를 별도의 줄에 인쇄합니다. 문제는 내가 RCX = -1 어디 내가 읽은 문자 번호를 얻고, 결과적으로 나는 세분화 오류가 발생한다는 것입니다. 벌써이 버그를 수정하는 방법을 알아 내려고 노력했습니다. 너희들이 나를 도울 수 있기를 바랍니다. 미리 감사드

    9

    4답변

    내가 ASM에서 호출 규칙에 대한 책을 읽은되었으며, 이것은 내가 지금까지 무엇을 가지고 있습니다 : x86(userland) x86(kernel) x64(userland) x64(kernel) 1st arg Stack EBX RDI RDI 2nd arg Stack ECX RSI RSI 3rd arg Stack

    0

    2답변

    작은 프로그램을 x86-64 어셈블리 (AT & T) 구문으로 작성했으며 올바르게 어셈블했지만 예상 한 결과를 얻지 못합니다. 서브 루틴을 수정해야하는 레지스터 %rdi에 변수가 있습니다. 나중에 다른 용도로 사용하기 위해 원래 값을 유지해야합니다. 내가 원하는 것은 push에 스택에 원래의 값을 넣고 서브 루틴이 끝나면 다시 검색합니다. 예를 들어, 변수

    2

    1답변

    NASM 어셈블리에서 Windows API를 사용하려고합니다. 함수 및 기타 등등의 일부 기본 호출입니다. 그래서 MSDN 웹 사이트에서 Beep 기능에 대해 읽었습니다. 두 단어, 빈도 및 기간이라는 두 가지 값이 필요하다고합니다. 나는이 프로그램을 실행하면 NULL equ 0 ; null global _start ; entry point extern

    2

    1답변

    x86-64 모드 (인수 포함)에 대한 syscalls 목록을 찾았습니다 : http://filippo.io/linux-syscall-table/ 그러나이 syscalls에 대한 자세한 설명은 어디에서 확인할 수 있습니까? 플래그가 다른 경우에는, 0102o RW (생성)을 제외 '열기'콜을 사용할 수있다 예를 들어 후술 : 읽기 전용, 쓰기 전용 등의 기

    1

    2답변

    어떻게 스택에 64 비트 길이의 주소를 넣을 수 있습니까? 나는이 현재 가지고 : 또한 //setup the stack push rbp; mov rbp, rsp; sub rsp, 80; //80 bytes for stack, 9 args of 64 bits + 64 bits for the function address mov qword [rbp -

    0

    1답변

    boost::atomics::detail::lockpool::get_lock_for(void const volatile*)", referenced from: boost::thread_detail::enter_once_region(boost::once_flag&) in libboost_thread-mt.a(once.o) boost::thread_detai

    1

    2답변

    나는 C++로 번역 된 Jack Crenshaw의 놀라운 컴파일러 튜토리얼에 따라 SP4RX라는 자체 프로그래밍 프로그래밍 언어를 개발 중입니다. 필자는 64 비트 우분투 시스템을 기반으로 컴파일러 용 어셈블리를 학습하고 있습니다. 나는 시작으로 부가 프로그램을 만드는 중이라서 :하지만 난 세그먼트 오류를 ​​얻고 코어 덤프 :( section .text

    3

    1답변

    Monodevelop를 사용하는 Linux에서 C#으로 C#으로 하위 집합을 작성 중입니다. 제 컴파일러는 파일에서 텍스트를 읽고 어셈블리로 출력합니다. 이제 내가 얻은 문제는 C# 문제가 아니라 어셈블리 오해라는 점에 유의해야합니다. 나는 어셈블러와 gcc 링커를 사용하고있다. 내가 NASM 어셈블러로이를 컴파일하고 NO 오류 및 NO 경고를 얻을 ext

    2

    1답변

    나는 나의 centos5_x64에서 어셈블리 프로그램을 작성 : 그것은 실행할 수 .data .global _start _start: jmp f0 start: pop %rsi xor %rax,%rax mov %al,7(%rsi) mov %rsi,8(%rsi) mov %rax,12(%rsi) mov $0xb,%al mov %rsi,%rb