1: / fp2 -- floating point simulation
   2: 
   3: i.ldx:
   4:         mov     (r3)+,(r2)+
   5:         mov     (r3)+,(r2)+
   6:         bit     $m.ext,fpsr
   7:         beq     1f
   8:         mov     (r3)+,(r2)+
   9:         mov     (r3)+,(r2)+
  10:         rts     pc
  11: 1:
  12:         clr     (r2)+
  13:         clr     (r2)+
  14:         rts     pc
  15: 
  16: i.stx:
  17:         mov     (r2)+,(r3)+
  18:         mov     (r2)+,(r3)+
  19:         bit     $m.ext,fpsr
  20:         beq     1f
  21:         mov     (r2)+,(r3)+
  22:         mov     (r2)+,(r3)+
  23: 1:
  24:         rts     pc
  25: 
  26: i.clrx:
  27:         clr     (r3)+
  28:         clr     (r3)+
  29:         bit     $m.ext,fpsr
  30:         beq     1f
  31:         clr     (r3)+
  32:         clr     (r3)+
  33: 1:
  34:         rts     pc
  35: 
  36: i.negx:
  37:         tst     (r3)
  38:         beq     1f
  39:         add     $100000,(r3)
  40: 1:
  41:         rts     pc
  42: 
  43: i.absx:
  44:         bic     $!77777,(r3)
  45:         rts     pc
  46: 
  47: i.tstx:
  48:         rts     pc
  49: 
  50: i.cmpx:
  51:         mov     $areg,r5
  52:         tst     (r2)
  53:         bge     1f
  54:         tst     (r3)
  55:         bge     1f
  56:         cmp     (r2),(r3)
  57:         bgt     4f
  58:         blt     3f
  59: 1:
  60:         cmp     (r2)+,(r3)+
  61:         bgt     3f
  62:         blt     4f
  63:         cmp     (r2)+,(r3)+
  64:         bne     1f
  65:         bit     $m.ext,fpsr
  66:         beq     2f
  67:         cmp     (r2)+,(r3)+
  68:         bne     1f
  69:         cmp     (r2)+,(r3)+
  70:         beq     2f
  71: 1:
  72:         bhi     3f
  73: 4:
  74:         mov     $1,(r5)
  75:         rts     pc
  76: 3:
  77:         mov     $-1,(r5)
  78:         rts     pc
  79: 2:
  80:         clr     (r5)
  81:         rts     pc
  82: 
  83: i.ldcyx:
  84:         mov     (r3)+,(r2)+
  85:         mov     (r3)+,(r2)+
  86:         bit     $m.ext,fpsr
  87:         bne     1f
  88:         mov     (r3)+,(r2)+
  89:         mov     (r3)+,(r2)+
  90:         rts     pc
  91: 1:
  92:         clr     (r2)+
  93:         clr     (r2)+
  94:         rts     pc
  95: 
  96: i.stcxy:
  97:         mov     (r2)+,(r3)+
  98:         mov     (r2)+,(r3)+
  99:         bit     $m.ext,fpsr
 100:         bne     1f
 101:         clr     (r3)+
 102:         clr     (r3)+
 103: 1:
 104:         rts     pc
 105: 
 106: i.ldcjx:
 107:         mov     $asign,r0
 108:         mov     $1,(r0)+
 109:         mov     (r3)+,(r0)+
 110:         bit     $m.lngi,fpsr
 111:         beq     1f
 112:         mov     (r3)+,(r0)+
 113:         clr     (r0)+
 114:         clr     (r0)+
 115:         mov     $32.-8,(r0)+
 116:         jmp     saret
 117: 1:
 118:         clr     (r0)+
 119:         clr     (r0)+
 120:         clr     (r0)+
 121:         mov     $16.-8,(r0)
 122:         jmp     saret
 123: 
 124: i.stcxj:
 125:         mov     r3,r5
 126:         mov     $asign,r0
 127:         jsr     pc,seta
 128:         mov     $areg,r0
 129:         mov     (r0)+,r1
 130:         mov     (r0)+,r2
 131:         mov     (r0)+,r3
 132:         mov     aexp,r0
 133: 1:
 134:         cmp     r0,$48.-8
 135:         bge     1f
 136:         clc
 137:         ror     r1
 138:         ror     r2
 139:         ror     r3
 140:         inc     r0
 141:         br      1b
 142: 1:
 143:         bgt     xoflo
 144:         tst     r1
 145:         bne     xoflo
 146: 1:
 147:         bit     $m.lngi,fpsr
 148:         beq     1f
 149:         tst     asign
 150:         bge     2f
 151:         neg     r3
 152:         adc     r2
 153:         bcs     2f
 154:         neg     r2
 155: 2:
 156:         mov     r2,(r5)
 157:         mov     r3,2(r5)
 158:         rts     pc
 159: 1:
 160:         tst     r2
 161:         bne     xoflo
 162:         tst     asign
 163:         bge     2f
 164:         neg     r3
 165: 2:
 166:         mov     r3,(r5)
 167:         rts     pc
 168: 
 169: xoflo:
 170:         bis     $1,fpsr                 / set fixed overflow (carry)
 171:         jmp     ret
 172: 
 173: i.ldexp:
 174:         mov     $asign,r0
 175:         jsr     pc,seta
 176:         mov     (r3),aexp
 177:         jsr     pc,reta
 178:         jmp     sret
 179: 
 180: i.stexp:
 181:         mov     $asign,r0
 182:         jsr     pc,seta
 183:         mov     aexp,(r3)
 184:         mov     r3,r5
 185:         jmp     sret
 186: 
 187: i.ldfps:
 188:         mov     (r3),fpsr
 189:         jmp     ret
 190: 
 191: i.stfps:
 192:         mov     fpsr,(r3)
 193:         jmp     ret

Defined functions

i.absx defined in line 43; never used
i.clrx defined in line 26; never used
i.cmpx defined in line 50; never used
i.ldcjx defined in line 106; never used
i.ldcyx defined in line 83; never used
i.ldexp defined in line 173; never used
i.ldfps defined in line 187; never used
i.ldx defined in line 3; never used
i.negx defined in line 36; never used
i.stcxj defined in line 124; never used
i.stcxy defined in line 96; never used
i.stexp defined in line 180; never used
i.stfps defined in line 191; never used
i.stx defined in line 16; never used
i.tstx defined in line 47; never used
xoflo defined in line 169; used 3 times
Last modified: 1981-07-10
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 452
Valid CSS Valid XHTML 1.0 Strict