|
|
1.1 root 1: .file "rover.s"
2:
3: .globl ckadd
4: .globl cksub
5: .globl ckmul
6:
7: .text
8: .align 1
9: ckadd: save &0
10: addw3 4(%ap),0(%ap),%r0 # Perform addition
11: jvs oflow # Branch if overflow
12: ret &0 # Return result in r0
13:
14: .align 4
15: cksub: save &0
16: subw3 4(%ap),0(%ap),%r0 # Perform subtraction
17: jvs oflow # Branch if overflow
18: ret &0 # Return result in r0
19:
20: .align 4
21: ckmul: save &0
22: mulw3 4(%ap),0(%ap),%r0 # Perform multiplication
23: jvs oflow # Branch if overflow
24: ret &0 # Return result in r0
25:
26: oflow: # Got overflow on an operation
27: pushw &203
28: pushw &0
29: call &2,runerr # runerr(203,0)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.