전자계산기구조전자계산기조직응용기사(통합변경) · 2013년08월18일 · 47/100
47.다음은 0-주소 명령어 방식으로 이루어진 프로그램이다. 레지스터 X의 내용은? (단, 레지스터 A = 1, B = 2, C = 3, D = 3, E = 2이며, ADD는 덧셈 명령어, MUL은 곱셈 명령어이다.)

1
15
2
20
3
25정답
4
30
해설
PUSH A 스택: [1] PUSH B 스택: [1, 2] PUSH C 스택: [1, 2, 3] ADD C와 B를 더하여 결과를 스택에 푸시 연산: 3 + 2 = 5 스택: [1, 5] PUSH D 스택: [1, 5, 3] PUSH E 스택: [1, 5, 3, 2] ADD E와 D를 더하여 결과를 스택에 푸시 연산: 2 + 3 = 5 스택: [1, 5, 5] MUL 스택의 상위 두 값을 곱하여 결과를 푸시 연산: 5 * 5 = 25 스택: [1, 25] POP X 스택의 최상위 값을 X에 저장 연산: X = 25 스택: [1] 따라서 정답은 25