inst_stb.asm (991B)
1tpu X0 Y0 2 ## ${ADDR_INST_STB} 3 4 mov UP, DOWN 5 mov UP, NIL 6 mov UP, ACC 7 mov UP, DOWN 8 9 # read reg dst 10 mov ${ADDR_GPR}, RIGHT 11 mov ${ADDR_INST_STB}, RIGHT 12 mov ${MEM_OP_READ}, RIGHT 13 mov DOWN, RIGHT 14 mov ${OP_NIL}, RIGHT 15 16 # push src addr 17 mov ACC, DOWN 18 19 # get ack 20 mov UP, NIL 21 mov UP, NIL 22 mov UP, ACC 23 mov UP, NIL 24 25 # read reg src 26 mov ${ADDR_GPR}, RIGHT 27 mov ${ADDR_INST_STB}, RIGHT 28 mov ${MEM_OP_READ}, RIGHT 29 mov DOWN, RIGHT 30 mov ${OP_NIL}, RIGHT 31 32 # get ack 33 mov UP, NIL 34 mov UP, NIL 35 mov UP, DOWN 36 mov UP, NIL 37 38 # write memory [dst] 39 sav 40 shr 6 41 add ${ADDR_MEMORY_BASE} 42 mov ACC, RIGHT 43 swp 44 mov ${ADDR_INST_STB}, RIGHT 45 mov ${MEM_OP_WRITE}, RIGHT 46 mov DOWN, RIGHT 47 mov ACC, RIGHT 48 49 # get ack 50 mov UP, NIL 51 mov UP, NIL 52 mov UP, NIL 53 mov UP, NIL 54 55 # send ack 56 mov DOWN, RIGHT 57 mov ${ADDR_INST_STB}, RIGHT 58 mov ${OP_ACK}, RIGHT 59 mov ${OP_NIL}, RIGHT 60 mov ${OP_NIL}, RIGHT 61end 62 63tpu X1 Y0 64 mov LEFT, UP 65end 66 67tpu X0 Y1 68 mov UP, ACC 69 mov UP, UP 70 mov UP, UP 71 mov UP, UP 72 mov ACC, UP 73end