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

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