Diff for /np2/i286a/i286aalu.inc between versions 1.1 and 1.6

version 1.1, 2003/12/15 20:58:12 version 1.6, 2003/12/26 00:11:51
Line 11  $label  mov  r1, $s lsl #24 Line 11  $label  mov  r1, $s lsl #24
                         eor             r12, r12, $d                          eor             r12, r12, $d
                         addcs   r2, r2, #C_FLAG                          addcs   r2, r2, #C_FLAG
                         and             r12, r12, #A_FLAG                          and             r12, r12, #A_FLAG
                         orr             r3, r2, r12                          orr             r2, r2, r12
                         bic             r8, r8, #&ff                          bic             r8, r8, #&ff
                         add             r8, r3, r8                          add             r8, r8, r2
         MEND          MEND
   
         MACRO          MACRO
Line 85  $label  mov  r1, $d lsl #24 Line 85  $label  mov  r1, $d lsl #24
                         eor             r12, r12, $d                          eor             r12, r12, $d
                         addcc   r2, r2, #C_FLAG                          addcc   r2, r2, #C_FLAG
                         and             r12, r12, #A_FLAG                          and             r12, r12, #A_FLAG
                         orr             r3, r2, r12                          orr             r2, r2, r12
                         bic             r8, r8, #&ff                          bic             r8, r8, #&ff
                         add             r8, r3, r8                          add             r8, r8, r2
         MEND          MEND
   
         MACRO          MACRO
Line 107  $label  mov  r1, $s lsl #16 Line 107  $label  mov  r1, $s lsl #16
                         mov             r1, r1 lsr #16                          mov             r1, r1 lsr #16
                         bicvc   r8, r8, #O_FLAG                          bicvc   r8, r8, #O_FLAG
                         and             r3, r1, #&ff                          and             r3, r1, #&ff
                         eor             r12, r1, $s                          eor             r12, r1, $d
                         ldrb    r2, [r10, r3]                          ldrb    r2, [r10, r3]
                         eor             r12, r12, $d                          eor             r12, r12, $s
                         and             r2, r2, #P_FLAG                          and             r2, r2, #P_FLAG
                         addcs   r2, r2, #C_FLAG                          addcs   r2, r2, #C_FLAG
                         addeq   r2, r2, #Z_FLAG                          addeq   r2, r2, #Z_FLAG
Line 207  $label  mov  r1, $d lsl #16 Line 207  $label  mov  r1, $d lsl #16
                         mov             r1, r1 lsr #16                          mov             r1, r1 lsr #16
                         bicvc   r8, r8, #O_FLAG                          bicvc   r8, r8, #O_FLAG
                         and             r3, r1, #&ff                          and             r3, r1, #&ff
                         eor             r12, r1, $s                          eor             r12, r1, $d
                         ldrb    r2, [r10, r3]                          ldrb    r2, [r10, r3]
                         eor             r12, r12, $d                          eor             r12, r12, $s
                         and             r2, r2, #P_FLAG                          and             r2, r2, #P_FLAG
                         addcc   r2, r2, #C_FLAG                          addcc   r2, r2, #C_FLAG
                         addeq   r2, r2, #Z_FLAG                          addeq   r2, r2, #Z_FLAG
Line 298  $label  sub  r1, $s, #1 Line 298  $label  sub  r1, $s, #1
                         tst             r2, #&8000                          tst             r2, #&8000
                         orrne   r8, r8, #O_FLAG                          orrne   r8, r8, #O_FLAG
                         ldrb    r2, [r10, r3]                          ldrb    r2, [r10, r3]
                         movs    r3, r1, lsl #16                          movs    r3, r1 lsl #16
                         orreq   r12, r12, #Z_FLAG                          orreq   r12, r12, #Z_FLAG
                         orrmi   r12, r12, #S_FLAG                          orrmi   r12, r12, #S_FLAG
                         and             r2, r2, #P_FLAG                          and             r2, r2, #P_FLAG
Line 306  $label  sub  r1, $s, #1 Line 306  $label  sub  r1, $s, #1
                         orr             r8, r8, r2                          orr             r8, r8, r2
         MEND          MEND
   
   
           MACRO
   $label  NOT8    $s
   $label          mvn             r1, $s
           MEND
   
           MACRO
   $label  NOT16   $s
   $label          mvn             r1, $s
           MEND
   
   
           MACRO
   $label  NEG8    $s
   $label          rsb             r1, $s, #0
                           bic             r8, r8, #O_FLAG
                           and             r12, r1, $s
                           eor             r2, r1, $s
                           bic             r8, r8, #&ff
                           and             r12, r12, #&80
                           and             r2, r2, #A_FLAG
                           orr             r8, r8, r12 lsl #4
                           mov             r12, r1 lsl #(32 - 9)
                           orr             r8, r8, r2
                           ldrb    r2, [r10, r12 lsr #(32 - 9)]
                           orr             r8, r2, r8
           MEND
   
           MACRO
   $label  NEG16   $s
   $label          bic             r8, r8, #&ff
                           rsbs    r1, $s, #0
                           addmi   r8, r8, #C_FLAG
                           and             r12, r1, $s
                           bic             r8, r8, #O_FLAG
                           eor             r2, r1, $s
                           and             r12, r12, #&8000
                           and             r2, r2, #A_FLAG
                           orr             r8, r8, r12 lsr #4
                           and             r12, r1, #&ff
                           orr             r8, r8, r2
                           ldrb    r2, [r10, r12]
                           and             r2, r2, #P_FLAG
                           orr             r8, r2, r8
                           movs    r12, r1, lsl #16
                           orreq   r8, r8, #Z_FLAG
                           orrmi   r8, r8, #S_FLAG
           MEND
   
   
           MACRO
   $label  MUL8    $d, $s
                           mul             r1, $d, $s
                           movs    r12, r1 lsr #8
                           biceq   r8, r8, #O_FLAG
                           biceq   r8, r8, #C_FLAG
                           orrne   r8, r8, #O_FLAG
                           orrne   r8, r8, #C_FLAG
           MEND
   
           MACRO
   $label  MUL16   $d, $s
                           mul             r1, $d, $s
                           movs    r12, r1 lsr #16
                           biceq   r8, r8, #O_FLAG
                           biceq   r8, r8, #C_FLAG
                           orrne   r8, r8, #O_FLAG
                           orrne   r8, r8, #C_FLAG
           MEND
   
           MACRO
   $label  IMUL8   $d, $s
                           mov             r1, $d lsl #24
                           mov             r12, $s lsl #24
                           mov             r1, r1 asr #24
                           mov             r12, r12 asr #24
                           mul             r1, r12, r1
                           add             r12, r1, #&80
                           movs    r12, r12 lsr #8
                           biceq   r8, r8, #O_FLAG
                           biceq   r8, r8, #C_FLAG
                           orrne   r8, r8, #O_FLAG
                           orrne   r8, r8, #C_FLAG
           MEND
   
           MACRO
   $label  IMUL16  $d, $s
                           mov             r1, $d lsl #16
                           mov             r12, $s lsl #16
                           mov             r1, r1 asr #16
                           mov             r12, r12 asr #16
                           mul             r1, r12, r1
                           add             r12, r1, #&8000
                           movs    r12, r12 lsr #16
                           biceq   r8, r8, #O_FLAG
                           biceq   r8, r8, #C_FLAG
                           orrne   r8, r8, #O_FLAG
                           orrne   r8, r8, #C_FLAG
           MEND
   
           MACRO
   $label  REGPUSH $r, $clk
   $label          CPUWORK $clk
                           ldrh    r0, [r9, #CPU_SP]
                           ldrh    r1, [r9, $r]
                           ldr             r2, [r9, #CPU_SS_BASE]
                           sub             r0, r0, #2
                           mov             r3, r0 lsl #16
                           strh    r0, [r9, #CPU_SP]
                           add             r0, r2, r3 lsr #16
                           mov             lr, r11
                           b               i286a_memorywrite_w
           MEND
   
           MACRO
   $label  POP             $clk
   $label          CPUWORK $clk
                           ldrh    r1, [r9, #CPU_SP]
                           ldr             r0, [r9, #CPU_SS_BASE]
                           add             r0, r1, r0
                           add             r1, r1, #2
                           strh    r1, [r9, #CPU_SP]
                           bl              i286a_memoryread_w
           MEND
   
           MACRO
   $label  REGPOP  $r, $clk
   $label          POP             $clk
                           strh    r0, [r9, $r]
                           mov             pc, r11
           MEND
   
         END          END
   

Removed from v.1.1  
changed lines
  Added in v.1.6


RetroPC.NET-CVS <cvs@retropc.net>