Line 27... |
Line 27... |
/* */
|
/* */
|
/* Author(s): */
|
/* Author(s): */
|
/* - Olivier Girard, olgirard@gmail.com */
|
/* - Olivier Girard, olgirard@gmail.com */
|
/* */
|
/* */
|
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
/* $Rev: 141 $ */
|
/* $Rev: 200 $ */
|
/* $LastChangedBy: olivier.girard $ */
|
/* $LastChangedBy: olivier.girard $ */
|
/* $LastChangedDate: 2012-05-05 23:22:06 +0200 (Sat, 05 May 2012) $ */
|
/* $LastChangedDate: 2015-01-21 23:01:31 +0100 (Wed, 21 Jan 2015) $ */
|
/*===========================================================================*/
|
/*===========================================================================*/
|
|
|
.include "pmem_defs.asm"
|
.include "pmem_defs.asm"
|
|
|
.global main
|
.global main
|
Line 56... |
Line 56... |
|
|
mov #0x1000, r15
|
mov #0x1000, r15
|
|
|
|
|
/* ---------------------- TEST WHEN SOURCE IS Rn ------------------- */
|
/* ---------------------- TEST WHEN SOURCE IS Rn ------------------- */
|
.set Rn_EDE, DMEM_212
|
.set Rn_EDE, DMEM_212+PMEM_EDE_LENGTH
|
.set Rn_TONY, DMEM_214
|
.set Rn_TONY, DMEM_214
|
|
|
mov #0x4444, r4
|
mov #0x4444, r4
|
mov #0x5555, r5
|
mov #0x5555, r5
|
add r4, r5 ;# Add r4+r5 (0x4444+0x5555=0x9999)
|
add r4, r5 ;# Add r4+r5 (0x4444+0x5555=0x9999)
|
Line 78... |
Line 78... |
mov #0x3333, r7
|
mov #0x3333, r7
|
add r7, 16(r6) ;# Write 0x2222+0x3333=0x5555 to memory @0x0210
|
add r7, 16(r6) ;# Write 0x2222+0x3333=0x5555 to memory @0x0210
|
|
|
mov #0x4444, &DMEM_212
|
mov #0x4444, &DMEM_212
|
mov #0x5678, r7
|
mov #0x5678, r7
|
add r7, Rn_EDE+PMEM_LENGTH ;# Write 0x4444+0x5678=0x9abc to memory @0x0212
|
add r7, Rn_EDE ;# Write 0x4444+0x5678=0x9abc to memory @0x0212
|
|
|
mov #0x5555, &DMEM_214
|
mov #0x5555, &DMEM_214
|
mov #0x1234, r8
|
mov #0x1234, r8
|
add r8, &Rn_TONY ;# Write 0x5555+0x1234=0x6789 to memory @0x0214
|
add r8, &Rn_TONY ;# Write 0x5555+0x1234=0x6789 to memory @0x0214
|
|
|
mov #0x2000, r15
|
mov #0x2000, r15
|
|
|
|
|
/* ---------------------- TEST WHEN SOURCE IS @Rn ------------------ */
|
/* ---------------------- TEST WHEN SOURCE IS @Rn ------------------ */
|
.set aRn_EDE, DMEM_212
|
.set aRn_EDE, DMEM_212+PMEM_EDE_LENGTH
|
.set aRn_TONY, DMEM_214
|
.set aRn_TONY, DMEM_214
|
|
|
mov #DMEM_200, r4
|
mov #DMEM_200, r4
|
mov #0x1111, &DMEM_200
|
mov #0x1111, &DMEM_200
|
mov #0x6666, r5
|
mov #0x6666, r5
|
Line 114... |
Line 114... |
add @r7, 16(r6) ;# Write 0x1234+0x5432=0x6666 to memory @0x0210
|
add @r7, 16(r6) ;# Write 0x1234+0x5432=0x6666 to memory @0x0210
|
|
|
mov #0x5f12, &DMEM_200
|
mov #0x5f12, &DMEM_200
|
mov #0x8e1c, &DMEM_212
|
mov #0x8e1c, &DMEM_212
|
mov #DMEM_200, r7
|
mov #DMEM_200, r7
|
add @r7, aRn_EDE+PMEM_LENGTH ;# Write 0x5f12+0x8e1c=0xed2e to memory @0x0212
|
add @r7, aRn_EDE ;# Write 0x5f12+0x8e1c=0xed2e to memory @0x0212
|
|
|
mov #0x3112, &DMEM_202
|
mov #0x3112, &DMEM_202
|
mov #0x1541, &DMEM_214
|
mov #0x1541, &DMEM_214
|
mov #DMEM_202, r8
|
mov #DMEM_202, r8
|
add @r8, &aRn_TONY ;# Write 0x3112+0x1541=0x4653 to memory @0x0214
|
add @r8, &aRn_TONY ;# Write 0x3112+0x1541=0x4653 to memory @0x0214
|
Line 126... |
Line 126... |
mov #0x3000, r15
|
mov #0x3000, r15
|
|
|
|
|
|
|
/* ---------------------- TEST WHEN SOURCE IS @Rn+ ----------------- */
|
/* ---------------------- TEST WHEN SOURCE IS @Rn+ ----------------- */
|
.set aRni_EDE, DMEM_212
|
.set aRni_EDE, DMEM_212+PMEM_EDE_LENGTH
|
.set aRni_TONY, DMEM_214
|
.set aRni_TONY, DMEM_214
|
|
|
mov #DMEM_200, r4
|
mov #DMEM_200, r4
|
mov #0x2222, &DMEM_200
|
mov #0x2222, &DMEM_200
|
mov #0x8888, r5
|
mov #0x8888, r5
|
Line 152... |
Line 152... |
add @r7+, 16(r8) ;# Write 0x1234+0x5432=0x6666 to memory @0x0210
|
add @r7+, 16(r8) ;# Write 0x1234+0x5432=0x6666 to memory @0x0210
|
|
|
mov #0x5f12, &DMEM_206
|
mov #0x5f12, &DMEM_206
|
mov #0x8e1c, &DMEM_212
|
mov #0x8e1c, &DMEM_212
|
mov #DMEM_206, r8
|
mov #DMEM_206, r8
|
add @r8+, aRni_EDE+PMEM_LENGTH ;# Write 0x5f12+0x8e1c=0xed2e to memory @0x0212
|
add @r8+, aRni_EDE ;# Write 0x5f12+0x8e1c=0xed2e to memory @0x0212
|
|
|
mov #0x3112, &DMEM_202
|
mov #0x3112, &DMEM_202
|
mov #0x1541, &DMEM_214
|
mov #0x1541, &DMEM_214
|
mov #DMEM_202, r9
|
mov #DMEM_202, r9
|
add @r9+, &aRni_TONY ;# Write 0x3112+0x1541=0x4653 to memory @0x0214
|
add @r9+, &aRni_TONY ;# Write 0x3112+0x1541=0x4653 to memory @0x0214
|
Line 164... |
Line 164... |
mov #0x4000, r15
|
mov #0x4000, r15
|
|
|
|
|
|
|
/* ---------------------- TEST WHEN SOURCE IS #N ------------------- */
|
/* ---------------------- TEST WHEN SOURCE IS #N ------------------- */
|
.set N_EDE, DMEM_210
|
.set N_EDE, DMEM_210+PMEM_EDE_LENGTH
|
.set N_TONY, DMEM_206
|
.set N_TONY, DMEM_206
|
|
|
mov #0x3210, r4
|
mov #0x3210, r4
|
add #0x1234, r4 ;# Write 0x3210+0x1234=0x4444 to R4
|
add #0x1234, r4 ;# Write 0x3210+0x1234=0x4444 to R4
|
|
|
Line 183... |
Line 183... |
mov #0x5432, &DMEM_230
|
mov #0x5432, &DMEM_230
|
mov #DMEM_200, r6
|
mov #DMEM_200, r6
|
add #0x5a5a, 48(r6) ;# Write 0x5432+0x5a5a=0xae8c to memory @0x0230
|
add #0x5a5a, 48(r6) ;# Write 0x5432+0x5a5a=0xae8c to memory @0x0230
|
|
|
mov #0x4325, &DMEM_210
|
mov #0x4325, &DMEM_210
|
add #0x1a2b, N_EDE+PMEM_LENGTH ;# Write 0x4325+0x1a2b=0x5d50 to memory @0x0210
|
add #0x1a2b, N_EDE ;# Write 0x4325+0x1a2b=0x5d50 to memory @0x0210
|
|
|
mov #0x3254, &DMEM_206
|
mov #0x3254, &DMEM_206
|
add #0x3c4d, &N_TONY ;# Write 0x3254+0x3c4d=0x6ea1 to memory @0x0206
|
add #0x3c4d, &N_TONY ;# Write 0x3254+0x3c4d=0x6ea1 to memory @0x0206
|
|
|
mov #0x5000, r15
|
mov #0x5000, r15
|
|
|
|
|
/* ---------------------- TEST WHEN SOURCE IS x(Rn) ---------------- */
|
/* ---------------------- TEST WHEN SOURCE IS x(Rn) ---------------- */
|
.set xRn_EDE, DMEM_220
|
.set xRn_EDE, DMEM_220+PMEM_EDE_LENGTH
|
.set xRn_TONY, DMEM_208
|
.set xRn_TONY, DMEM_208
|
|
|
mov #0x8347, &DMEM_210
|
mov #0x8347, &DMEM_210
|
mov #0x1234, r5
|
mov #0x1234, r5
|
mov #DMEM_200, r4
|
mov #DMEM_200, r4
|
Line 220... |
Line 220... |
add 16(r7), 18(r8) ;# Write 0x4241+0x1535=0x5776 to memory @0x214
|
add 16(r7), 18(r8) ;# Write 0x4241+0x1535=0x5776 to memory @0x214
|
|
|
mov #0x7238, &DMEM_204
|
mov #0x7238, &DMEM_204
|
mov #0x2143, &DMEM_220
|
mov #0x2143, &DMEM_220
|
mov #DMEM_200, r7
|
mov #DMEM_200, r7
|
add 4(r7), xRn_EDE+PMEM_LENGTH ;# Write 0x7238+0x2143=0x937b to memory @0x220
|
add 4(r7), xRn_EDE ;# Write 0x7238+0x2143=0x937b to memory @0x220
|
|
|
mov #0x98b2, &DMEM_216
|
mov #0x98b2, &DMEM_216
|
mov #0x1432, &DMEM_208
|
mov #0x1432, &DMEM_208
|
mov #DMEM_200, r7
|
mov #DMEM_200, r7
|
add 22(r4), &xRn_TONY ;# Write 0x0x98b2+0x1432=0xace4 to memory @0x208
|
add 22(r4), &xRn_TONY ;# Write 0x0x98b2+0x1432=0xace4 to memory @0x208
|
|
|
mov #0x6000, r15
|
mov #0x6000, r15
|
|
|
|
|
/* ---------------------- TEST WHEN SOURCE IS 'EDE' ---------------- */
|
/* ---------------------- TEST WHEN SOURCE IS 'EDE' ---------------- */
|
.set EDE_EDE, DMEM_216
|
.set EDE_EDE, DMEM_216+PMEM_EDE_LENGTH
|
.set EDE_TONY, DMEM_212
|
.set EDE_TONY, DMEM_212
|
|
|
.set EDE_200, DMEM_200
|
.set EDE_200, DMEM_200+PMEM_EDE_LENGTH
|
.set EDE_202, DMEM_202
|
.set EDE_202, DMEM_202+PMEM_EDE_LENGTH
|
.set EDE_204, DMEM_204
|
.set EDE_204, DMEM_204+PMEM_EDE_LENGTH
|
.set EDE_206, DMEM_206
|
.set EDE_206, DMEM_206+PMEM_EDE_LENGTH
|
.set EDE_208, DMEM_208
|
.set EDE_208, DMEM_208+PMEM_EDE_LENGTH
|
|
|
mov #0xc3d6, &DMEM_200
|
mov #0xc3d6, &DMEM_200
|
mov #0x1234, &DMEM_204
|
mov #0x1234, &DMEM_204
|
mov #0x4321, r4
|
mov #0x4321, r4
|
add EDE_200+PMEM_LENGTH, r4 ;# Write 0xc3d6+0x4321=0x06f7 to R4
|
add EDE_200, r4 ;# Write 0xc3d6+0x4321=0x06f7 to R4
|
|
|
mov #0x000a, &DMEM_202
|
mov #0x000a, &DMEM_202
|
mov #0x1234, &DMEM_204
|
mov #0x1234, &DMEM_204
|
mov #0x3456, r6
|
mov #0x3456, r6
|
add EDE_202+PMEM_LENGTH, r0
|
add EDE_202, r0
|
nop
|
nop
|
nop
|
nop
|
nop
|
nop
|
nop
|
nop
|
mov #0x0000, r6 ;# Make sure the jump is taken
|
mov #0x0000, r6 ;# Make sure the jump is taken
|
Line 260... |
Line 260... |
|
|
mov #DMEM_202, r8
|
mov #DMEM_202, r8
|
mov #0xf712, &DMEM_204
|
mov #0xf712, &DMEM_204
|
mov #0x1234, &DMEM_214
|
mov #0x1234, &DMEM_214
|
mov #0x0000, &DMEM_208
|
mov #0x0000, &DMEM_208
|
add EDE_204+PMEM_LENGTH, 18(r8) ;# Write 0xf712+0x1234=0x0946 to memory @0x214
|
add EDE_204, 18(r8) ;# Write 0xf712+0x1234=0x0946 to memory @0x214
|
|
|
mov #0xb3a9, &DMEM_206
|
mov #0xb3a9, &DMEM_206
|
mov #0x058a, &DMEM_216
|
mov #0x058a, &DMEM_216
|
mov #0x1234, &DMEM_208
|
mov #0x1234, &DMEM_208
|
add EDE_206+PMEM_LENGTH, EDE_EDE+PMEM_LENGTH ;# Write 0xb3a9+0x058a=0xb933 to memory @0x216
|
add EDE_206, EDE_EDE ;# Write 0xb3a9+0x058a=0xb933 to memory @0x216
|
|
|
mov #0x837A, &DMEM_208
|
mov #0x837A, &DMEM_208
|
mov #0xA738, &DMEM_212
|
mov #0xA738, &DMEM_212
|
mov #0x1234, &DMEM_20A
|
mov #0x1234, &DMEM_20A
|
add EDE_208+PMEM_LENGTH, &EDE_TONY ;# Write 0x837A+0xA738=0x2ab2 to memory @0x212
|
add EDE_208, &EDE_TONY ;# Write 0x837A+0xA738=0x2ab2 to memory @0x212
|
|
|
mov #0x7000, r15
|
mov #0x7000, r15
|
|
|
|
|
|
|
/* ---------------------- TEST WHEN SOURCE IS '&EDE' --------------- */
|
/* ---------------------- TEST WHEN SOURCE IS '&EDE' --------------- */
|
.set aEDE_EDE, DMEM_218
|
.set aEDE_EDE, DMEM_218+PMEM_EDE_LENGTH
|
.set aEDE_TONY, DMEM_202
|
.set aEDE_TONY, DMEM_202
|
|
|
mov #0x23d4, &DMEM_200
|
mov #0x23d4, &DMEM_200
|
mov #0x1234, &DMEM_202
|
mov #0x1234, &DMEM_202
|
mov #0x4321, r4
|
mov #0x4321, r4
|
Line 305... |
Line 305... |
add &DMEM_204, 18(r7) ;# Write 0x481c+0x3ab5=0x82d1 to memory @0x214
|
add &DMEM_204, 18(r7) ;# Write 0x481c+0x3ab5=0x82d1 to memory @0x214
|
|
|
mov #0x5c1f, &DMEM_206
|
mov #0x5c1f, &DMEM_206
|
mov #0x6e2f, &DMEM_218
|
mov #0x6e2f, &DMEM_218
|
mov #0x1234, &DMEM_208
|
mov #0x1234, &DMEM_208
|
add &DMEM_206, aEDE_EDE+PMEM_LENGTH ;# Write 0x5c1f+0x6e2f=0xca4e to memory @0x218
|
add &DMEM_206, aEDE_EDE ;# Write 0x5c1f+0x6e2f=0xca4e to memory @0x218
|
|
|
mov #0xc16e, &DMEM_208
|
mov #0xc16e, &DMEM_208
|
mov #0x51ca, &DMEM_202
|
mov #0x51ca, &DMEM_202
|
mov #0x1234, &DMEM_20A
|
mov #0x1234, &DMEM_20A
|
add &DMEM_208, &aEDE_TONY ;# Write 0xc16e+0x51ca=0x1338 to memory @0x202
|
add &DMEM_208, &aEDE_TONY ;# Write 0xc16e+0x51ca=0x1338 to memory @0x202
|
|
|
mov #0x8000, r15
|
mov #0x8000, r15
|
|
|
|
|
/* ---------------------- TEST WHEN SOURCE IS CONSTANT ------------- */
|
/* ---------------------- TEST WHEN SOURCE IS CONSTANT ------------- */
|
.set CONST_EDE0, DMEM_220
|
.set CONST_EDE0, DMEM_220+PMEM_EDE_LENGTH
|
.set CONST_EDE1, DMEM_222
|
.set CONST_EDE1, DMEM_222+PMEM_EDE_LENGTH
|
.set CONST_EDE2, DMEM_224
|
.set CONST_EDE2, DMEM_224+PMEM_EDE_LENGTH
|
.set CONST_EDE4, DMEM_226
|
.set CONST_EDE4, DMEM_226+PMEM_EDE_LENGTH
|
.set CONST_EDE8, DMEM_228
|
.set CONST_EDE8, DMEM_228+PMEM_EDE_LENGTH
|
.set CONST_EDEm1, DMEM_22A
|
.set CONST_EDEm1, DMEM_22A+PMEM_EDE_LENGTH
|
|
|
.set CONST_TONY0, DMEM_230
|
.set CONST_TONY0, DMEM_230
|
.set CONST_TONY1, DMEM_232
|
.set CONST_TONY1, DMEM_232
|
.set CONST_TONY2, DMEM_234
|
.set CONST_TONY2, DMEM_234
|
.set CONST_TONY4, DMEM_236
|
.set CONST_TONY4, DMEM_236
|
Line 374... |
Line 374... |
mov #0x5555, &DMEM_222
|
mov #0x5555, &DMEM_222
|
mov #0x6666, &DMEM_224
|
mov #0x6666, &DMEM_224
|
mov #0x7777, &DMEM_226
|
mov #0x7777, &DMEM_226
|
mov #0x8888, &DMEM_228
|
mov #0x8888, &DMEM_228
|
mov #0x9999, &DMEM_22A
|
mov #0x9999, &DMEM_22A
|
add #0x0000, CONST_EDE0+PMEM_LENGTH ;# Move 0x4444+0 to memory @0x220
|
add #0x0000, CONST_EDE0 ;# Move 0x4444+0 to memory @0x220
|
add #0x0001, CONST_EDE1+PMEM_LENGTH ;# Move 0x5555+1 to memory @0x222
|
add #0x0001, CONST_EDE1 ;# Move 0x5555+1 to memory @0x222
|
add #0x0002, CONST_EDE2+PMEM_LENGTH ;# Move 0x6666+2 to memory @0x224
|
add #0x0002, CONST_EDE2 ;# Move 0x6666+2 to memory @0x224
|
add #0x0004, CONST_EDE4+PMEM_LENGTH ;# Move 0x7777+4 to memory @0x226
|
add #0x0004, CONST_EDE4 ;# Move 0x7777+4 to memory @0x226
|
add #0x0008, CONST_EDE8+PMEM_LENGTH ;# Move 0x8888+8 to memory @0x228
|
add #0x0008, CONST_EDE8 ;# Move 0x8888+8 to memory @0x228
|
add #0xffff, CONST_EDEm1+PMEM_LENGTH ;# Move 0x9999-1 to memory @0x22A
|
add #0xffff, CONST_EDEm1 ;# Move 0x9999-1 to memory @0x22A
|
|
|
mov #0x4444, &DMEM_230 ;# Initialize Memory
|
mov #0x4444, &DMEM_230 ;# Initialize Memory
|
mov #0x5555, &DMEM_232
|
mov #0x5555, &DMEM_232
|
mov #0x6666, &DMEM_234
|
mov #0x6666, &DMEM_234
|
mov #0x7777, &DMEM_236
|
mov #0x7777, &DMEM_236
|