문제

어셈블러로 프로그래밍하는 방법을 배우고 싶습니다.이전에 A레벨 컴퓨팅 과정에서 약간의 어셈블리를 수행한 적이 있지만 그것은 확실히 단순화된 '의사 어셈블러'였습니다.저는 아버지의 오래된 Z80 어셈블러 참조 매뉴얼을 빌렸는데 꽤 흥미로웠기 때문에 가능하다면 Z80 어셈블러를 사용해 보고 싶습니다.

그러나 저는 Z80 프로세서를 가지고 있지 않으며 PC에서 하고 싶습니다(Windows나 Linux가 있으므로 둘 중 하나가 좋습니다).인터넷에서 다양한 어셈블러를 찾았지만 16진수 파일로 어셈블하는 데는 특별히 관심이 없으며 PC의 시뮬레이터에서 실행할 수 있는 것으로 어셈블할 수 있기를 원합니다.바람직하게는 이 시뮬레이터는 모든 레지스터, 메모리 위치 등의 내용을 보여주고 지침을 단계별로 안내해 줍니다.나는 이 작업을 수행할 수 있다고 제안하는 몇 가지 소프트웨어를 찾았지만 컴파일을 거부하거나 제대로 작동하지 않는 것 같습니다.누구든지 어떤 제안을 받았나요?다른 유형의 어셈블러에 사용 가능한 좋은 시뮬레이터/IDE 항목이 있다면 대신 시도해 볼 수 있습니다(사용 가능한 좋은 온라인 참조 매뉴얼이 있다고 가정).

도움이 되었습니까?

해결책

<인용구>

이 작업을 수행 할 수 있다고 제안하는 몇 가지 소프트웨어를 찾았지만 컴파일을 거부하거나 제대로 작동하지 않는 것 같습니다. 누구에게 제안이 있습니까?

하나 작성하세요. 멋지고 간단한 명령어 세트를 선택하는 것이 가장 좋습니다 (Z80이 완벽해야 함). 학부 1 학년 때이 작업을 수행했던 것을 기억합니다. C ++로 시뮬레이터를 작성하고 6800 어셈블리를 시뮬레이션했지만 실제로 모든 언어 / 명령어 세트가 가능합니다.

요즘 "어셈블리 언어 배우기"의 아이디어는 컴퓨터가 가장 낮은 수준에서 작동하는 방식에 대한 아이디어를 얻는 것입니다. 요즘에는 엄선 된 소수 (컴파일러 작성자 등)만이 실제로 어셈블리 코드를 작성해야 할 실제 이유가 있습니다. . 최신 프로세서는 속도 / 동시 실행 / 전력 소비 등을 위해 코드를 최적화하는 데 도움이되도록 컴파일러에서 사용하도록 설계된 기능으로 가득 차 있으며 최신 프로세서를 위해 어셈블리를 직접 작성하는 것은 악몽이 될 것입니다.

원하는 경우가 아니면 애플리케이션을 프로덕션 준비 상태로 만드는 것에 대해 걱정하지 마십시오. 지금까지 찾은 소프트웨어는 어셈블리가 어떻게 작동하는지 파악하고 자신과 같은 사람들이 작성한 것입니다. 그런 다음 일반 대중이 사용할 수 있도록 "프로덕션을 준비"하는 데 얼마나 많은 작업이 필요한지 깨달았습니다.

다른 팁

오픈 소스 8085 시뮬레이터 " GnuSim8085 "를 확인하고 싶을 수 있습니다.교육 목적으로 사용되었으며 실제로 학생이 시험을 준비하는 동안 작성했습니다.Linux와 Windows 모두에서 실행됩니다.

Windows에있는 경우 8085 시뮬레이터 가 최선의 선택입니다. 8085 J-tech Softwares 시뮬레이터

이것의 사용자 인터페이스는 다른 어떤 시뮬레이터보다 뛰어납니다.또한이 시뮬레이터는 실행 중에도 메모리 맵의 실시간보기를 제공합니다.

그러나 이것은 "GnuSim8085"와 같은 다른 시뮬레이터를 확인해야하기 때문에 Windows 98 이하를 지원하지 않습니다.

밉심은 무료입니다

http://www.mipsim.com

MIPSim 2의 주요 기능

  • 구문 강조 및 접기와 같은 기능을 갖춘 내장 코드 편집기
  • 다양한 표현(부호 있는 정수, 부호 없는 정수, 16진수 및 ASCII)으로 레지스터 및 메모리 값을 표시합니다.
  • 메모리 값을 더 쉽게 검사할 수 있도록 메모리 셀의 블록 크기(전체 워드, 하프 워드, 바이트)를 설정합니다.
  • 시뮬레이션 및 디버깅 중에도 한 번의 클릭으로 레지스터 및 메모리 셀의 값 변경
  • 실시간 사용자 인터페이스 업데이트를 통해 실행 중에 레지스터 및 메모리 셀 값이 어떻게 변경되는지 확인할 수 있습니다.
  • 단계별 명령 실행, 명령 건너뛰기 및 중단점 기능을 갖춘 내장형 디버거
  • 코드 테스트를 위해 ASCII, UNICODE 문자열 및 정수 값을 메모리에 삽입하는 도구
  • 중복되거나 누락된 라벨 및 지침 매개변수를 확인하는 도구
  • 다음에 시뮬레이터를 실행할 때 떠난 곳부터 계속할 수 있도록 컴퓨터 상태(모든 레지스터 및 메모리 셀의 값)를 저장하십시오!
  • 시뮬레이션 속도 설정 - 낮은 속도는 코드를 추적하고 작동 방식을 확인하는 데 좋습니다.
  • 인코딩 지침 - 이진수 또는 16진수 표현으로 기계어 코드를 생성합니다.
  • 어셈블리 시간 및 런타임 오류 포착
  • 설명적인 오류 메시지로 디버깅이 더 쉬워졌습니다.
  • 다중 스레드 디자인 - 실행된 어셈블리 코드가 잘못되었거나 무한 루프가 포함되어 있어도 MIPSim이 멈추지 않습니다(희망합니다;)
  • MIPSim API - MIPSim의 레지스터와 메모리에서 읽고 쓸 수 있는 자신만의 프로그램을 만들어 강력한 테스트를 위한 뛰어난 유연성을 제공합니다!

더 높이 조준하세요!보다 강력한 어셈블리 언어를위한 시뮬레이터를 사용해보십시오.Z80 및 808x는 저급 및 어색한 명령어 세트를 갖춘 저급 프로세서였습니다.

DEC의 VAX와 같은 것은 명령 세트의 Rolls-Royce로 간주되었습니다.그리고 정말 이상한 일을하는 미친 Risc 명령어 세트가 있습니다.아마도 당신은 그것들을 구현하는데 균열을 가질 수 있도록 그것들의 정의를 찾을 수있을 것입니다.

Z80 시뮬레이터의 경우 에 관심이있을 수 있습니다. WinAsm 에 대해 좋은 경험을했습니다.

Visual Studio에서 인라인 어셈블러를 사용하여 수행 할 수있는 x86 어셈블리 언어를 배우는 것도 고려할 수 있습니다. Z80보다 더 큰 명령어 세트이지만 기존보다 훨씬 더 나은 도구를 사용할 수 있다는 이점이 있습니다.Z80에서 사용할 수 있습니다.

또한 Keil 8051 및 Arm 도구에는 IDE에 시뮬레이터가 있다는 것을 기억했습니다. www.keil.com에서 무료로 다운로드 할 수있는 크기 제한 버전이 있습니다.

이미 .NET을 알고 있다면 다음이 유용 할 수 있습니다.

http://www.viksoe.dk/code/asmil.htm

약간 제한적이며 .NET 1.1에서만 작동 할 수 있지만 최소한 "최신"IDE를 사용할 수 있으며 관련 문서가 많이 있습니다. 라코 디스

또 다른 옵션은 "하드 코어"를 사용하려는 경우 FreeDOS 및 VMWare와 같은 것을 가져 와서 사용하는 것입니다.나는 차고 세일 (자동차 부츠 세일? 야드 세일?)이나 중고 서점에서 Peter Norton의 오래된 DOS가 성경을 방해하는 사본을 가지고있을 것이라고 확신합니다.:)

개인적으로 저는 Turbo Pascal (지금 Borland에서 무료라고 생각하는)을 사용하여 x86 asm을 배웠습니다.이 기능은 함수 내에 어셈블리 명령을 포함 할 수있는 기능이 있습니다.앱 설정이 더 쉬워졌고하고 싶은 일에 집중할 수있었습니다.나중에 Auckland Uni에서 MacVAX를 사용했는데 괜찮 았지만 VAX는 매우 죽었습니다. x86을 배우는 것도 좋습니다. :)

SimpSim 은 확실히 볼 가치가 있습니다.Windows 전용이지만 기능 세트는 꽤 괜찮습니다.

  • 메인 메모리 및 레지스터 디스플레이
  • 구문 강조 기능이있는 내장 편집기
  • 실행, 단계 및 중단 기능

WinApe Amstrad CPC .Amstrad CPC는 80 년대에 생산 된 가정용 컴퓨터였습니다.Z80을 CPU로 사용했습니다.에뮬레이터를 사용하면 프로그래밍하는 동안 많은 내부 정보를 표시 할 수 있습니다.여기에는 Z80 코드 용 디버거와 디스어셈블러가 포함되어 있습니다.

지금은 아무런 의미가 없지만 사람들이 들르는 사람들에게만 의미가 있습니다.이것은 내가 만난 최고의 어셈블리 코드 시뮬레이터입니다.그만한 가치가 있습니다!

http://www.emu8086.com/

사용할 수있는 잠재적 에뮬레이터 목록은 Thomas Scherrer Z80 에뮬레이터 를 참조하세요..

ZX Spectrum에 대해 z80 asm을 작성하고 (여전히 알고 있습니다 :)) SJasmPlus를 사용하여 스펙트럼 에뮬레이터 파일에 연결합니다.Fuse 및 ZXSpin과 같은 더 나은 Spectrum 에뮬레이터는 즉시 디버깅 및 패치를위한 편집기도 내장되어 있습니다.

대학에 다닐 때 PIC 마이크로 프로세서를 사용했습니다.그들은 Microchip이라는 회사에서 제조합니다.또한 칩 에뮬레이터 / 시뮬레이터가있는 훌륭한 IDE를 사용하여 실제로 칩 없이도 작업을 수행 할 수 있습니다.

에뮬레이터를 사용하는 이유

MASM 또는 NASM 및 좋은 오래된 80386 아키텍처를 작성합니다.많은 온라인 샘플 및 학습 도구.

어셈블러를 사용해야하는 많은 실제 이유!

마이크로 프로세서 아키텍처의 기초를 가르치기위한 Visual6502 시뮬레이터가 있습니다.여기에는 편집기, 어셈블러, I / O 작업 및 마이크로 프로세서 작동 방법에 대한 애니메이션이 있습니다.나는 다음 링크에서 사용할 수 있습니다.

http://www.pcsistem.net/visual/index.htm

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