projects
/
YACASL2.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
アセンブル時の動作を整理
[YACASL2.git]
/
as
/
casl2lib
/
minim.casl
1
;;; 複数のWORD値の中から、最小値を返す
2
;;; 入力: GR1: WORD値を格納したアドレス GR2: 値の個数
3
;;; 出力: GR0: 最小値
4
MINIM START
5
RPUSH
6
LD GR0,0,GR1 ; MIN <- GR1アドレスの値
7
ST GR0,MIN ; ↓
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,MIN ;
14
JPL S2 ;
15
JZE S2 ;
16
ST GR0,MIN ;
17
S2 LAD GR3,1,GR3 ;
18
JUMP S1 ;
19
RET LD GR0,MIN ;
20
RPOP
21
RET
22
MIN DS 1 ; 最小値を格納
23
END