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_shl.asm (860B)


      1tpu X0 Y0
      2	## ${ADDR_INST_SHL}
      3
      4	# get req
      5	mov UP, DOWN
      6	mov UP, NIL
      7	mov UP, ACC
      8	mov UP, DOWN
      9
     10	# get register
     11	mov ${ADDR_GPR}, RIGHT
     12	mov ${ADDR_INST_SHL}, RIGHT
     13	mov ${MEM_OP_READ}, RIGHT
     14	mov ACC, RIGHT
     15	mov ${OP_NIL}, RIGHT
     16
     17	# save src addr
     18	mov ACC, DOWN
     19
     20	# get resp
     21	mov UP, NIL
     22	mov UP, NIL
     23	mov UP, ACC
     24	mov UP, NIL
     25
     26	# shift value
     27	shl DOWN
     28
     29	# set register
     30	mov ${ADDR_GPR}, RIGHT
     31	mov ${ADDR_INST_SHL}, RIGHT
     32	mov ${MEM_OP_WRITE}, RIGHT
     33	mov DOWN, RIGHT
     34	mov ACC, RIGHT
     35
     36	# get resp
     37	mov UP, NIL
     38	mov UP, NIL
     39	mov UP, NIL
     40	mov UP, NIL
     41
     42	# send ack
     43	mov DOWN, RIGHT
     44	mov ${ADDR_INST_SHL}, RIGHT
     45	mov ${OP_ACK}, RIGHT
     46	mov ${OP_NIL}, RIGHT
     47	mov ${OP_NIL}, RIGHT
     48end
     49
     50tpu X1 Y0
     51	mov LEFT, UP
     52end
     53
     54tpu X0 Y1
     55	mov UP, DOWN
     56	mov UP, ACC
     57	mov UP, DOWN
     58	mov ACC, UP
     59	mov DOWN, UP
     60	mov DOWN, UP
     61end
     62
     63tpu X0 Y2
     64	mov UP, ACC
     65	mov UP, UP
     66	mov ACC, UP
     67end