Annotation of cci/d/event/raddr_evt.s, revision 1.1.1.2

1.1       root        1:  #
                      2:  #     *reserved addressing modes event test
                      3:  #
                      4:  #     R6 = PC that failed
                      5:  #     R0 = error code
                      6:  #          1 - expected reserved addr mode fault didnot happen
                      7:  #              R1,R2 = opcodes of instruction should cause fault
                      8:  #          2 - Error in PC pushed on the stack
                      9:  #              R1 = actual,  R2 = expected
                     10:  #          3 - Error in PSL pushed on the stack
                     11:  #              R1 = actual,  R2 = expected
                     12:  #          4 - Too many parameters pushed on the stack
                     13:  #
                     14: 
                     15:        .globl  _raddr_evt
                     16: _raddr_evt:
                     17:        .word   0x1fff
                     18:        mtpr    $31,$IPL                /* Set IPL to HIGH              */
                     19:        clrl    _Icnt
                     20:        movab   (sp),_savvec0           /* Save currnet SP              */
                     21:        mtpr    _savvec0,$ISP           /* Set ISP = current SP         */
                     22:        movl    _scb+RAVEC,_savvec2     /* Save reserved addr. mode vector */
                     23:        movab   radrmd,_scb+RAVEC       /* Set new vector               */
                     24:        movl    $-1,-(sp)               /* Push marker on stack         */
                     25:        movab   _pcb0,r1                /* Init PCBB                    */
                     26:        mtpr    r1,$PCBB
1.1.1.2 ! root       27:        mfpr    $KSP,_savvec9           /* Save kernal stack pointer    */
        !            28:        mfpr    $USP,_savveca           /* Save user stack pointer      */
1.1       root       29:        movab   resadr,r6               /* R6 = PC that failed */
                     30:        movab   table,r8                /* R8 = addr of object table    */      
                     31: trynext:
                     32:        movl    (r8),resadr
                     33:        addl2   $4,r8
                     34:        movl    (r8),resadr+4
                     35:        mtpr    $0xff,$PACC             /* Purge all code cache         */
                     36:        incl    _Icnt
                     37:        movpsl  r7                      /* R7 = saved PSL               */
                     38:        jmp     resadr
                     39:        .align  2
                     40: resadr:                                        /* This is where inst. with reserved */
                     41:        .byte   0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10
                     42:                                        /* addressing mode is stored and */
                     43:                                        /* executed                     */
                     44:        movl    $1,r0                   /* ERROR : No fault happen ..   */
                     45:        movl    resadr,r1               /* R1+R2 = opcode and operands that */
                     46:        movl    resadr+4,r2             /* should cause fault .         */
                     47:        jmp     *badrtn
                     48: #
                     49: #      ************************************************
                     50: #      Event handler for Reserved addressing mode fault
                     51: #      ************************************************
                     52: #      
                     53:        .align  2       
                     54: radrmd:
                     55:        movl    (sp)+,r1        /* R1 = actual PC pop from stack        */
                     56:        movab   resadr,r2       /* R2 = expected PC                     */
                     57:        cmpl    r1,r2
                     58:        beql    1f
                     59:        movl    $2,r0           /* Error : wrong PC on stack            */
                     60:        jmp     *badrtn         /* R1 = actual; R2 = expected           */
                     61: 
                     62: 1:     movl    (sp)+,r1        /* R1 = actual PSL pop from stack       */
                     63:        andl2   $0xffffffc0,r1  /* Mask out PSW flags                   */
                     64:        andl3   $0xffffffc0,r7,r2       /* R2 = expected PSL            */
                     65:        cmpl    r2,r1
                     66:        beql    1f
                     67:        movl    $3,r0           /* Error : wrong PSL on stack           */
                     68:        jmp     *badrtn         /* R1 = actual; R2 = expected           */
                     69: 1:
                     70:        cmpl    $-1,(sp)        /* SP now should point at the marker    */
                     71:        beql    1f
                     72:        movl    $4,r0           /* Error : Too many parameters pushed on SP */
                     73:        jmp     *badrtn
                     74: 1:
                     75:        addl2   $4,r8           /* Increment table ptr to next lgword   */
                     76:        movl    (r8),r1
                     77:        cmpl    $0xffffffff,r1  /* Is this the last one ?               */
                     78:        beql    1f
                     79:        brw     trynext         /* If not try again ..                  */
                     80: #
                     81: #      All done; return to monitor
                     82: #
                     83: 1:
                     84:        movl    _savvec0,sp     
1.1.1.2 ! root       85:        mtpr    _savvec0,$ISP           /* restore Interrupt stack pointer */
        !            86:        mtpr    _savvec9,$KSP           /* restore kernal stack pointer */
        !            87:        mtpr    _savveca,$USP           /* restore user stack pointer */
1.1       root       88:        movl    _savvec2,_scb+RAVEC     /* Restore reserved addr. mode vector */
                     89:        ret
                     90: #
                     91: #
                     92: #      WARNING: If reserved addressing change, so do the following table
                     93: #
                     94:        .align  2
                     95: table:
                     96: 
                     97:        .byte   0x0d,0x5f,0x51,00,0x10,0x10,0x10,0x10   /* movl r15,r1 */
                     98:        .byte   0x0d,0x51,0x5f,00,0x10,0x10,0x10,0x10   /* movl r1,r15 */
                     99:        .byte   0x0d,0x5e,0x51,00,0x10,0x10,0x10,0x10   /* movl r14,r1 */
                    100:        .byte   0xe9,0x55,0x51,00,0x10,0x10,0x10,0x10   /* movab r5,r1 */
                    101: 
                    102: 
                    103:        .byte   0x0d,0x41,0x52,0x55,00,0x10,0x10,0x10   /* movl r2[r1],r5 */
                    104:        .byte   0x0d,0x41,0x01,0x55,00,0x10,0x10,0x10   /* movl 1[r1],r5  */
                    105:        .byte   0x0d,0x41,0x88,0x70,0x55,00,0x10,0x10  /* movl 0x88[r1],r5*/
                    106:        .byte   0x0d,0x41,0x6e,0x55,00,0x10,0x10,0x10/* movl (r14)[r1],r5*/
                    107:        .byte   0x0d,0x41,0x7e,0x55,00,0x10,0x10,0x10/* movl -(sp)[r1],r5*/
                    108:        .byte   0x0d,0x41,0x8e,0x55,00,0x10,0x10,0x10/* movl (sp)+[r1],r5*/
                    109:        .byte   0x0d,0x41,0xae,0x08,0x55,00,0x10,0x10 /* movl 1(sp)[r1],r5*/
                    110:        .byte   0x0d,0x41,0xce,0x01,0x08,0x55,00,0x10 /* movl 0x101(sp),r5 */
                    111:        
                    112:        /* movl 0x00000108(sp),r5 */
                    113:        .byte   0x0d,0x41,0xee,0x00,0x00,0x01,0x08,0x55
                    114:        
                    115:        .byte   0x5a,0x14,0x51,0x54,00,0x10,0x10,0x10/* shrq $0x14,r1,r4*/
                    116:        .byte   0x4a,0x14,0x50,0x53,00,0x10,0x10,0x10/* shlq $0x14,r0,r3*/
                    117:        .byte   0x0d,0x6f,0x50,00,0x10,0x10,0x10,0x10/* movl (r15),r0   */
                    118:        .byte   0xe9,0x01,0x51,00,0x10,0x10,0x10,0x10/* movab $1,r1     */
                    119:        .byte   0xe9,0x88,0x70,0x51,00,0x10,0x10,0x10/* movab $0x70,r1  */
                    120:        .byte   0x0d,0x51,0x01,00,0x10,0x10,0x10,0x10/* movl r1,$1      */
                    121:        .byte   0x0d,0x51,0x88,0x70,00,0x10,0x10,0x10/* movl r1,$0x70   */
                    122:        .byte   0x0d,0x7e,0x55,00,0x10,0x10,0x10,0x10/* movl -(sp),r5   */
                    123:        .byte   0xe9,0x7e,0x55,00,0x10,0x10,0x10,0x10/* movab -(sp),r5  */
                    124:        .byte   0x0d,0x55,0x8e,00,0x10,0x10,0x10,0x10/* movl r5,(sp)+   */
                    125:        .byte   0xe9,0x8e,0x55,00,0x10,0x10,0x10,0x10/* movab (sp)+,r5  */
                    126:        .byte   0xfe,0x01,0x65,00,0x10,0x10,0x10,0x10/* callf $1,(r5)   */
                    127:        .byte   0xfe,0x88,0x70,0x65,00,0x10,0x10,0x10/* callf $0x70,(r5)*/
                    128:        .byte   0xfe,0x55,0xaf,0x02,00,0x10,0x10,0x10/* callf r5,$02    */
                    129:        .byte   0xfe,0x01,0x41,0xaf,0x01,00,0x10,0x10/* callf $1,$0x1[r1]*/
                    130:        .byte   0x09,0x01,0x7e,00,0x10,0x10,0x10,0x10/* movb $1,-(sp)   */
                    131:        .byte   0x0b,0x01,0x7e,00,0x10,0x10,0x10,0x10/* movw $1,-(sp)   */
                    132:        .byte   0x09,0x8e,0x55,00,0x10,0x10,0x10,0x10/* movb (sp)+,r5   */
                    133:        .byte   0x0b,0x8e,0x55,00,0x10,0x10,0x10,0x10/* movw (sp)+,r5   */
                    134: 
                    135: /*     The following are additions     */
                    136: 
                    137:        .byte   0x71,0x51,0x10,0x10,0x10,0x10,0x10,0x10 /*jmp r1        */
                    138:        .byte   0xf9,0x51,0x10,0x10,0x10,0x10,0x10,0x10 /*pushab r1     */
                    139:        .byte   0xfd,0x51,0x10,0x10,0x10,0x10,0x10,0x10 /*pushal r1     */
                    140:        .byte   0xfb,0x51,0x10,0x10,0x10,0x10,0x10,0x10 /*pushaw r1     */
                    141:        .byte   0xf0,0x51,0x10,0x10,0x10,0x10,0x10,0x10 /*remque r1     */
                    142:        
                    143:        /*      one operand instruction -- immidiate operand    */      
                    144:        
                    145:        .byte   0x49,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*clrb $0xabcdef40*/    
                    146:        .byte   0x4d,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*clrl          */      
                    147:        .byte   0x4b,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*clrw          */      
                    148:        .byte   0x79,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*decb          */      
                    149:        .byte   0x7d,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*decl          */      
                    150:        .byte   0x7b,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*decw          */      
                    151:        .byte   0x69,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*incb          */      
                    152:        .byte   0x6d,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*incl          */      
                    153:        .byte   0x6b,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*incw          */      
                    154:        .byte   0x71,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*jmp           */      
                    155:        .byte   0xf9,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*pushab        */      
                    156:        .byte   0xfd,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*pushal        */      
                    157:        .byte   0xfb,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*pushaw        */      
                    158:        .byte   0xf0,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*remque        */      
                    159:        .byte   0xcd,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*movpsl        */      
                    160:        
                    161:        /*      Two operand instructions -- 2nd operand = immidiate     */
                    162:        
                    163:        .byte   0x8e,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10
                    164:                                                /*adda r1,$0xabcdef40   */      
                    165:        .byte   0x08,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*addb2         */
                    166:        .byte   0x0c,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*addl2         */
                    167:        .byte   0x0a,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*addw2         */
                    168:        .byte   0x8d,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*adwc          */
                    169:        .byte   0xa8,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*andb2         */
                    170:        .byte   0xac,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*andl2         */
                    171:        .byte   0xaa,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*andw2         */
                    172:        .byte   0x89,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*cvtbl         */
                    173:        .byte   0x99,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*cvtbw         */
                    174:        .byte   0x6f,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*cvtlb         */
                    175:        .byte   0x7f,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*cvtlw         */
                    176:        .byte   0x33,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*cvtwb         */
                    177:        .byte   0x23,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*cvtwl         */
                    178:        .byte   0x6c,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*divl2         */
                    179:        .byte   0x6e,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*divl2u        */
                    180:        .byte   0xbe,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*ffc           */
                    181:        .byte   0xae,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*ffs           */
                    182:        .byte   0x29,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*mcomb         */
                    183:        .byte   0x2d,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*mcoml         */
                    184:        .byte   0x2b,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*mcomw         */
                    185: #      .byte   0xbd,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*mfpr          */
                    186:        .byte   0xe8,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*mnegb         */
                    187:        .byte   0xec,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*mnegl         */
                    188:        .byte   0xea,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*mnegw         */
                    189:        .byte   0x68,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*modl2         */
                    190:        .byte   0x6a,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*modl2u        */
                    191:        .byte   0x09,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*movb          */
                    192:        .byte   0x0d,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*movl          */
                    193:        .byte   0x0b,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*movw          */
                    194:        .byte   0xa9,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*movzbl        */
                    195:        .byte   0xb9,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*movzbw        */
                    196:        .byte   0xc3,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*movzwl        */
                    197:        .byte   0x4c,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*mull2         */
                    198:        .byte   0x88,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*orb2          */
                    199:        .byte   0x8c,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*orl2          */
                    200:        .byte   0x8a,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*orw2          */
                    201:        .byte   0x9d,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*sbwc          */
                    202:        .byte   0xbb,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*storer        */
                    203:        .byte   0x9e,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*suba          */
                    204:        .byte   0x28,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*subb2         */
                    205:        .byte   0x2c,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*subl2         */
                    206:        .byte   0x2a,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*subw2         */
                    207:        .byte   0xc8,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*xorb2         */
                    208:        .byte   0xcc,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*xorl2         */
                    209:        .byte   0xca,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*xorw2         */
                    210:        
                    211: #      Three operand instructions -- last oprnd = immediate
                    212:        
                    213:        .byte   0x18,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*addb3 r2,r1,imdiate*/
                    214:        .byte   0x1c,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*addl3         */
                    215:        .byte   0x1a,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*addw3         */
                    216:        .byte   0xb8,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*andb3         */
                    217:        .byte   0xbc,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*andl3         */
                    218:        .byte   0xba,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*andw3         */
                    219:        .byte   0x7c,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*divl3         */
                    220: #
                    221: #      These opcodes are nolonger exist
                    222: #
                    223: #      .byte   0x7e,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40         divl3u
                    224: #      .byte   0x78,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40         modl3
                    225: #      .byte   0x7a,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40         modl3u  
                    226: #
                    227:        .byte   0x5c,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*mull3         */
                    228:        .byte   0x98,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*orb3          */
                    229:        .byte   0x9c,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*orl3          */
                    230:        .byte   0x9a,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*orw3          */
                    231:        .byte   0xc0,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*prober        */
                    232:        .byte   0xd0,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*probew        */
                    233:        .byte   0x48,0x51,0x52,0x8f,0xab,0xcd,0xef,0x40 /*shll          */
                    234:        .byte   0x4a,0x51,0x52,0x8f,0xab,0xcd,0xef,0x40 /*shlq          */
                    235:        .byte   0x58,0x51,0x52,0x8f,0xab,0xcd,0xef,0x40 /*shrl          */
                    236:        .byte   0x5a,0x51,0x52,0x8f,0xab,0xcd,0xef,0x40 /*shrq          */
                    237:        .byte   0x38,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*subb3         */
                    238:        .byte   0x3c,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*subl3         */
                    239:        .byte   0x3a,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*subw3         */
                    240:        .byte   0xd8,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*orb3          */
                    241:        .byte   0xdc,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*orl3          */
                    242:        .byte   0xda,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*orw3          */
                    243:        
                    244:        /*      remaining instructions -- illegal operands      */
                    245:        
                    246:        .byte   0xe0,0x50,0x9f,0x00,0x00,0x00,0x00,0x10
                    247:                                        /*insque r0,*$testloc           */
                    248:        .byte   0xe0,0x10,0x9f,0x00,0x00,0x00,0x00,0x10
                    249:                                        /*insque $0x10,*$testloc        */
                    250:        .byte   0xe0,0x9f,0x00,0x00,0x00,0x00,0x50,0x10
                    251:                                        /*insque *$testloc,r0           */
                    252:        .byte   0xe0,0x9f,0x00,0x00,0x00,0x00,0x10,0x10
                    253:                                        /*insque *$testloc,0x10         */
                    254:        .byte   0x5e,0x50,0x51,0x20,0x53,0x10,0x10,0x10
                    255:                                        /*ediv r0,r1,$0x20,r3           */      
                    256: #      .byte   0x5e,0x50,0x51,0x52,0x20,0x10,0x10,0x10
                    257:                                        /*ediv r0,r1,r2,$0x20           */      
                    258: #      .byte   0x4e,0x50,0x51,0x52,0x20,0x10,0x10,0x10
                    259:                                        /*emul r0,r1,r2,$0x20           */      
                    260:        .byte   0xe9,0x50,0x9f,0x00,0x00,0x00,0x00,0x10
                    261:                                        /*movab r0,*$testloc            */
                    262:        .byte   0xed,0x50,0x9f,0x00,0x00,0x00,0x00,0x10
                    263:                                        /*moval r0,*$testloc            */
                    264:        .byte   0xeb,0x50,0x9f,0x00,0x00,0x00,0x00,0x10
                    265:                                        /*movaw r0,*$testloc            */
                    266:        .byte   0xe9,0x10,0x9f,0x00,0x00,0x00,0x00,0x10
                    267:                                        /*movab $0x10,*$testloc         */
                    268:        .byte   0xed,0x10,0x9f,0x00,0x00,0x00,0x00,0x10
                    269:                                        /*moval $0x10,*$testloc         */
                    270:        .byte   0xeb,0x10,0x9f,0x00,0x00,0x00,0x00,0x10
                    271:                                        /*movaw $0x10,*$testloc         */
                    272:        .byte   0xe9,0x9f,0x00,0x00,0x00,0x00,0x20,0x10
                    273:                                        /*movab *$testloc,$0x20         */
                    274:        .byte   0xed,0x9f,0x00,0x00,0x00,0x00,0x20,0x10
                    275:                                        /*moval *$testloc,$0x20         */
                    276:        .byte   0xeb,0x9f,0x00,0x00,0x00,0x00,0x20,0x10
                    277:                                        /*movaw *$testloc,$0x20         */
                    278:        .byte   0x3f,0x51,0x20,0x11,0x10,0x10,0x10,0x10
                    279:                                        /*aobleq r1,$0x20,$0x11         */
                    280:        .byte   0x2f,0x51,0x20,0x11,0x10,0x10,0x10,0x10
                    281:                                        /*aoblss r1,$0x20,$0x11         */
                    282:        .byte   0x1e,0x51,0x20,0x53,0x10,0x10,0x10,0x10
                    283:                                        /*bbc r1,0x20,0x53              */
                    284:        .byte   0x0e,0x51,0x20,0x53,0x10,0x10,0x10,0x10
                    285:                                        /*bbs r1,0x20,0x53              */
                    286:        .byte   0x5f,0x51,0x20,0x53,0x10,0x10,0x10,0x10
                    287:                                        /*bbssi r1,0x20,0x53            */
                    288:        .byte   0xc0,0x50,0x51,0x52,0x10,0x10,0x10,0x10
                    289:                                        /*prober r0,r1,r2               */      
                    290:        .byte   0xd0,0x50,0x51,0x52,0x10,0x10,0x10,0x10
                    291:                                        /*probew r0,r1,r2               */      
                    292:        .byte   0xbf,0x50,0x52,0x10,0x10,0x10,0x10,0x10
                    293:                                        /*calls r0,r2                   */
                    294:        .byte   0xbf,0x20,0x20,0x10,0x10,0x10,0x10,0x10
                    295:                                        /*calls $0x20,0x20              */
                    296:        
                    297:        /*      callf instruction -- all modes illegal except           */
                    298:        /*      The following :                                         */
                    299:        /*      1st operand = literal or immidiate byte                 */
                    300:        /*      2nd operand = pc relative or absolute                   */
                    301:        /*      callf illegal operand,legal operand                     */      
                    302:        
                    303:        .byte   0xfe,0x50,0x9f,0x00,0x00,0x00,0x01,0x10
                    304:                                        /*callf r0, *$loc               */
                    305:        .byte   0xfe,0x60,0xaf,0x20,0x10,0x10,0x10,0x10
                    306:                                        /*callf (r0),loc                */
                    307:        .byte   0xfe,0xa0,0x20,0xaf,0x20,0x10,0x10,0x10
                    308:        .byte   0xfe,0xc0,0x00,0x20,0xaf,0x20,0x10,0x10
                    309:        .byte   0xfe,0xe0,0x00,0x00,0x00,0x20,0xaf,0x20
                    310:        .byte   0xfe,0xb0,0x20,0xaf,0x20,0x10,0x10,0x10
                    311:        .byte   0xfe,0xd0,0x00,0x20,0xaf,0x20,0x10,0x10
                    312:        .byte   0xfe,0xf0,0x00,0x00,0x00,0x20,0xaf,0x20
                    313: #      .byte   0xfe,0x89,0x00,0x20,0xaf,0x20,0x10,0x10
                    314: #      .byte   0xfe,0x8f,0x00,0x00,0x00,0x20,0xaf,0x20
                    315:        .byte   0xfe,0xbf,0x20,0xaf,0x20,0x10,0x10,0x10
                    316:        .byte   0xfe,0xdf,0x00,0x20,0xaf,0x20,0x10,0x10
                    317:        .byte   0xfe,0xff,0x00,0x00,0x00,0x20,0xaf,0x20
                    318:        .byte   0xfe,0xaf,0x20,0xaf,0x20,0x10,0x10,0x10
                    319:        .byte   0xfe,0xcf,0x00,0x20,0xaf,0x20,0x10,0x10
                    320:        .byte   0xfe,0xef,0x00,0x00,0x00,0x20,0xaf,0x20
                    321:        .byte   0xfe,0x7e,0xaf,0x20,0x10,0x10,0x10,0x10
                    322:        .byte   0xfe,0x8e,0xaf,0x20,0x10,0x10,0x10,0x10
                    323:        .byte   0xfe,0x9e,0xaf,0x20,0x10,0x10,0x10,0x10
                    324:        .byte   0xfe,0x9f,0x00,0x00,0x00,0x20,0xaf,0x20
                    325:        .byte   0xfe,0x41,0xaf,0x01,0xaf,0x20,0x10,0x10
                    326: 
                    327:        /*      callf legal operand,illegal operand     */      
                    328:        
                    329:        .byte   0xfe,0x10,0x50,0x10,0x10,0x10,0x10,0x10
                    330:                                        /*callf $0x10,r0                */
                    331:        .byte   0xfe,0x10,0x60,0x10,0x10,0x10,0x10,0x10
                    332:                                        /*callf $0x10,(r0)              */
                    333:        .byte   0xfe,0x10,0xa0,0x20,0x10,0x10,0x10,0x10
                    334:        .byte   0xfe,0x10,0xc0,0x00,0x20,0x10,0x10,0x10
                    335:        .byte   0xfe,0x10,0xe0,0x00,0x00,0x00,0x20,0x10
                    336:        .byte   0xfe,0x10,0xb0,0x20,0x10,0x10,0x10,0x10
                    337:        .byte   0xfe,0x10,0xd0,0x00,0x20,0x10,0x10,0x10
                    338:        .byte   0xfe,0x10,0xf0,0x00,0x00,0x00,0x20,0x10
                    339:        .byte   0xfe,0x10,0x89,0x00,0x20,0x10,0x10,0x10
                    340:        .byte   0xfe,0x10,0x8f,0x00,0x00,0x00,0x20,0x10
                    341:        .byte   0xfe,0x10,0xbf,0x20,0x10,0x10,0x10,0x10
                    342:        .byte   0xfe,0x10,0xdf,0x00,0x20,0x10,0x10,0x10
                    343:        .byte   0xfe,0x10,0xff,0x00,0x00,0x00,0x20,0x10
                    344:        .byte   0xfe,0x10,0x20,0x10,0x10,0x10,0x10,0x10
                    345:        .byte   0xfe,0x10,0x88,0x20,0x10,0x10,0x10,0x10
                    346:        .byte   0xfe,0x10,0x7e,0x10,0x10,0x10,0x10,0x10
                    347:        .byte   0xfe,0x10,0x8e,0x10,0x10,0x10,0x10,0x10
                    348:        .byte   0xfe,0x10,0x9e,0x10,0x10,0x10,0x10,0x10
                    349:        .byte   0xfe,0x10,0x41,0xaf,0x01,0x10,0x10,0x10
                    350:        .byte   0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff /*end of table*/
                    351: 
                    352:  #     These are taken out !!
                    353:  #     .byte   0x0d,0x41,0x9e,0x55,00,10,10,10  movl *(sp)+[r1],r5
                    354:  #     .byte   0x09,0x6e,0x55,00,10,10,10,10    movb (sp),r5   
                    355:  #     .byte   0x0b,0x6e,0x55,00,10,10,10,10    movw (sp),r5   
                    356:  #
                    357: 
                    358:        .align  2
                    359: _Icnt: .long   0       /* Which instruction is testing .. */

unix.superglobalmegacorp.com

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