Annotation of 43BSDReno/pgrm/lisp/franz/68k/ediv.s, revision 1.1.1.1

1.1       root        1: | /* Copyright (c) 1982, Regents, University of California */
                      2:        .text
                      3:        .globl  _ediv
                      4: _ediv:
                      5:        link    a6,#-.F1
                      6:        tstb    sp@(-132)
                      7:        moveml  #.S1,a6@(-.F1)
                      8:        movl    a6@(8),a5
                      9:        movl    a5@,d7
                     10:        movl    a5@(4),d6
                     11:        moveq   #0,d5
                     12:        moveq   #0,d4
                     13:        movl    a6@(0xc),d3
                     14:        clrb    a6@(0xfffffffd)
                     15:        clrb    a6@(0xfffffffb)
                     16:        movl    d7,a6@(0xfffffff4)
                     17:        jge     .L13
                     18:        eorb    #1,a6@(0xfffffffd)
                     19:        negl    d6
                     20:        negxl   d7
                     21: .L13:
                     22:        tstl    d3
                     23:        jge     .L16
                     24:        eorb    #1,a6@(0xfffffffd)
                     25:        negl    d3
                     26: .L16:
                     27:        tstl    d3
                     28:        jne     .L17
                     29:        clrl    a5@
                     30:        movl    a6@(0x10),a0
                     31:        movb    #1,a0@
                     32:        movl    d6,d0
                     33:        jra     .L12
                     34: .L17:
                     35:        movw    #0x20,a6@(0xfffffffe)
                     36:        jra     .L20
                     37: .L20001:
                     38:        lsll    #1,d3
                     39:        addqw   #1,a6@(0xfffffffe)
                     40:        addql   #1,d5
                     41: .L20:
                     42:        cmpl    #0x40000000,d3
                     43:        jcs     .L20001
                     44:        cmpl    d3,d7
                     45:        jcs     .L24
                     46:        subl    d3,d7
                     47:        addql   #1,d4
                     48:        jra     .L24
                     49: .L20003:
                     50:        lsll    #1,d6
                     51:        roxll   #1,d7
                     52:        asll    #1,d4
                     53:        cmpl    d3,d7
                     54:        jcs     .L26
                     55:        subl    d3,d7
                     56:        addql   #1,d4
                     57: .L26:
                     58:        tstl    d4
                     59:        jge     .L22
                     60:        movl    a6@(0x10),a0
                     61:        movb    #1,a0@
                     62: .L22:
                     63:        subqw   #1,a6@(0xfffffffe)
                     64: .L24:
                     65:        tstw    a6@(0xfffffffe)
                     66:        jne     .L20003
                     67:        lsrl    d5,d7
                     68:        tstl    a6@(0xfffffff4)
                     69:        jge     .L28
                     70:        negl    d7
                     71: .L28:
                     72:        movl    d7,a5@
                     73:        andl    #0x7fffffff,d4
                     74:        tstb    a6@(0xfffffffd)
                     75:        jeq     .L29
                     76:        negl    d4
                     77: .L29:
                     78:        movl    d4,d0
                     79: .L12:
                     80:        moveml  a6@(-.F1),#0x20f8
                     81:        unlk    a6
                     82:        rts
                     83: .F1 = 36
                     84: .S1 = 0x20f8
                     85: | end
                     86:        .data

unix.superglobalmegacorp.com

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