;２０１７年平成２９年度春の問題プログラム１
;６４ビット符号なし整数の加算：条件：桁あふれは発生しない。
;-------------
MAIN START
	LAD GR1,N1
	LAD GR2,N2
	CALL ADD64
	RET
;N1 	DC #3F1D
;	DC #B759
;	DC #2E0C
;	DC #A684
;N2 	DC #2E0C
;	DC #A684
;	DC #3F1D
;	DC #B759
N1 	DC #A010
	DC #0000
	DC #0000
	DC #00F0
N2	DC #5010
	DC #0000
	DC #0000
	DC #0011
	END
;------------------
ADD64 START
	RPUSH
	LD GR0,=0
	LAD GR3,3,GR1
	LAD GR4,3,GR2
LOOP LD GR5,=0
	ADDL GR0,0,GR3
	JOV OV1
	JUMP NOV1
OV1 LD GR5,=1 ; 問い a 答え オ　桁上がり確保
NOV1 ADDL GR0,0,GR4
	JOV OV2
	JUMP NOV2
OV2 LD GR5,=1  ; 問い a 答え　オ　桁上がり確保
NOV2 ST GR0,0,GR3
	LD GR0,GR5 ;桁上がりを上位桁に加算用
	CPL GR3,GR1 ; GR3 が最上位桁と同じになったか？
	JZE EXIT
	SUBL GR3,=1
	SUBL GR4,=1
	JUMP LOOP
EXIT RPOP
	RET
	END
;----------------
