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_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