You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
1.2 KiB

2 years ago
.include "instr.inc"
.text
.global _start
_start:
ld_r0 0x40ff
ld_r1 0x50ff
ld_r2 0x60ff
ld_r3 0x70ff
mix
mix1_ld_r1 mem_password
mix1_inc_r1
mix1_ldr_r0_r1
mix1_ld_r1 0x5871
mix1_cp_r0_r1
mix1_jp_ne loc_203b
mix1_inc_r3
loc_203b:
mix1_switch2
mix2_ldr_r0 mem_password + 3
mix2_xor_r0 0x54c2
mix2_cp_r0 0x6da4
mix2_jp_ne loc_2049
mix2_inc_r3
loc_2049:
mix2_switch3
mix3_ld_r1 mem_password + 1
mix3_dec_r1
mix3_ldrb_r0_r1
mix3_add_r0_r0
mix3_add_r0_r0
mix3_cp_r0 0x011c
mix3_jp_ne loc_2058
mix3_inc_r3
loc_2058:
mix3_ld_r0 -1
mix3_end
ld_r2 -1
brk
brk
brk
brk
# ld_r0 0xab67
# ld_r1 0x1234
#loop:
# strb_r0 mod + 1
# brk
#mod:
# copr 0
# brk
# inc_r0
# jp loop
# ret
ld_r2 str_yes
jp_eq end
ld_r2 str_no
end:
call PrintStr
ret
break:
ld_r0 -1
brk
ret
mem_test:
.2byte 0x1000
mem_test2:
.2byte 0x1100
mem_test3:
.2byte 0x1200
mem_test4:
.2byte 0x1300
mem_input:
.ascii "A\0" # 0x9ec0
str_yes:
.ascii "yes\n\0"
str_no:
.ascii "no\n\0"
.fill 0x100 - (. - _start)
mem_password:
.byte 0x47, 0x71, 0x58, 0x66, 0x39, 0x06, 0x07, 0x08