인텔 8080 CPU를 위한 어셈블러 개발하기

Find AI Tools
No difficulty
No complicated process
Find ai tools

인텔 8080 CPU를 위한 어셈블러 개발하기

목차

  1. 소개
  2. 토큰 클래스 생성
  3. 토큰 파싱 함수 작성
  4. 빈 공백라인 처리
  5. 토큰의 끝 확인
  6. 다음 토큰의 시작 확인
  7. 마무리

🎯 소개

이번 파트에서는 코드 라인으로부터 파싱된 토큰들을 나타내는 토큰 클래스를 만들 것입니다. 토큰 클래스 안에서는 토큰을 파싱하는 작업을 수행하게 됩니다. 이렇게 하면 별도의 파서 함수를 작성할 필요 없이 각 라인을 토큰으로 나눌 수 있습니다. 우리는 단순히 "새로운 토큰 객체를 생성해주세요" 라고만 말하면 되며, 이 토큰 객체는 우리가 작업하고자 하는 토큰들을 가지게 될 것입니다. 어셈블리 파일을 다시 한 번 살펴보면, 흥미로운 토큰의 최대 개수는 네 개입니다. 라벨, 명령어 그리고 두 개의 인수입니다. 한 토큰에 댓글을 추가하지 않을 것이므로, 우리는 최대 네 개의 토큰만 처리하면 됩니다. 그렇기 때문에 중요한 숫자는 "네"입니다. 문자열을 다루기 때문에 토큰이 될 자체는 문자열이며, 라벨, 명령어, 인수는 각각 문자열일 것입니다. 또한, 모든 유효한 Intel 8080 명령어의 배열이 필요합니다. Intel 8080 명령어 집합을 구글에서 검색하여 매우 유용한 pastraser.com 페이지를 찾았습니다. 모든 명령어를 일일이 작성하는 것은 시간이 오래 걸리므로, 내용을 복사하여 배열로 만들었습니다. 이제 나중에 파서 함수를 작성해야 합니다. Constructor 함수는 라인을 토큰으로 분석합니다. 이 함수는 적어도 하나의 인자를 받으며, 해당 인자는 라인이 되겠습니다. 이제 실제로 무엇을 해야 하는지 알아보도록 합시다. 첫 번째로, 다음과 같이 빈 공백 라인 여부를 확인해야 합니다.

📄 토큰 클래스 생성

Token 클래스는 다음과 같이 토큰을 분석하여 저장하는 역할을 합니다. 토큰들은 알파벳 문자, 숫자, 구두점으로 구성되며, 공백, 탭, 세미콜론, 널(문자열의 끝)을 통해 토큰 구분을 알 수 있습니다. 따라서 토큰이 끝났는지를 판단하기 위해 토큰의 끝인지를 확인하는 함수를 작성해야 합니다. 각각의 토큰이 새로운 토큰인지를 확인하기 위해 다음 토큰의 시작을 확인하는 함수도 작성해야 합니다.

📑 토큰 파싱 함수 작성

토큰 파싱 함수는 라인을 파싱하여 토큰으로 분해하는 역할을 수행합니다. 다음 토큰의 시작과 라인의 끝을 확인하는 것이 필요합니다. 해당 함수를 작성하면 다음 파트에서 파싱을 진행할 수 있게 됩니다. 만약 공백 라인일 경우 아무것도 파싱할 필요가 없으므로 처리해줍니다. 또한, 토큰의 끝을 확인하기 위한 조건을 설정해줍니다.

✅ 빈 공백라인 처리

토큰을 파싱하기 전에 빈 공백 라인인지를 먼저 확인하여 처리해야 합니다. 빈 공백 라인인 경우 파싱할 토큰이 없으므로 반환합니다.

✅ 토큰의 끝 확인

토큰의 끝을 확인하는 함수입니다. 토큰의 끝은 공백, 탭, 세미콜론, 널(문자열의 끝)로 판단할 수 있습니다. 이러한 문자들이 토큰의 끝이면 해당 토큰은 완성되었으므로 true를 반환합니다. 그 외의 경우는 false를 반환합니다.

✅ 다음 토큰의 시작 확인

다음 토큰의 시작을 확인하는 함수입니다. 끝에 도달했는지와 토큰의 끝인지를 확인하여 다음 토큰의 시작을 판단합니다. 특이한 케이스로는 토큰 다음에 바로 코멘트가 오는 경우가 있습니다. 이런 경우는 새로운 토큰이 아니므로 false를 반환합니다. 그 외의 경우에는 true를 반환합니다.

💡 마무리

이번 파트에서는 토큰 클래스를 생성하고, 빈 공백 라인 처리, 토큰의 끝 확인, 다음 토큰의 시작 확인하는 함수를 작성했습니다. 다음 파트에서는 파서 함수를 완성하고, 토큰을 파싱하여 필요한 작업을 수행할 것입니다. 계속해서 업데이트를 진행하겠습니다.

자주 묻는 질문

Q: 토큰 클래스를 생성하는 이유는 무엇인가요? A: 토큰 클래스를 생성하여 코드 라인을 토큰으로 파싱할 수 있습니다. 이는 코드 파싱 과정에서 더 편리하게 작업할 수 있도록 도와줍니다.

Q: 토큰의 끝을 어떻게 판단하나요? A: 토큰의 끝은 공백, 탭, 세미콜론, 널(문자열의 끝)로 판단합니다.

Q: 다음 토큰의 시작을 어떻게 확인하나요? A: 다음 토큰의 시작을 확인하기 위해서는 끝에 도달했는지와 토큰의 끝인지를 확인합니다. 새로운 토큰이 아니라면 토큰 다음에 코멘트가 오는 경우이므로, 다음 토큰의 시작이 아닙니다.

[참고 자료]

Are you spending too much time looking for ai tools?
App rating
4.9
AI Tools
100k+
Trusted Users
5000+
WHY YOU SHOULD CHOOSE TOOLIFY

TOOLIFY is the best ai tool source.