Download Print this page

RCA COSMAC User Manual page 56

Hide thumbs Also See for COSMAC:

Advertisement

COSMAC Microprocessor
55
START
~'"
M ADDRESS
M BYTE
OPERATION
COMMENTS
0100
03
3+P
1
GO TO SUBROUTINE
0101
96
RI61.1+D
SAVE LAST RETURN
0102
52
D+MIR1211
POINTER ON DC STACK
0103
22
DECR RI21
0104
86
R 161.O+D
0105
52
D+MIRI211
0106
22
DECR RI21
0107
93
RI31.1+D
}
SAVE NEW RETURN
0108
B6
D'RI61.1
POINTER IN RI61
0109
83
RI31.O+D
010A
A6
D+RI61.0
010B
46
MIR(61)+D; R(6) +J
LOAD SUBROUTINE ADDRESS
010C
B3
D+R(3).1
USING RETURN POINTER
010D
46
MIR(6))+D; R(6) +1
010E
A3
D·R(3).0
}
010F
30
BR
GO TO TOP
0110
00
Fig. 60 - Subroutine call sequence with rep/oaded entry at 0101.
START
~'"'
M ADDRESS
M BYTE
OPERATION
COMMENTS
0200
D3
3+P
RETURN TO ORIGINAL PROGRAM
0201
86
R(6).O+D
}
FETCH ADDRESS OF NEXT
0202
A3
D+R(3).0
INSTRUCTION OF
0203
96
R(6) l+D
ORIGINAL PROGRAM
0204
B3
D~·R
(3). 1
0205
E2
2+X
}
0206
12
INCREMENT R(2)
SET UP STACK POINTER
0207
42
M' "'"
'0 " "
"j
RESTORE LAST
0208
A6
D+R(6).0
RETURN POINTER
0209
FO
MIR(2))+D
020A
86
D+R(6).1
020B
30
BR
}
GO TO TOP
020C
00
Note that after a subroutine return using this mechanism, X equal, 2.
Fig. 61 - Subroutine return sequence with pre/oaded entry at 0201.

Advertisement

loading