내 시스템 프로그래밍 클래스에서 우리는 작고 단순한 취미 OS로 작업하고 있습니다. 개인적으로 나는 ATA 하드 디스크 드라이버로 작업 해왔다. 한 줄의 코드가 시스템을 즉시 재부팅하는 오류를 일으킨다는 것을 발견했습니다. 문제의 코드는 IDE 인터럽트에 대한 인터럽트 서비스 루틴의 끝에 있습니다. IDE 채널을 사용하고 있기 때문에 마스터 PIC (마스터
맨손으로 CPU (x86), 32 비트 보호 모드 및 OS가 실행되지 않는 하드웨어 디버그 도구를 만드는 중입니다. 시간 제약으로 인해 x86 어셈블리에이 도구를 모두 쓰지 않을 것입니다. 나는 Ada 언어를 좋아하지만,이 프로젝트에 C가 아닌 Ada 언어를 사용하는 것이 흥미로울 것이라고 생각했다. C에서는 키보드 입출력이나 화면에 텍스트를 표시하는 것과
같은 Visual Studio 2008 배포 프로젝트를 사용하여 x64 패키지뿐만 아니라 x86 msi 패키지를 만들고 싶습니다. 프로젝트 속성 대화 상자에서 TargetPlatform을 볼 수 있는데, 이것을 사용하여 x86 또는 x64 (또는 Itanium)를 선택할 수 있음을 알고 있습니다. 문제는 내가 프로젝트 구성이 속성을 연결하는 것 수없는 (?
x86 코드의 생성을 단순화하기 위해 델파이 용 프레임 워크 또는 라이브러리를 사용하는 사람이 있습니까? 나는 어셈블러를 찾고있는 것이 아니라 오히려 저수준 비트와 바이트 이상에서 코드 생성 프로세스를 추상화하는 프레임 워크를 찾고있다. 이론적으로 기존의 라이브러리 나 프레임 워크를 기반으로 구축하고 싶습니다. 초기 사용은 Delphi가 SOAP 요청을 보
다음과 같은 코드가 있습니다. mov ax, cs
mov ds, ax
mov es, ax
왜 이렇게 압축 할 수 없습니까? mov ds, cs
mov es, cs
누산기 레지스터를 사용한 이후로 첫 번째 방법이 빠릅니까? 하지만 cs와 ds는 레지스터 세그먼트이므로 직관적으로 보일 수 없습니다. 아니면 내가 모르는 몇 가지 제한 사항이 있습니까
나는 하나의 스택 프레임에서 다른 스택 프레임으로 앞뒤로 건너 뛰는 "위험한"프로그램을 C++로 작성했다. 목표는 호출 스택의 가장 낮은 레벨에서 호출자로 건너 뛰고 무언가를 수행 한 다음 다시 호출하여 모든 호출을 건너 뜁니다. 스택 기본 주소 (%ebp 설정)를 수동으로 변경하고 레이블 주소로 점프하면됩니다. gcc와 icc 모두 함께 스택 손상없이 완
x86 및 x64 플랫폼에서 실행해야하는 .Net Framework 3.5 SP1/CLR 2.0 응용 프로그램이 있다고 가정합니다. 어떤 이유로 든 별도의 x86 및 x64 설치 프로그램을 만들어야한다고 가정하십시오. 어쨌든 x64 관련 설치 프로그램이 있으므로 "AnyCPU"를 타겟팅하는 대신 x64로 응용 프로그램 자체를 다시 컴파일하면 어떤 이점이 있
최근 어셈블리 수준에서 프로그램을 디버깅해야했습니다. 나는 많은 어셈블리어 경험이 없으므로 다른 민족 코드를 디버깅하기 전에 언어에 대한 느낌을 얻기 위해 간단한 C 프로그램을 작성하고 단일 단계로 진행할 것이라고 생각했습니다. 그러나, 나는 정말 (-ggdb -O0로 컴파일) 무엇을이 두 라인으로 만들어진 GCC하지 않습니다 MAX_SIZE 5로 #def
i386 linux에서 소프트웨어 부동 소수점을 사용할 수 있습니까? 각 호출마다 커널에 트랩하는 비용이 들지 않습니까? 당신이 수, 당신은 손으로 전체 툴 체인을 부트 스트랩 원하는 하지 않는 한 $ gcc -m32 -msoft-float -lm -o test test.c
/tmp/cc8RXn8F.o: In function `main':
test.c: