projects
/
YACASL2.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
READMEの年度表記を修正
[YACASL2.git]
/
as
/
casl2lib
/
max.casl
1
;;; 連続した複数のWORDを符号付き整数とみなして最大値を返す
2
;;; 入力: GR1: WORD値を格納したアドレス GR2: 値の個数
3
;;; 出力: GR0: 最大値
4
MAX START
5
RPUSH
6
LD GR0,0,GR1 ; MAX <- GR1アドレスの値
7
ST GR0,MAX ; ↓
8
LAD GR3,0 ; GR3:インデックス 初期化
9
S1 CPA GR3,GR2 ; ループ先頭。(GR2 = GR3)の場合、終了
10
JZE RET ; ↓
11
LAD GR1,1,GR1 ; GR1 <- GR1 + 1
12
LD GR0,0,GR1 ;
13
CPA GR0,MAX ;
14
JMI S2 ;
15
JZE S2 ;
16
ST GR0,MAX ;
17
S2 LAD GR3,1,GR3 ;
18
JUMP S1 ;
19
RET LD GR0,MAX ;
20
RPOP
21
RET
22
MAX DS 1 ; 最小値を格納
23
END