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 520 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 25:$initialize
Address 34:$do_idly1
Address 45:$busyok
Address 56:$enableok
Address 58:$do_idly2
Address 61:$do_bulk_program
Address 136:$bulk_prog
Address 147:$do_bfor1
Address 151:$do_bdly1
Address 160:$progwaitok
Address 164:$bulk_prog_fail
Address 168:$do_program_rlock
Address 169:$do_prl1
Address 171:$do_prl2
Address 188:$rlock_ok
Address 189:$do_erase_disturb
Address 196:$do_eddly1
Address 202:$do_eddone
Address 204:$do_enc_program_from
Address 405:$init_aes
Address 417:$iaes_dly
Address 420:$epf_dly
Address 422:$epf_dly1
Address 425:$epf_error
Address 429:$poll_program
Address 430:$poll_pl1
Address 434:$poll_pdly1
Address 444:$poll_pdone
Address 445:$do_exit
Address 453:$do_exjmp
Address 454:$do_exdly1
Address 459:$do_exdly2
Address 463:$do_array_verify_0_pass
Address 468:$do_av0p_loop
Address 479:$do_av0p_fail
Address 483:$do_array_verify_0_fail
Address 488:$do_av0f_loop
Address 499:$do_av0f_fail
Address 503:$exe_verify
Address 508:$ev_dly
Address 514:$readverstatus
Address 520:$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

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