+++ /dev/null
-;;; 連続した複数のWORDを符号付き整数とみなして最大値を返す
-;;; 入力: GR1: WORD値を格納したアドレス GR2: 値の個数
-;;; 出力: GR0: 最大値
-MAX START
- RPUSH
- LD GR0,0,GR1 ; MAX <- GR1アドレスの値
- ST GR0,MAX ; ↓
- LAD GR3,0 ; GR3:インデックス 初期化
-S1 CPA GR3,GR2 ; ループ先頭。(GR2 = GR3)の場合、終了
- JZE RET ; ↓
- LAD GR1,1,GR1 ; GR1 <- GR1 + 1
- LD GR0,0,GR1 ;
- CPA GR0,MAX ;
- JMI S2 ;
- JZE S2 ;
- ST GR0,MAX ;
-S2 LAD GR3,1,GR3 ;
- JUMP S1 ;
-RET LD GR0,MAX ;
- RPOP
- RET
-MAX DS 1 ; 最小値を格納
- END