21.다음은 어떤 마이크로 명령에 의해서 수행되는 경우인가?

해설
ㄱ. AND 명령 : 메모리의 내용과 ACC내용을 비트 AND논리 동작을 취하여 ACC에 저장 MAR ← MAR(ADDr) 유효번지를 전송 MBR ← M(MAR) 메모리 내용을 읽는다 AC ← AC AND MBR AND 연산을 수행 ㄴ. ADD : 메모리 내용과 AC 내용을 더한다. (AC와 MBR 더하고 AC 저장) MAR ← MBR(ADDr) MBR ← M(MAR) AC ← AC + MBR ADD 연산을 수행 ㄷ. LDA 명령 MAR ← MBR(ADDr) MBR ← M(MAR), AC ← 0 메모리에 있는 내용을 읽고 AC를 Clear AC ← AC + MBR MBR에서 AC로 load한다. ㄹ. STA : AC의 데이터를 메모리에 저장하는 명령 MAR ← MBR(ADDr) MBR ← AC M ← MBR ㅁ. BUN(Branch unconditionally) : 프로그램의 흐름을 유효번지로 옮기는 명령 PC ← MBR(ADDr) ㅂ. BSA(Branch and Save return address) 서부루틴 프로그램으로 분기하기 위하여 사용되는 명령 BSA 기능 : 서브루틴 콜(call) BUN 기능 : 서브루틴 리턴(return) MAR ← MBR(ADDr), MBR(Addr) ← PC, PC MBR(Addr) M ← MBR PC ← PC + 1 ㅅ. ISZ 명령 (Increment and Skip-if-zero) 번지 변경, 프로그램 루프 수행 횟수 계산 지정된 워드 내용 1증가 후 그 결과가 0이면 다음 명령을 스킵 아니면 다음 명령 실행 MAR ← MBR(ADDr) MBR ← M MBR ← MBR + 1 M ← MBR, if (MBR=0) then (PC ← PC + 1)