Assembler for SISC 0.99 written by George Ho (kyho@csie.nctu.edu.tw).
(ͤ)
patched by Jimmy Chen(jinming@csie.nctu.edu.tw).T

iΫO:
    "LOAD","LDI","STORE","MOVE","ADD","FADD","OR","AND","XOR", 
    "ROTR","BR","HALT","NOP","GETC","PUTC","GETI","PUTI","GETS","PUTS", 
    "CMP","JLT","JEQ","JGT","CALL","RET"
    
O:
    ORG,DB,END

`N:
    Labeleiť,Label[":",ӥBnۦ@ (iѦP@)
    OPOe@wnťթTAB
    registerse@wn[R, R0,R1,R2...RD,RE,RF

k:
    *** rename your siscasm.txt to siscasm.pl
    perl siscasm.pl <input file> <output file>

Ѧҵ{--qƦr
================================== INPUT ==============================
 ORG	0
 CMP	R0,R0
 JEQ	begin
HELLO: ; Hello
 DB 48,45,4C,4C,4F,0D,0A,32,24,24
INPUT: ; Please input a num:
 DB 49,4E,50,55,54,20,41,20,4E,55,4D,24
LARGER:
 DB 54,6F,6F,20,6C,61,72,67,65,21,20,61,67,61,69,6E,3A,0D,0A,24
LESS:
 DB 54,6F,6F,20,73,6D,61,6C,6C,21,20,61,67,61,69,6E,3A,0D,0A,24
WIN:
 DB 59,6F,75,20,67,6F,74,20,69,74,21,0D,0A,24
;
	NOP
begin:
 PUTS	HELLO
 LDI R1,80			;THE ANSWER
start:
 PUTS	INPUT
 GETI
 CMP	R1,R0		;COMPARE R1,R0
 JLT	larger		;F1,lessthen	;IF LT GOTO lessthen
 JEQ	end			;F2,end	;IF EQ GOTO end
        ;larger
 PUTS	LESS
 CMP	R0,R0
	JEQ	start		;goto start
larger:
 PUTS	LARGER
	CMP R0,R0
	JEQ start		;goto start
end:
 PUTS	WIN
 HALT
 END

================================== OUTPUT ==============================
F000 ; CMP R0,R0
F252 ; JEQ begin
     ; HELLO: ; Hello
4845
4C4C
4F0D
0A32
2424
     ; INPUT: ; Please input a num:
494E
5055
5420
4120
4E55
4D24
     ; LARGER:
546F
6F20
6C61
7267
6521
2061
6761
696E
3A0D
0A24
     ; LESS:
546F
6F20
736D
616C
6C21
2061
6761
696E
3A0D
0A24
     ; WIN:
596F
7520
676F
7420
6974
210D
0A24
     ; ;
0000 ; NOP
     ; begin:
D604 ; PUTS HELLO
2180 ; LDI R1,80 ;THE ANSWER
     ; start:
D60E ; PUTS INPUT
D200 ; GETI
F010 ; CMP R1,R0 ;COMPARE R1,R0
F166 ; JLT larger ;F1,lessthen ;IF LT GOTO lessthen
F26C ; JEQ end ;F2,end ;IF EQ GOTO end
     ;         ;larger
D62E ; PUTS LESS
F000 ; CMP R0,R0
F256 ; JEQ start ;goto start
     ; larger:
D61A ; PUTS LARGER
F000 ; CMP R0,R0
F256 ; JEQ start ;goto start
     ; end:
D642 ; PUTS WIN
C000 ; HALT
     ; 
