7. 명령어
SIC머신이 사용하는 명령어에 대해서 배워보도록 해요.
데이터 이동 : LDA, LDX, STA, STX,...
사 칙 연 산 : ADD, SUB, MUL, DIV,...
비 교 연 산 : COMP
Conditional Jump : JEQ, JLT, JGT
Jump to subroutine : JSUB
Return from subroutine : RSUB
아, 뭔가 있는데, 복잡해 보이네요.
하지만 전혀 어렵지 않습니다.
하나하나 살펴보도록 하죠.
먼저 데이터 이동
LDA : Load A의 약자입니다. A레지스터에 데이터를 입력하라는 뜻입니다.
LDA word라고 명령어를 주면, word라는 변수에 담긴 데이터가 A레지스터에 저장됩니다. 쉽죠?
STA : 이것도 마찬가지! StoreA의 약자(맞을겁니다-_-;)입니다.
STA word는 word라는 변수에 A레지스터에 저장된 데이터를 기록해라. 뭐 이정도. 쉽죠?
ADD 더하기, SUB 빼기, MUL 곱하기, DIV 나누기
COMP : Compare 비교의 약자.
JEQ 같으면 점프, JLT 작으면 점프, JGT 크면 점프
JSUB : 서브루틴으로 점프합니다. 점프하는 순간 (L)레지스터에 돌아와야할 주소가 저장되겠죠!
RSUB : 서브루틴으로 돌아옵니다. (L)레지스터를 참조하겠군요^^;
8. I/O |
8비트의 고유코드로 각 장치들이 정의 됩니다.
또한 (A)레지스터의 가장 오른쪽 1바이트가 입출력을 담당합니다.
오른쪽바이트에 들어온값이 출력이되고.. 도 입력이 되고..어렵지 않죠?
8비트 | 8비트 |
8비트(입력출력공 간) |
그러므로 당연히 1바이트씩 전송됩니다. 그럼 이에 대한 명령어를 또 알아보죠.
마지막 단계입니다. 힘냅시다.
TD : 테스트 디바이스의 약자입니다. 내가 지금 I/O를 쓸 수 있냐 없냐를 알기 위한 명령어죠.
결과는 컨디션코드로 출력됩니다. 사용 가능 하면 "<", 지금 사용중이니깐 나중에써! 일때는 "="이 출력됩니다.
RD, WD : 이건 뭐.. 쓰고 읽고^^;
RD m : 의 제일 끝을 읽어옵니다.
WD m : 마찬가지. m의 제일 끝에 기록!
1바이트씩!
자, 이걸로 SIC머신에 대한 내용이 어느정도 마무리 되었군요.
다음엔 SIC XE머신에 대해서 알아보도록 합시다.
어렵게 생각하면 어려운게 공부 아니겠어요.. 쉽게 생각합시다 쉽게..-_-;
[출처] - http://1228.tistory.com
'컴퓨터공학 기초 > Embedded system' 카테고리의 다른 글
uC/os-ii 뛰어넘기 (1~6) (0) | 2013.07.22 |
---|---|
Introduce of Microprocessor (0) | 2011.10.14 |
SIC/XE 머신이란? - 2부 ( 주소 계산 방법, 주소 해석 방법, 명령어 ) (0) | 2010.09.18 |
SIC/XE 머신이란 무엇인가? (0) | 2010.09.18 |
SIC 머신이란? (가상컴퓨터) (0) | 2010.09.18 |