Вот интересное место:
Код:
L36040:	CMP	000032(R5), #000012	; < 10. ?
L36046:	BLT	L36054
L36050:	CLR	R0
L36052:	BR	L36060
L36054:	MOV	#000001, R0
L36060:	COMB	R0
L36062:	MOVB	000047(R5), R1		; Фонарь горит?
L36066:	BICB	R0, R1
L36070:	CMP	000032(R5), #000001
L36076:	BGT	L36104
L36100:	CLR	R0
L36102:	BR	L36110
L36104:	MOV	#000001, R0
L36110:	COMB	R0
L36112:	BICB	R0, R1
L36114:	BNE	L36122
L36116:	JMP	L36144
Текущий перевод в Паскаль:
Код:
if (VAR32 < 10) and VAR47 and (VAR32 > 1) then
Проблема в том чтобы сгенерировать точно такой же код, как в оригинале, но Паскаль даёт несколько другой код:
Код:
; if (VAR32 < 10) and VAR47 and (VAR32 > 1) then
	CMP 	26(5),#10
	BLT	L792
	CLR	%0
	BR	L793
L792:	MOV	#1,%0
L793:
	MOVB	39(5),%1
	COM 	%1
	BICB	%1,%0
	CMP 	26(5),#1
	BGT	L794
	CLR	%1
	BR	L795
L794:	MOV	#1,%1
L795:
	COMB	%1
	BICB	%1,%0
	BNE	L796
	JMP	L797
L796:
Пробовал разные комбинации, пока не нашёл.