Analysis

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

Programming Errors

None

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

Instructions Used

AND, APBREAD, APBWRT, APBWRT ACC, APBWRT DAT, CMP, DEF, HALT, INC, JUMP, LOAD, OR, RAMREAD, RAMWRT, RAMWRT ACC, RAMWRT DAT, RETISR, XOR

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

Constraints

   Accumulator operated on with 247 so 'Data Bus Width' >= 8.
   Maximum APB slot used is 1 so 'Number of APB Slots' >= 2.
   Maximum APB address used 19 so 'APB Slot Size' >= 32 locations
   Maximum program counter is 52 so 'Maximum Number of Instructions' >= 64.
   Z register not used so 'Z Register size' may be set to disabled.
   'INPUT0' used so 'Number of I/O Flags' >= 1.
   'IOWRT' not used so 'Number of I/O Outputs' >= 0.
   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.
   Uses 'RETISR' - please ensure that 'ISR Address' is set.

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

Instruction Store Details

   Width of instructions is Data+Addr+Slots+6 = 8+8+1+6 = 23 bits

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

Labels

Address 2:$Shift_Pixels
Address 24:$save_y_pos
Address 26:$MAIN
Address 32:$clear_lcd
Address 42:$WRT_Y_ADDDR
Address 44:$WRT_X_ADDR
Address 47:$Halt_Stuff

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

Symbols

Line 43:DSC_ctrl_ADDR=0x0
Line 44:DSC_pixels0_ADDR=0x10
Line 45:DSC_pixels1_ADDR=0x11
Line 46:DSC_pixels2_ADDR=0x12
Line 47:DSC_pixels3_ADDR=0x13
Line 49:LCD_ctrl_ADDR=0x0
Line 50:LCD_pixels_data_ADDR=0x10
Line 51:LCD_pixels_X_ADDR=0x11
Line 52:LCD_pixels_Y_ADDR=0x12
Line 54:RAM_pixels=0x0
Line 55:RAM_pixels_last=0x1
Line 56:RAM_Y_pos=0x2

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