|
|
| version 1.6, 2003/12/17 14:04:43 | version 1.7, 2003/12/18 13:21:32 |
|---|---|
| Line 497 push_d16 CPUWORK #3 | Line 497 push_d16 CPUWORK #3 |
| GETPC16 | GETPC16 |
| ldrh r2, [r9, #CPU_SP] | ldrh r2, [r9, #CPU_SP] |
| ldr r3, [r9, #CPU_SS_BASE] | ldr r3, [r9, #CPU_SS_BASE] |
| mov r1, r0 | |
| subs r2, r2, #2 | subs r2, r2, #2 |
| addcc r2, r2, #&10000 | addcc r2, r2, #&10000 |
| mov r1, r0 | |
| strh r2, [r9, #CPU_SP] | strh r2, [r9, #CPU_SP] |
| add r0, r2, r3 | add r0, r2, r3 |
| mov lr, r11 | mov lr, r11 |
| Line 525 push_d8 CPUWORK #3 | Line 525 push_d8 CPUWORK #3 |
| GETPC8 | GETPC8 |
| ldrh r2, [r9, #CPU_SP] | ldrh r2, [r9, #CPU_SP] |
| ldr r3, [r9, #CPU_SS_BASE] | ldr r3, [r9, #CPU_SS_BASE] |
| mov r0, r0 lsl #24 | |
| subs r2, r2, #2 | subs r2, r2, #2 |
| addcc r2, r2, #&10000 | addcc r2, r2, #&10000 |
| mov r0, r0 lsl #24 | |
| mov r1, r0 asr #24 | mov r1, r0 asr #24 |
| strh r2, [r9, #CPU_SP] | strh r2, [r9, #CPU_SP] |
| add r0, r2, r3 | add r0, r2, r3 |
| Line 552 imul_r_ea_d8 REG16EA r5, #21, #24 | Line 552 imul_r_ea_d8 REG16EA r5, #21, #24 |
| insb CPUWORK #5 | insb CPUWORK #5 |
| ldrh r0, [r9, #CPU_DX] | ldrh r0, [r9, #CPU_DX] |
| CPUSV | |
| bl iocore_inp8 | bl iocore_inp8 |
| CPULD | |
| ldrh r2, [r9, #CPU_DI] | ldrh r2, [r9, #CPU_DI] |
| ldr r3, [r9, #CPU_ES_BASE] | ldr r3, [r9, #CPU_ES_BASE] |
| mov r1, r0 | mov r1, r0 |
| Line 566 insb CPUWORK #5 | Line 568 insb CPUWORK #5 |
| insw CPUWORK #5 | insw CPUWORK #5 |
| ldrh r0, [r9, #CPU_DX] | ldrh r0, [r9, #CPU_DX] |
| CPUSV | |
| bl iocore_inp16 | bl iocore_inp16 |
| CPULD | |
| ldrh r2, [r9, #CPU_DI] | ldrh r2, [r9, #CPU_DI] |
| ldr r3, [r9, #CPU_ES_BASE] | ldr r3, [r9, #CPU_ES_BASE] |
| mov r1, r0 | mov r1, r0 |
| Line 777 cwd CPUWORK #2 | Line 781 cwd CPUWORK #2 |
| mov pc, r11 | mov pc, r11 |
| call_far CPUWORK #13 | call_far CPUWORK #13 |
| ldrh r1, [r9, #CPU_CS] | |
| ldrh r4, [r9, #CPU_SP] | ldrh r4, [r9, #CPU_SP] |
| ldrh r1, [r9, #CPU_CS] | |
| ldr r5, [r9, #CPU_SS_BASE] | ldr r5, [r9, #CPU_SS_BASE] |
| mov r4, r4 lsl #16 | mov r4, r4 lsl #16 |
| sub r4, r4, #(2 << 16) | sub r4, r4, #(2 << 16) |
| add r0, r5, r4 lsr #16 | add r0, r5, r4 lsr #16 |
| bl i286_memorywrite_w | bl i286_memorywrite_w ; cs |
| add r12, r8, #(4 << 16) | |
| sub r4, r4, #(2 << 16) | sub r4, r4, #(2 << 16) |
| add r12, r8, #(4 << 16) | |
| mov r4, r4, lsr #16 | |
| mov r1, r12 lsr #16 | mov r1, r12 lsr #16 |
| add r0, r5, r4 lsr #16 | add r0, r4, r5 |
| bl i286_memorywrite_w | bl i286_memorywrite_w ; ip |
| ldr r5, [r9, #CPU_CS_BASE] | ldr r5, [r9, #CPU_CS_BASE] |
| strh r4, [r9, #CPU_SP] | strh r4, [r9, #CPU_SP] |
| add r0, r5, r8 lsr #16 | add r0, r5, r8 lsr #16 |
| bl i286_memoryread_w | bl i286_memoryread_w ; newip |
| add r8, r8, #(2 << 16) | add r8, r8, #(2 << 16) |
| mov r4, r0 lsl #16 | mov r4, r0 lsl #16 |
| add r0, r5, r8 lsr #16 | add r0, r5, r8 lsr #16 |
| Line 1050 les_r16_ea GETPC8 | Line 1055 les_r16_ea GETPC8 |
| add r0, r0, r6 | add r0, r0, r6 |
| bic r4, r4, #(1 << 16) | bic r4, r4, #(1 << 16) |
| bl i286_memoryread_w | bl i286_memoryread_w |
| ldrh r0, [r5, #CPU_REG] | strh r0, [r5, #CPU_REG] |
| add r0, r4, r6 | add r0, r4, r6 |
| bl i286_memoryread_w | bl i286_memoryread_w |
| mov r1, r0 lsl #4 | mov r1, r0 lsl #4 |
| ldr r0, [r5, #CPU_ES] | strh r0, [r9, #CPU_ES] |
| ldr r1, [r5, #CPU_ES_BASE] | str r1, [r9, #CPU_ES_BASE] |
| mov pc, r11 | mov pc, r11 |
| lr16_r mov r6, #6 | lr16_r mov r6, #6 |
| sub r8, r8, #(2 << 16) | sub r8, r8, #(2 << 16) |
| Line 1071 lds_r16_ea GETPC8 | Line 1076 lds_r16_ea GETPC8 |
| add r0, r0, r6 | add r0, r0, r6 |
| bic r4, r4, #(1 << 16) | bic r4, r4, #(1 << 16) |
| bl i286_memoryread_w | bl i286_memoryread_w |
| ldrh r0, [r5, #CPU_REG] | strh r0, [r5, #CPU_REG] |
| add r0, r4, r6 | add r0, r4, r6 |
| bl i286_memoryread_w | bl i286_memoryread_w |
| mov r1, r0 lsl #4 | mov r1, r0 lsl #4 |
| ldr r0, [r5, #CPU_ES] | strh r0, [r9, #CPU_DS] |
| ldr r1, [r5, #CPU_DS_BASE] | str r1, [r9, #CPU_DS_BASE] |
| ldr r1, [r5, #CPU_DS_FIX] | str r1, [r9, #CPU_DS_FIX] |
| mov pc, r11 | mov pc, r11 |
| mov_ea8_d8 GETPC8 | mov_ea8_d8 GETPC8 |
| Line 1288 xlat CPUWORK #5 | Line 1293 xlat CPUWORK #5 |
| ldrb r0, [r9, #CPU_AL] | ldrb r0, [r9, #CPU_AL] |
| ldrh r1, [r9, #CPU_BX] | ldrh r1, [r9, #CPU_BX] |
| ldr r2, [r9, #CPU_DS_FIX] | ldr r2, [r9, #CPU_DS_FIX] |
| ; | |
| add r0, r1, r0 | add r0, r1, r0 |
| bic r0, r0, #(1 << 16) | bic r0, r0, #(1 << 16) |
| add r0, r2, r0 | add r0, r2, r0 |
| Line 1344 jcxzj JMPS #8 | Line 1350 jcxzj JMPS #8 |
| in_al_d8 CPUWORK #5 | in_al_d8 CPUWORK #5 |
| GETPC8 | GETPC8 |
| add r3, r0, r8 lsr #16 | |
| CPUSV | |
| str r3, [r9, #CPU_INPUT] | |
| bl iocore_inp8 | bl iocore_inp8 |
| CPULD | |
| mov r3, #0 | |
| strb r0, [r9, #CPU_AL] | strb r0, [r9, #CPU_AL] |
| str r3, [r9, #CPU_INPUT] | |
| mov pc, r11 | mov pc, r11 |
| in_ax_d8 CPUWORK #5 | in_ax_d8 CPUWORK #5 |
| GETPC8 | GETPC8 |
| CPUSV | |
| bl iocore_inp16 | bl iocore_inp16 |
| CPULD | |
| strh r0, [r9, #CPU_AX] | strh r0, [r9, #CPU_AX] |
| mov pc, r11 | mov pc, r11 |
| Line 1384 call_near CPUWORK #7 | Line 1398 call_near CPUWORK #7 |
| b i286_memorywrite_w | b i286_memorywrite_w |
| jmp_near CPUWORK #7 | jmp_near CPUWORK #7 |
| GETPC16 | ldr r4, [r9, #CPU_CS_BASE] |
| add r8, r8, r0 lsl #16 | add r5, r8, #(2 << 16) |
| ; | |
| add r0, r4, r8 lsr #16 | |
| bl i286_memoryread_w | |
| add r8, r5, r0 lsl #16 | |
| mov pc, r11 | mov pc, r11 |
| jmp_far CPUWORK #11 | jmp_far CPUWORK #11 |
| ldr r4, [r9, #CPU_CS_BASE] | ldr r4, [r9, #CPU_CS_BASE] |
| add r5, r8, #(2 << 16) | |
| mov r6, r8 lsl #16 | |
| add r0, r4, r8 lsr #16 | add r0, r4, r8 lsr #16 |
| bl i286_memoryread_w | bl i286_memoryread_w |
| add r8, r8, #(2 << 16) | mov r8, r0 lsl #16 |
| mov r1, r0, lsl #16 | add r0, r4, r5 lsr #16 |
| add r0, r4, r8 lsr #16 | |
| mov r8, r8, lsl #16 | |
| orr r8, r0, r8 lsr #16 | |
| bl i286_memoryread_w | bl i286_memoryread_w |
| add r8, r8, r6 lsr #16 | |
| mov r1, r0 lsl #4 | mov r1, r0 lsl #4 |
| strh r0, [r9, #CPU_CS] | strh r0, [r9, #CPU_CS] |
| str r1, [r9, #CPU_CS_BASE] | str r1, [r9, #CPU_CS_BASE] |
| Line 1405 jmp_far CPUWORK #11 | Line 1423 jmp_far CPUWORK #11 |
| in_al_dx CPUWORK #5 | in_al_dx CPUWORK #5 |
| ldrh r0, [r9, #CPU_DX] | ldrh r0, [r9, #CPU_DX] |
| CPUSV | |
| bl iocore_inp8 | bl iocore_inp8 |
| CPULD | |
| strb r0, [r9, #CPU_AL] | strb r0, [r9, #CPU_AL] |
| mov pc, r11 | mov pc, r11 |
| in_ax_dx CPUWORK #5 | in_ax_dx CPUWORK #5 |
| ldrh r0, [r9, #CPU_DX] | ldrh r0, [r9, #CPU_DX] |
| CPUSV | |
| bl iocore_inp16 | bl iocore_inp16 |
| CPULD | |
| strh r0, [r9, #CPU_AX] | strh r0, [r9, #CPU_AX] |
| mov pc, r11 | mov pc, r11 |
| Line 1594 optbl1 dcd add_ea_r8 ; 00 | Line 1616 optbl1 dcd add_ea_r8 ; 00 |
| dcd pusha ; 60 | dcd pusha ; 60 |
| dcd popa | dcd popa |
| dcd 0 ; bound | dcd 0 ; bound |
| dcd 0 ; arpl(reserved) | dcd reserved ; arpl(reserved) |
| dcd 0 ; reserved | dcd reserved |
| dcd 0 ; reserved | dcd reserved |
| dcd 0 ; reserved | dcd reserved |
| dcd 0 ; reserved | dcd reserved |
| dcd 0 ; push_d16 | dcd push_d16 |
| dcd 0 ; imul_reg_ea_d16 | dcd 0 ; imul_reg_ea_d16 |
| dcd 0 ; push_d8 | dcd push_d8 |
| dcd 0 ; imul_reg_ea_d8 | dcd 0 ; imul_reg_ea_d8 |
| dcd 0 ; insb | dcd insb |
| dcd 0 ; insw | dcd insw |
| dcd outsb | dcd outsb |
| dcd outsw | dcd outsw |
| Line 1620 optbl1 dcd add_ea_r8 ; 00 | Line 1642 optbl1 dcd add_ea_r8 ; 00 |
| dcd jns_short | dcd jns_short |
| dcd jp_short | dcd jp_short |
| dcd jnp_short | dcd jnp_short |
| dcd 0 ; jl_short | dcd jl_short |
| dcd 0 ; jnl_short | dcd jnl_short |
| dcd 0 ; jle_short | dcd jle_short |
| dcd 0 ; jnle_short | dcd jnle_short |
| dcd i286aop80 ; 80 | dcd i286aop80 ; 80 |
| dcd i286aop81 | dcd i286aop81 |
| Line 1652 optbl1 dcd add_ea_r8 ; 00 | Line 1674 optbl1 dcd add_ea_r8 ; 00 |
| dcd xchg_ax_di | dcd xchg_ax_di |
| dcd cbw | dcd cbw |
| dcd cwd | dcd cwd |
| dcd 0 ; call_far | dcd call_far |
| dcd wait | dcd wait |
| dcd 0 ; pushf | dcd 0 ; pushf |
| dcd 0 ; popf | dcd 0 ; popf |
| Line 1695 optbl1 dcd add_ea_r8 ; 00 | Line 1717 optbl1 dcd add_ea_r8 ; 00 |
| dcd i286asft8_d8 ; c0 | dcd i286asft8_d8 ; c0 |
| dcd i286asft16_d8 | dcd i286asft16_d8 |
| dcd 0 ; ret_near_d16 | dcd ret_near_d16 |
| dcd 0 ; ret_near | dcd ret_near |
| dcd 0 ; les_r16_ea | dcd 0 ; les_r16_ea (now testing i286a_a) |
| dcd 0 ; lds_r16_ea | dcd 0 ; lds_r16_ea (now testing i286a_a) |
| dcd 0 ; mov_ea8_d8 | dcd mov_ea8_d8 |
| dcd 0 ; mov_ea16_d16 | dcd mov_ea16_d16 |
| dcd 0 ; enter | dcd 0 ; enter |
| dcd 0 ; leave | dcd 0 ; leave |
| dcd 0 ; ret_far_d16 | dcd ret_far_d16 |
| dcd 0 ; ret_far | dcd ret_far |
| dcd int_03 | dcd int_03 |
| dcd int_d8 | dcd int_d8 |
| dcd into | dcd into |
| Line 1716 optbl1 dcd add_ea_r8 ; 00 | Line 1738 optbl1 dcd add_ea_r8 ; 00 |
| dcd i286asft16_cl | dcd i286asft16_cl |
| dcd 0 ; aam | dcd 0 ; aam |
| dcd 0 ; aad | dcd 0 ; aad |
| dcd 0 ; setalc | dcd setalc |
| dcd 0 ; xlat | dcd xlat |
| dcd esc | dcd esc |
| dcd esc | dcd esc |
| dcd esc | dcd esc |
| Line 1731 optbl1 dcd add_ea_r8 ; 00 | Line 1753 optbl1 dcd add_ea_r8 ; 00 |
| dcd loopz | dcd loopz |
| dcd loop | dcd loop |
| dcd jcxz | dcd jcxz |
| dcd 0 ; in_al_d8 | dcd in_al_d8 |
| dcd 0 ; in_ax_d8 | dcd in_ax_d8 |
| dcd out_d8_al | dcd out_d8_al |
| dcd out_d8_ax | dcd out_d8_ax |
| dcd 0 ; call_near | dcd call_near |
| dcd 0 ; jmp_near | dcd jmp_near |
| dcd 0 ; jmp_far | dcd jmp_far |
| dcd jmp_short | dcd jmp_short |
| dcd 0 ; in_al_dx | dcd in_al_dx |
| dcd 0 ; in_ax_dx | dcd in_ax_dx |
| dcd out_dx_al | dcd out_dx_al |
| dcd out_dx_ax | dcd out_dx_ax |
| Line 1759 optbl1 dcd add_ea_r8 ; 00 | Line 1781 optbl1 dcd add_ea_r8 ; 00 |
| dcd cld | dcd cld |
| dcd std | dcd std |
| dcd i286aopfe | dcd i286aopfe |
| dcd 0 ; ope0xff | dcd i286aopff |
| END | END |