| version 1.2, 2003/12/16 04:58:00 | version 1.7, 2004/01/07 12:51:29 | 
| 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 308  $label  sub  r1, $s, #1 | Line 308  $label  sub  r1, $s, #1 | 
 |  |  | 
 |  |  | 
 | MACRO | 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  REGPUSH $r, $clk | 
 | $label          CPUWORK $clk | $label          CPUWORK $clk | 
 | ldrh    r0, [r9, #CPU_SP] | ldrh    r0, [r9, #CPU_SP] | 
| Line 318  $label  CPUWORK $clk | Line 417  $label  CPUWORK $clk | 
 | strh    r0, [r9, #CPU_SP] | strh    r0, [r9, #CPU_SP] | 
 | add             r0, r2, r3 lsr #16 | add             r0, r2, r3 lsr #16 | 
 | mov             lr, r11 | mov             lr, r11 | 
| b               i286_memorywrite_w | b               i286a_memorywrite_w | 
 | MEND | MEND | 
 |  |  | 
 | MACRO | MACRO | 
 | $label  POP             $clk | $label  POP             $clk | 
| $label          CPUWORK $clk | $label          ldrh    r1, [r9, #CPU_SP] | 
| ldrh    r1, [r9, #CPU_SP] |  | 
 | ldr             r0, [r9, #CPU_SS_BASE] | ldr             r0, [r9, #CPU_SS_BASE] | 
 |  | CPUWORK $clk | 
 |  | add             r2, r1, #2 | 
 | add             r0, r1, r0 | add             r0, r1, r0 | 
| add             r1, r1, #2 | strh    r2, [r9, #CPU_SP] | 
| strh    r1, [r9, #CPU_SP] | bl              i286a_memoryread_w | 
| bl              i286_memoryread_w |  | 
 | MEND | MEND | 
 |  |  | 
 | MACRO | MACRO |