카테고리 없음
인터럽트 사이클의 마이크로 연산
chelss25
2022. 8. 20. 12:13
t0 : MBR ß PC
t1 : MAR ß SP, PC ß ISR의 시작 주소
t2 : M[MAR] ß MBR
단, SP는 스택 포인터(stack pointer).
[첫번째 주기] PC의 내용을 MBR로 전송
[두번째 주기] SP의 내용을 MAR로 전송하고,
PC의 내용은 인터럽트 서비스 루틴의 시작 주소로 변경
[세번째 주기] MBR에 저장되어 있던 원래 PC의 내용을 스택에 저장
인터럽트 사이클의 마이크로 연산 [예]
q아래 프로그램의 첫 번째 명령어인 LOAD 250 명령어가 실행되는 동안에 인터럽트가 들어왔으며, 현재 SP = 999이고, 인터럽트 서비스 루틴의 시작 주소는 650 번지라고 가정
§
100 LOAD 250
101 ADD 251
102 STA 251
103 JUMP 170