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_and.asm (931B)


      1tpu X0 Y0
      2	## ${ADDR_INST_AND}
      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_AND}, 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_AND}, 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	and UP
     34	mov UP, NIL
     35
     36	# write reg
     37	mov ${ADDR_GPR}, RIGHT
     38	mov ${ADDR_INST_AND}, RIGHT
     39	mov ${MEM_OP_WRITE}, RIGHT
     40	mov DOWN, RIGHT
     41	mov ACC, RIGHT
     42
     43	# get ack
     44	mov UP, NIL
     45	mov UP, NIL
     46	mov UP, NIL
     47	mov UP, NIL
     48
     49	# send ack
     50	mov DOWN, RIGHT
     51	mov ${ADDR_INST_AND}, RIGHT
     52	mov ${OP_ACK}, RIGHT
     53	mov ${OP_NIL}, RIGHT
     54	mov ${OP_NIL}, RIGHT
     55end
     56
     57tpu X1 Y0
     58	mov LEFT, UP
     59end
     60
     61tpu X0 Y1
     62	mov UP, ACC
     63	swp
     64	mov UP, ACC
     65	mov ACC, UP
     66	mov ACC, UP
     67	swp
     68	mov ACC, UP
     69end