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

1.1       root        1:        file "arith.s"
                      2: 
                      3:        global  runerr
                      4:        global  ckadd
                      5:        global  cksub
                      6:        global  ckmul
                      7: 
                      8:  text
                      9:  even
                     10: ckadd:
                     11:         link    %a6,&0
                     12:         mov.l   8(%a6),%d0      # Perform addition
                     13:         add.l   12(%a6),%d0     #  " " "
                     14:         #jvs     oflow           # Branch if overflow
                     15:        trapv                   # This trap untested!!
                     16:         unlk    %a6
                     17:         rts                     # Return result in d0
                     18: 
                     19:  even
                     20: cksub:
                     21:         link    %a6,&0
                     22:         mov.l   8(%a6),%d0      # Perform subtraction
                     23:         sub.l   12(%a6),%d0     #  " " "
                     24:         #jvs     oflow           # Branch if overflow
                     25:        trapv
                     26:         unlk    %a6
                     27:         rts                     # Return result in d0
                     28: 
                     29:  even
                     30: ckmul:
                     31:         link    %a6,&0
                     32:         mov.l   8(%a6),%d0     # Perform multiplication
                     33:         muls.w  12(%a6),%d0    #  " " "
                     34:        trapv
                     35:         #jvs     oflow           # Branch if overflow
                     36:         unlk    %a6
                     37:         rts                    # Return result in d0
                     38: 
                     39: oflow:                         # Got overflow on an operation
                     40:         pea     0
                     41:         pea     203
                     42:         jsr    runerr          # runerr(203,0)

unix.superglobalmegacorp.com

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