|
|
1.1 root 1: .globl _runerr
2: .globl _ckadd
3: .globl _cksub
4: .globl _ckmul
5:
6:
7: .text
8: .even
9: _ckadd:
10: link a6,#0
11: movl a6@(8),d0 | Perform addition
12: addl a6@(12),d0 | " " "
13: jvs oflow | Branch if overflow
14: unlk a6
15: rts | Return result in d0
16:
17: .even
18:
19: _cksub:
20: link a6,#0
21: movl a6@(8),d0 | Perform subtraction
22: subl a6@(12),d0 | " " "
23: jvs oflow | Branch if overflow
24: unlk a6
25: rts | Return result in d0
26:
27: .even
28:
29: _ckmul:
30: link a6,#0
31: movl a6@(8),d0 | Perform multiplication
32: movl a6@(12),d1
33: jsr lmult
34: jvs oflow | Branch if overflow
35: unlk a6
36: rts | Return result in d0
37:
38: oflow: | Got overflow on an operation
39: pea 0
40: pea 203
41: jbsr _runerr | runerr(203,0)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.