campctf2023-chall-tis256

Zachtronics TIS100-inspired reversing challenge for CampCTF 2023
git clone https://git.sinitax.com/sinitax/campctf2023-chall-tis256
Log | Files | Refs | Submodules | README | sfeed.txt

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