Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1.         cpu     80960
  2.         org     0
  3.  
  4.         fpu     on
  5.         supmode on
  6.  
  7. start:
  8.         flushreg
  9.         fmark
  10.         mark
  11.         ret
  12.         syncf
  13.         faultno
  14.         faultg
  15.         faulte
  16.         faultge
  17.         faultl
  18.         faultne
  19.         faultle
  20.         faulto
  21.  
  22.         addc    r3,r4,r5        ; lokale Register
  23.         addc    g3,g4,g5        ; globale Register
  24.         addc    g3,g5           ; impl. src2=dest
  25.         addc    10,r4,g10       ; src1 immediate
  26.         addc    g2,20,g4        ; src2 immediate
  27.  
  28.         addr    r3,r4,r5        ; Float: normale Register
  29.         addr    fp2,r4,r5       ; Float-Register
  30.         addr    r3,fp1,r5
  31.         addr    r3,r4,fp3
  32.         addr    0,r4,r5         ; Float-Konstanten
  33.         addr    r3,1,r5
  34.  
  35.         addc    sp,fp,rip       ; Sonderregister
  36.  
  37.         addi    r3,r4,r5        ; nur noch mal zum Testen der Opcodes...
  38.         addo    r3,r4,r5       
  39.  
  40.         calls   g2              ; nur ein Operand:
  41.         calls   4
  42.  
  43.         chkbit  7,r5            ; kein Ziel
  44.  
  45.         classr  fp1             ; ein Float-Operand
  46.         classrl g4
  47.  
  48.         cosr    fp1             ; dito mit Ziel
  49.         cosr    g4,fp2
  50.  
  51.         modpc   r3,r4,r5        ; nur im Supervisor-Mode erlaubt
  52.  
  53.         bbc     r4,g5,$+32      ; COBR-Anweisungen
  54.         bbs     10,r10,$+32
  55.         cmpobge 10,r4,$+32
  56.         testne  r5
  57.  
  58.         b       $-32            ; CTRL-Anweisungen
  59.         call    $+32
  60.         bal     $+64
  61.         ble     $-64
  62.  
  63.         bx      (r5)            ; MEMA ohne disp
  64.         bx      2345(r5)        ; MEMA mit disp
  65.         bx      2345            ; MEMA ohne base
  66.         bx      -30(r5)         ; MEMB base+disp
  67.         bx      5000(r5)        ; dito positiv
  68.         bx      $(ip)           ; PC-relativ
  69.         bx      [r4]            ; nur Index
  70.         bx      [r4*1]          ; Scaling
  71.         bx      [r4*2]
  72.         bx      [r4*4]
  73.         bx      [r4*8]
  74.         bx      [r4*16]
  75.         bx      0(r5)[r4]       ; base+index
  76.         bx      12345678h       ; nur disp
  77.         bx      450[r6*4]       ; disp+index
  78.         bx      123(r5)[r6*4]   ; volles Programm
  79.  
  80.         st      r7,123(r5)[r6*4]; mit 2 Ops
  81.         ld      123(r5)[r6*4],r7
  82.  
  83.         db      1
  84.         align   4
  85.         db      1,2
  86.         align   4
  87.         db      1,2,3
  88.         align   4
  89.         db      1,2,3,4
  90.         dw      1
  91.         align   4
  92.         dw      1,2
  93.         dd      1
  94.         dd      1.0
  95.         dq      1.0
  96.         dt      1.0
  97.         dw      0
  98.  
  99. ; register aliases
  100.  
  101. reg_r0  reg     r0
  102. reg_r1  reg     r1
  103. reg_r2  reg     r2
  104. reg_r3  reg     r3
  105. reg_r4  reg     r4
  106. reg_r5  reg     r5
  107. reg_r6  reg     r6
  108. reg_r7  reg     r7
  109. reg_r8  reg     r8
  110. reg_r9  reg     r9
  111. reg_r10 reg     r10
  112. reg_r11 reg     r11
  113. reg_r12 reg     r12
  114. reg_r13 reg     r13
  115. reg_r14 reg     r14
  116. reg_r15 reg     r15
  117. reg_g0  equ     g0
  118. reg_g1  equ     g1
  119. reg_g2  equ     g2
  120. reg_g3  equ     g3
  121. reg_g4  equ     g4
  122. reg_g5  equ     g5
  123. reg_g6  equ     g6
  124. reg_g7  equ     g7
  125. reg_g8  equ     g8
  126. reg_g9  equ     g9
  127. reg_g10 equ     g10
  128. reg_g11 equ     g11
  129. reg_g12 equ     g12
  130. reg_g13 equ     g13
  131. reg_g14 equ     g14
  132. reg_g15 equ     g15
  133. reg_fp  reg     fp
  134. reg_sp  reg     sp
  135. reg_pfp reg     pfp
  136. reg_rip reg     rip
  137. reg_fp0 equ     fp0
  138. reg_fp1 equ     fp1
  139. reg_fp2 equ     fp2
  140. reg_fp3 equ     fp3
  141.  
  142.         addc    r3,r4,r5
  143.         addc    reg_r3,reg_r4,reg_r5
  144.         addc    g3,g4,g5
  145.         addc    reg_g3,reg_g4,reg_g5
  146.         addc    sp,fp,rip
  147.         addc    reg_sp,reg_fp,reg_rip
  148.         st      r7,123(r5)[r6*4]
  149.         st      reg_r7,123(reg_r5)[reg_r6*4]
  150.         addr    fp2,r4,r5
  151.         addr    reg_fp2,reg_r4,reg_r5
  152.  
  153.         space   32
  154.  
  155.         word    1,2,3,4,5
  156.