Analysis

---------------------------------------------

Programming Errors

None

---------------------------------------------

Instructions Used

AND, APBREAD, APBWRT, APBWRT DAT, CALL, CMP, DECZ, DEF, HALT, INC, IOREAD, IOWRT, IOWRT ACC, IOWRT DAT, JUMP, LOAD, LOADZ, LOADZ DAT, OR, POP, PUSH, PUSH ACC, RETURN, SUB

---------------------------------------------

Constraints

   Maximum value of APB data written directly is 65535 so 'Data Bus Width' >= 16.
   Maximum APB slot used is 1 so 'Number of APB Slots' >= 2.
   Maximum APB address used 32 so 'APB Slot Size' >= 64 locations
   Maximum program counter is 523 so 'Maximum Number of Instructions' >= 1024.
   Z register loaded with 16381 so 'Z Register size' >= 14.
   'INPUTn' not used so 'Number of I/O Flags' >= 0.
   'IOWRT 15' used so 'Number of I/O Outputs' >= 4.
   Uses stack ('CALL', 'RETURN', 'RETISR', 'PUSH' or 'POP'), 'RAMREAD' or 'RAMWRT' so requires 'Internal Data/Stack Memory'.
   Uses stack - please ensure 'Stack Size' is sufficient.

---------------------------------------------

Instruction Store Details

   Width of instructions is Data+Addr+Slots+6 = 16+10+2+6 = 34 bits

---------------------------------------------

Labels

Address 28:$initialize
Address 37:$do_idly1
Address 48:$busyok
Address 59:$enableok
Address 61:$do_idly2
Address 64:$do_bulk_program
Address 139:$bulk_prog
Address 150:$do_bfor1
Address 154:$do_bdly1
Address 163:$progwaitok
Address 167:$bulk_prog_fail
Address 171:$do_program_rlock
Address 172:$do_prl1
Address 174:$do_prl2
Address 191:$rlock_ok
Address 192:$do_erase_disturb
Address 199:$do_eddly1
Address 205:$do_eddone
Address 207:$do_enc_program_from
Address 408:$init_aes
Address 420:$iaes_dly
Address 423:$epf_dly
Address 425:$epf_dly1
Address 428:$epf_error
Address 432:$poll_program
Address 433:$poll_pl1
Address 437:$poll_pdly1
Address 447:$poll_pdone
Address 448:$do_exit
Address 456:$do_exjmp
Address 457:$do_exdly1
Address 462:$do_exdly2
Address 466:$do_array_verify_0_pass
Address 471:$do_av0p_loop
Address 482:$do_av0p_fail
Address 486:$do_array_verify_0_fail
Address 491:$do_av0f_loop
Address 502:$do_av0f_fail
Address 506:$exe_verify
Address 511:$ev_dly
Address 517:$readverstatus
Address 523:$exe_verify_done

---------------------------------------------

Symbols

Line 1:IAP_IR=0x0
Line 2:IAP_DR2=0x4
Line 3:IAP_DR5=0xC
Line 4:IAP_DR16=0x14
Line 5:IAP_DR26=0x10
Line 6:IAP_DR=0x18
Line 7:IAP_DR_LENGTH=0x1C
Line 8:IAP_TAP_NEW_STATE=0x20
Line 12:ISC_ENABLE=0x80
Line 13:ISC_PROGRAM=0x83
Line 14:ISC_NOOP=0x84
Line 15:ISC_ERASE=0x85
Line 16:ISC_INCREMENT=0x87
Line 17:ISC_DATA_SHIFT=0x89
Line 18:ISC_VERIFY0=0x8D
Line 19:ISC_VERIFY1=0x8E
Line 26:numberofsdtiles=0x6
Line 27:numberofmaprows=0xD74
Line 34:usec38=0x7F
Line 35:usec138=0x1CC
Line 36:usec165=0x226
Line 37:usec256=0x355
Line 38:usec1500=0x1383
Line 39:sec1p5h=0x4C
Line 40:sec1p5l=0x37B8
Line 43:usec20=0x2C
Line 44:usec100=0xDE
Line 45:usec200=0x1BC
Line 46:usec264=0x24A

---------------------------------------------
