GNU 어셈블러 용 x64 어셈블리를 작성 중입니다. .seh_ * 지시문에 대해 read을 시도했지만 그 정보가 많지 않습니다. gas 문서에는 전혀 언급되어 있지 않습니다. 그러나 이해한다면 SEH unwind 작업 중에 코드가 스택에있을 수 있으므로이 코드를 사용해야합니다. 그리고 내 코드는 조작을 스택하고 다른 함수를 호출하기 때문에 SEH가 가능하
간단한 ASM 프로그램을 작성했지만 sys_write가 출력을 제공하지 않습니다. 나는 % ecx에 대한 포인터와 함께 실수를했고 sys_write가 문자열에 액세스 할 수 없다고 생각하지만 - 지금까지 내 실수를 찾지 못했습니다. sys_write 이후의 리턴 코드는 % eax에 저장되며 0보다 작습니다. "Hello World"- 예제가 많이 있지만,
내가 (구체적으로로, GCC 및 LD)는 MinGW에서 가스를 사용하고 합니다 ...에-수 Windows의 쉘 코드 다음 컴파일 사용하여 고급 컴파일 .text
.globl _main
.def _main; .scl 2; .type 32; .endef
#.extern _execlp
.def _execlp; .scl 2; .
후에, 나는 다음과 같은 오류 메시지가 무리를 얻을 수 내 프로그램이 돌아 가지 않을 것이라고 잘못 생각한거야? 당연히, 그것은 각각 제가 1 바이트 길이 인 배열 요소에 접근하려고하는 것과 관련이 있습니다. 다음은 프로그램 자체입니다. /******************************************************************
누군가 우분투에서 SASM을 설치하는 데 도움을 주시면 감사하겠습니다. SASM은 어셈블리 IDE이며 Fedora 및 Linux Mint에서 사용할 수 있습니다. 나는 그것이 우분투에 설치 될 수 있는지 또는 내 유일한 해결책이 윈도우 버전을 설치하는지 (또는 리눅스 민트를 설치하는지) 궁금해하고 있었다.
현재 내 IRQ는 트리플 폴트이며 0으로 나누기를 제공합니다. Here은 내가 기록한 viedo입니다. irq.C++ : #include "irq.h"
#define PIC_MASTER_CONTROL 0x20
#define PIC_MASTER_MASK 0x21
#define PIC_SLAVE_CONTROL 0xa0
#define PIC_SLAVE_
나는 다음과 같은 튜토리얼을 통과했습니다 가 부팅되지 않습니다 오히려 그것을 대신 사용하십시오. global start
section .text
bits 32
start:
mov word [0xb8000], 0x0248 ; H
mov word [0xb8002], 0x0265 ; e
mov word [0xb8004], 0x02