Annotation of researchv10dc/cmd/icon/setup/ridge/rover.s, revision 1.1.1.1

1.1       root        1:         dsect data
                      2:         csect code
                      3:         align 2
                      4:        global  _runerr
                      5:        global  _ckadd
                      6:        global  _cksub
                      7:        global  _ckmul
                      8: 
                      9: 
                     10: _ckadd: 
                     11:         load    r0,r14,24       ; r0 gets first argument
                     12:         load    r1,r14,32       ; r1 gets second argument
                     13:         add     r0,r1           ; Perform addition
                     14: ;br     oflow,L         ; Branch if overflow
                     15:         ret     r11,r11         ; Return result in r0
                     16: 
                     17:         dsect data
                     18:         csect code
                     19:         align   2
                     20: _cksub:
                     21:         load    r0,r14,24       ; r0 gets first argument
                     22:         load    r1,r14,32       ; r1 gets second argument
                     23:         sub     r0,r1           ; Perform subtraction
                     24: ;br     oflow,L         ; Branch if overflow
                     25:         ret     r11,r11         ; Return result in r0
                     26:         
                     27:         dsect data
                     28:         csect code
                     29:         align   2
                     30: _ckmul:
                     31:         load    r0,r14,24       ; r0 gets first argument
                     32:         load    r1,r14,32       ; r1 gets second argument
                     33:         mpy     r0,r1           ; Perform multiplication
                     34: ;br     oflow           ; Branch if overflow
                     35:         ret     r11,r11         ; Return result in r0
                     36: 
                     37: oflow:                          ; Got overflow on an operation
                     38:         laddr   r14,r14,-40
                     39:         movei   r0,0
                     40:         store   r0,r14,32
                     41:         laddr   r0,23
                     42:         store   r0,r14,24
                     43:         call    r11,_runerr,L   ; runerr(203,0)
                     44: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.