Result

TLE

Code [DL]

putchar:equ	08000h
getchar:equ	08003h

	ld	D,1
	ld	E,1

loop:
	call	getchar
	ld	B,A
	; if C == 'T' then D = 0
	ld	A,B
	cp	'T'
	jr	NZ,endif_T
	ld	D,0
endif_T:
	; if C == 'K' then E = 0
	ld	A,B
	cp	'K'
	jr	NZ,endif_K
	ld	E,0
endif_K:
	; if D == 0 || E == 0 then putchar 'X'
	ld	A,D
	cp	0
	jr	Z,if_C
	ld	A,E
	cp	0
	jr	Z,if_C
	ld A,B
	jr	endif_C
if_C:
	ld	A,'X'
	jr endif_C
endif_C:
	; output
	call	putchar
	; if D == 0 and E == 0 then exit
	ld	A,D
	or	E
	jr	NZ,endif_halt
	halt
endif_halt:
	; D = (D+1)%51
	inc	D
	ld	A,D
	cp	51
	jr	NZ,endif_step
	ld	D,0
endif_step:
	jr	loop

Disassembly

        ORG     0000h

        LD      A,(BC)
        LD      (HL),B
        LD      (HL),L
        LD      (HL),H
        LD      H,E
        LD      L,B
        LD      H,C
        LD      (HL),D
        LD      A,(7165h)
        LD      (HL),L
        ADD     HL,BC
        JR      NC,L0047
        JR      NC,L0041
        JR      NC,L007B
        LD      A,(BC)
        LD      H,A
        LD      H,L
        LD      (HL),H
        LD      H,E
        LD      L,B
        LD      H,C
        LD      (HL),D
        LD      A,(7165h)
        LD      (HL),L
        ADD     HL,BC
        JR      NC,L005A
        JR      NC,L0054
        INC     SP
        LD      L,B
        LD      A,(BC)
        LD      A,(BC)
        ADD     HL,BC
        LD      L,H
        LD      H,H
        ADD     HL,BC
        LD      B,H
        INC     L
        LD      SP,090Ah
        LD      L,H
        LD      H,H
        ADD     HL,BC
        LD      B,L
        INC     L
        LD      SP,0A0Ah
        LD      L,H
        LD      L,A
        LD      L,A
        LD      (HL),B
        LD      A,(090Ah)
        LD      H,E
L0041:  LD      H,C
        LD      L,H
        LD      L,H
        ADD     HL,BC
        LD      H,A
        LD      H,L
L0047:  LD      (HL),H
        LD      H,E
        LD      L,B
        LD      H,C
        LD      (HL),D
        LD      A,(BC)
        ADD     HL,BC
        LD      L,H
        LD      H,H
        ADD     HL,BC
        LD      B,D
        INC     L
        LD      B,C
L0054:  LD      A,(BC)
        ADD     HL,BC
        DEC     SP
        JR      NZ,L00C2
        LD      H,(HL)
L005A:  JR      NZ,L009D+2      ; reference not aligned to instruction
        JR      NZ,L009B
        DEC     A
        JR      NZ,L0088
        LD      D,H
        DAA
        JR      NZ,L00D9
        LD      L,B
        LD      H,L
        LD      L,(HL)
        JR      NZ,L00AD+1      ; reference not aligned to instruction
        JR      NZ,L00A9
        JR      NZ,L009D+1      ; reference not aligned to instruction
        LD      A,(BC)
        ADD     HL,BC
        LD      L,H
        LD      H,H
        ADD     HL,BC
        LD      B,C
        INC     L
        LD      B,D
        LD      A,(BC)
        ADD     HL,BC
        LD      H,E
        LD      (HL),B
        ADD     HL,BC
L007B:  DAA
        LD      D,H
        DAA
        LD      A,(BC)
        ADD     HL,BC
        LD      L,D
        LD      (HL),D
        ADD     HL,BC
        LD      C,(HL)
        LD      E,D
        INC     L
        LD      H,L
        LD      L,(HL)
L0088:  LD      H,H
        LD      L,C
        LD      H,(HL)
        LD      E,A
        LD      D,H
        LD      A,(BC)
        ADD     HL,BC
        LD      L,H
        LD      H,H
        ADD     HL,BC
        LD      B,H
        INC     L
        JR      NC,L00A0
        LD      H,L
        LD      L,(HL)
        LD      H,H
        LD      L,C
        LD      H,(HL)
L009B:  LD      E,A
        LD      D,H
L009D:  LD      A,(090Ah)
L00A0:  DEC     SP
        JR      NZ,L010C
        LD      H,(HL)
        JR      NZ,L00E7+2      ; reference not aligned to instruction
        JR      NZ,L00E5
        DEC     A
L00A9:  JR      NZ,L00D2
        LD      C,E
        DAA
L00AD:  JR      NZ,L0123
        LD      L,B
        LD      H,L
        LD      L,(HL)
        JR      NZ,L00F8+1      ; reference not aligned to instruction
        JR      NZ,L00F3
        JR      NZ,L00E7+1      ; reference not aligned to instruction
        LD      A,(BC)
        ADD     HL,BC
        LD      L,H
        LD      H,H
        ADD     HL,BC
        LD      B,C
        INC     L
        LD      B,D
        LD      A,(BC)
        ADD     HL,BC
L00C2:  LD      H,E
        LD      (HL),B
        ADD     HL,BC
        DAA
        LD      C,E
        DAA
        LD      A,(BC)
        ADD     HL,BC
        LD      L,D
        LD      (HL),D
        ADD     HL,BC
        LD      C,(HL)
        LD      E,D
        INC     L
        LD      H,L
        LD      L,(HL)
L00D2:  LD      H,H
        LD      L,C
        LD      H,(HL)
        LD      E,A
        LD      C,E
        LD      A,(BC)
        ADD     HL,BC
L00D9:  LD      L,H
        LD      H,H
        ADD     HL,BC
        LD      B,L
        INC     L
        JR      NC,L00EA
        LD      H,L
        LD      L,(HL)
        LD      H,H
        LD      L,C
        LD      H,(HL)
L00E5:  LD      E,A
        LD      C,E
L00E7:  LD      A,(090Ah)
L00EA:  DEC     SP
        JR      NZ,L0156
        LD      H,(HL)
        JR      NZ,L0134
        JR      NZ,L012F
        DEC     A
L00F3:  JR      NZ,L0125
        JR      NZ,L0173
        LD      A,H
L00F8:  JR      NZ,L013F
        JR      NZ,L0139
        DEC     A
        JR      NZ,L012F
        JR      NZ,L0175
        LD      L,B
        LD      H,L
        LD      L,(HL)
        JR      NZ,L0176
        LD      (HL),L
        LD      (HL),H
        LD      H,E
        LD      L,B
        LD      H,C
        LD      (HL),D
L010C:  JR      NZ,L0135
        LD      E,B
        DAA
        LD      A,(BC)
        ADD     HL,BC
        LD      L,H
        LD      H,H
        ADD     HL,BC
        LD      B,C
        INC     L
        LD      B,H
        LD      A,(BC)
        ADD     HL,BC
        LD      H,E
        LD      (HL),B
        ADD     HL,BC
        JR      NC,L0129
        ADD     HL,BC
        LD      L,D
        LD      (HL),D
        ADD     HL,BC
L0123:  LD      E,D
        INC     L
L0125:  LD      L,C
        LD      H,(HL)
        LD      E,A
        LD      B,E
L0129:  LD      A,(BC)
        ADD     HL,BC
        LD      L,H
        LD      H,H
        ADD     HL,BC
        LD      B,C
L012F:  INC     L
        LD      B,L
        LD      A,(BC)
        ADD     HL,BC
        LD      H,E
L0134:  LD      (HL),B
L0135:  ADD     HL,BC
        JR      NC,L0142
        ADD     HL,BC
L0139:  LD      L,D
        LD      (HL),D
        ADD     HL,BC
        LD      E,D
        INC     L
        LD      L,C
L013F:  LD      H,(HL)
        LD      E,A
        LD      B,E
L0142:  LD      A,(BC)
        ADD     HL,BC
        LD      L,H
        LD      H,H
        JR      NZ,L0189
        INC     L
        LD      B,D
        LD      A,(BC)
        ADD     HL,BC
        LD      L,D
        LD      (HL),D
        ADD     HL,BC
        LD      H,L
        LD      L,(HL)
        LD      H,H
        LD      L,C
        LD      H,(HL)
        LD      E,A
        LD      B,E
L0156:  LD      A,(BC)
        LD      L,C
        LD      H,(HL)
        LD      E,A
        LD      B,E
        LD      A,(090Ah)
        LD      L,H
        LD      H,H
        ADD     HL,BC
        LD      B,C
        INC     L
        DAA
        LD      E,B
        DAA
        LD      A,(BC)
        ADD     HL,BC
        LD      L,D
        LD      (HL),D
        JR      NZ,L01D1
        LD      L,(HL)
        LD      H,H
        LD      L,C
        LD      H,(HL)
        LD      E,A
        LD      B,E
        LD      A,(BC)
L0173:  LD      H,L
        LD      L,(HL)
L0175:  LD      H,H
L0176:  LD      L,C
        LD      H,(HL)
        LD      E,A
        LD      B,E
        LD      A,(090Ah)
        DEC     SP
        JR      NZ,L01EE+1      ; reference not aligned to instruction
        LD      (HL),L
        LD      (HL),H
        LD      (HL),B
        LD      (HL),L
        LD      (HL),H
        LD      A,(BC)
        ADD     HL,BC
        LD      H,E
        LD      H,C
L0189:  LD      L,H
        LD      L,H
        ADD     HL,BC
        LD      (HL),B
        LD      (HL),L
        LD      (HL),H
        LD      H,E
        LD      L,B
        LD      H,C
        LD      (HL),D
        LD      A,(BC)
        ADD     HL,BC
        DEC     SP
        JR      NZ,L0201
        LD      H,(HL)
        JR      NZ,L01DF
        JR      NZ,L01DA
        DEC     A
        JR      NZ,L01D0
        JR      NZ,L0203
        LD      L,(HL)
        LD      H,H
        JR      NZ,L01EA+1      ; reference not aligned to instruction
        JR      NZ,L01E5
        DEC     A
        JR      NZ,L01DB
        JR      NZ,L0221
        LD      L,B
        LD      H,L
        LD      L,(HL)
        JR      NZ,L0217
        LD      A,B
        LD      L,C
        LD      (HL),H
        LD      A,(BC)
        ADD     HL,BC
        LD      L,H
        LD      H,H
        ADD     HL,BC
        LD      B,C
        INC     L
        LD      B,H
        LD      A,(BC)
        ADD     HL,BC
        LD      L,A
        LD      (HL),D
        ADD     HL,BC
        LD      B,L
        LD      A,(BC)
        ADD     HL,BC
        LD      L,D
        LD      (HL),D
        ADD     HL,BC
        LD      C,(HL)
        LD      E,D
        INC     L
        LD      H,L
        LD      L,(HL)
        LD      H,H
        LD      L,C
        LD      H,(HL)
L01D0:  LD      E,A
L01D1:  LD      L,B
        LD      H,C
        LD      L,H
        LD      (HL),H
        LD      A,(BC)
        ADD     HL,BC
        LD      L,B
        LD      H,C
        LD      L,H
L01DA:  LD      (HL),H
L01DB:  LD      A,(BC)
        LD      H,L
        LD      L,(HL)
        LD      H,H
L01DF:  LD      L,C
        LD      H,(HL)
        LD      E,A
        LD      L,B
        LD      H,C
        LD      L,H
L01E5:  LD      (HL),H
        LD      A,(090Ah)
        DEC     SP
L01EA:  JR      NZ,L0230
        JR      NZ,L022B
L01EE:  JR      NZ,L0218
        LD      B,H
        DEC     HL
        LD      SP,2529h
        DEC     (HL)
        LD      SP,090Ah
        LD      L,C
        LD      L,(HL)
        LD      H,E
        ADD     HL,BC
        LD      B,H
        LD      A,(BC)
        ADD     HL,BC
        LD      L,H
L0201:  LD      H,H
        ADD     HL,BC
L0203:  LD      B,C
        INC     L
        LD      B,H
        LD      A,(BC)
        ADD     HL,BC
        LD      H,E
        LD      (HL),B
        ADD     HL,BC
        DEC     (HL)
        LD      SP,090Ah
        LD      L,D
        LD      (HL),D
        ADD     HL,BC
        LD      C,(HL)
        LD      E,D
        INC     L
        LD      H,L
        LD      L,(HL)
L0217:  LD      H,H
L0218:  LD      L,C
        LD      H,(HL)
        LD      E,A
        LD      (HL),E
        LD      (HL),H
        LD      H,L
        LD      (HL),B
        LD      A,(BC)
        ADD     HL,BC
L0221:  LD      L,H
        LD      H,H
        ADD     HL,BC
        LD      B,H
        INC     L
        JR      NC,L0232
        LD      H,L
        LD      L,(HL)
        LD      H,H
L022B:  LD      L,C
        LD      H,(HL)
        LD      E,A
        LD      (HL),E
        LD      (HL),H
L0230:  LD      H,L
        LD      (HL),B
L0232:  LD      A,(090Ah)
        LD      L,D
        LD      (HL),D
        ADD     HL,BC
        LD      L,H
        LD      L,A
        LD      L,A
        LD      (HL),B
        LD      A,(BC)

stdin

               T                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
        K                                         

stdout

stderr

strace