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