어디에서 찾을 수 있습니 tools 학습을 위한 어셈블러 OS X?[마감]

StackOverflow https://stackoverflow.com/questions/137523

  •  02-07-2019
  •  | 
  •  

문제

배우고 싶 assembler.그러나,거기에 매우 몇 가지 자원을 하기를 위한 어셈블러와 OS X.

누군가가 프로그램에서는 어셈블리에 맥?어디서 배울 수 있습니까?

그리고,어떤 이유 있는 나가지 않아야 하고 있습니까?나는 위험을(크게)충돌 내 컴퓨터에 돌이킬 수없는?

도움이 되었습니까?

해결책

를 사용하는 경우에는 파워 맥 찾으로 gcc 인라인 assembler.그렇지 않으면으로 보 nasm.나를 줄 수 없 괜찮은 참조를 PPC ASM(그들은 멀리 사이 몇 가지),그러나 나는 다음과 같은 것들을 배울 수 86asm:

또한,당신이하지 않은 경우 커널 모드에서 다음 기회가 없 조이는 아무것도,정말로,그리고 당신은 커널 모드에서 그것은 정말 힘든 일이 아무것도 파괴.

편집:또한,을 얻을 gcc 등에서 XCode 지 Macports 또는 같은걸.당신의 세계에 대한 잘못된 Mach-O 파일 경우에 당신은하지 않습니다.재미없을 진단하는 파일 형식으로 문제를 때 당신은 단지 시작 asm 해킹 등이 있습니다.

다른 팁

어셈블러 언어에 의해 결정된 하드웨어 플랫폼,아 운영 체제입니다.주어진 OS X 에서 실행되는 인텔 플랫폼 64-bit,당신이 찾아야하에 대한 정보 64 호(AMD64)assembler.체크인의 위키 문서(http://en.wikipedia.org/wiki/X86-64)에 대한 많은 링크에 대한 문서 x64.

또한,OS X 에 도구 설명서를 수 있습을 많이 포함하에 대한 정보를 64assembler.특히,Netwide Assembler(NASM- http://developer.apple.com/documentation/DeveloperTools/nasm/nasmdoc0.html)있을 수 있는 방법에 대한 설명서를 구축하 OS X 응용 프로그램을 사용하여 어셈블러.

학습을 시작하는 어셈블리,시작하는 것이 좋을 수 있습니다 간단하는 C 프로그램과 요구 GCC 를 생성한 어셈블러를 위한 코드를 사용하여-S 옵션:

gcc -S hello.c -o hello.asm

할 수 있는 방법을 이해하는 함수를 호출,전달하는 인수,등등.

Nasm/yasm 은 당신의 최선의 방법;gcc 인라인 구문은 매우 심각하고 매우 고통스러울 수 있을 사용하여 시간,플러스 그대로 있 어떤 것들 할 수 없 는 않습니다.Nasm 의 매크로로 구문은 또한 훨씬 더 유용하고,신의 선물이에서 같은 언어 어셈블리 내에서 템플릿 생성 기능입니다.

XCode(ie.GCC)에 쓰기에 대한 지원을 assembler.그것은 재미있는 것을 배울(지만 당신이 그것을 필요로 많),그리고 최악의 당신이 할 수있는 충돌하는 프로그램을 작성과 동일 C.다만 구글 for'gcc 인라인 asm86 서'당신은 많이 찾을 수 있습니다.걱정하지 않는 어떤 것이 있을 것 같 리눅스의 특정,그들은 일반적으로 작업 단지뿐만 아니라 XCode 에서.

(편집)...고 가정하고 있는 인텔은 맥정그렇지 않으면 교체'86'와'ppc'.

내 프로그램 어셈블리에 맥.그것은 모토로라 680x0 어셈블러를 사용하여러운 운전을 할 수 있게 해줍니다.나는 감동에서 파워 어셈블러에서 몇 번 CodeWarrior 및 projectbuilder 이.지금 projectbuilder 이라는 XCode 며,인텔 등이 있습니다.어셈블러 중 하나는 많은 도구에서 XCode.

내가 원래를 배웠 어셈블러 Apple II:이 6502 기계 언어를 모니터에 내장 ROM,Sweet16 미니 assembler,및 다른 사람입니다.나중에,내가 사용하는 인텔 80186 어셈블러 느린 속도를 높이 비 C 코드,그리고 작업을 지불을 위해 하루에 인텔 80186 어셈블러에 대학교도 있습니다.나중에 있었을 유지하는 일부 680x0 조립니다.는 시간이 오래 전에.

지가 있다고 생각하지 않는 어떤 이유로든지 어셈블리입니다.학습니다.모두 알 수 있습니다.으로 떨어지 충분히 낮은 수준 디버거와 모양에서 분해 코드입니다.

My advice is:

두려워하지 마십시오.

이유가 없습니다 당신 말;거기에 아무것도 할 수 있는 어셈블리 언어는 당신은에서 할 수 없이 더 높은 수준의 언어 같은 C.

까지 도구,가을 설치할 수 있습니다 MacPorts 을 얻을 GNU assembler.지 않을 수 있는 가장 쉬운 방법이 될 수 있지만,그것은 무료이며,당신은 아마 찾을 수 있습니다 튜토리얼 문서를 쓰기 위해 유닉 프로그램에서 GNU assembler 어딘가에 net.

두 가지 세 가지를 알아야에 쓰기 위해 어셈블리 언어로 시스템에서 운영 체제(반대로'맨 금속'어셈블리는 세상의 자신의):

  1. 어떻게 명령어 집합을 작동하중에 대한 자원의 Intel X86 이 있는 경우 Intel Mac,여전히 합리적인 설정에 대한 PPC 예를 들어 Mac OS X Internals.

  2. 는 방법을 조립하는 링크는 귀하의 프로그램-만약 당신이 개발자 도구가 설치되어 있는 GCC 과 연관된 도구

  3. 게 이야기하는 방법 OS 여기에는 맥 어셈블리 적 잘 설명보다는 윈도우 또는 리눅스.그것은 수를 작성해야 합 해당하는 C 프로그램을 사용'gcc-S'무엇을보/호출 스택을 복원 규칙에 적합합니다.따라 당신은 무엇을 하고 싶지만에 최소 필요 OS 시스템에 대한 호출 IO 고 메모리를 할당합니다.

좋은 출발점입니다 .

만약 당신 개발자 도구 설치할 수 있습니다 단순히 오픈 터미 과 유형 (GNU Assembler -부분의 출력).

PPC 도 Lightsoft

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top