の呟きは 27
フィボナッチ!
Option Allocator Internal 100
Program FIB
Argument
ByVal n As Integer From GR1
ByRef r As Integer From GR2
End Argument
Dim t As Integer
If n <= 0 Then
r = 0
ElseIf n = 1 Then
r = 1
Else
Call FIB(n - 1, r)
Call FIB(n - 2, t)
r += t
End If
End Program
FIB START
RPUSH
; Allocate Memory
LD GR0,GR1
LD GR1,MEM
PUSH 0,GR1
LD GR1,GR0
PUSH 0,GR1
XOR GR0,GR0
LAD GR1,3
CALL ALLOC
ST GR0,MEM
POP GR1
; Argument n
LD GR7,MEM
LAD GR7,0,GR7
ST GR1,0,GR7
; Argument r
LD GR7,MEM
LAD GR7,1,GR7
ST GR2,0,GR7
; Init Variable
XOR GR0,GR0
LD GR1,MEM
LAD GR1,2,GR1
ST GR0,0,GR1
; If (n <= 0) Then
LD GR7,MEM
LD GR7,0,GR7
XOR GR6,GR6
XOR GR0,GR0
CPA GR7,GR6
JPL J4
LAD GR0,#FFFF
J4 LD GR7,GR0
AND GR7,GR7
JZE J2
; r = 0
XOR GR7,GR7
LD GR6,MEM
LD GR6,1,GR6
ST GR7,0,GR6
JUMP J1
; ElseIf (n = 1) Then
J2 NOP
LD GR7,MEM
LD GR7,0,GR7
LAD GR6,1
SUBA GR7,GR6
JZE J5
LAD GR7,#FFFF
J5 XOR GR7,=#FFFF
AND GR7,GR7
JZE J3
; r = 1
LAD GR7,1
LD GR6,MEM
LD GR6,1,GR6
ST GR7,0,GR6
JUMP J1
; Else
J3 NOP
; Call FIB
; ByVal n As Integer [GR1]
; n = (n - 1)
LD GR7,MEM
LD GR7,0,GR7
LAD GR7,-1,GR7
ST GR7,T1
; ByRef r As Integer [GR2]
; r = r
; Set Arguments And Call FIB
LD GR1,T1
LD GR2,MEM
LD GR2,1,GR2
CALL FIB
; Call FIB
; ByVal n As Integer [GR1]
; n = (n - 2)
LD GR7,MEM
LD GR7,0,GR7
LAD GR7,-2,GR7
ST GR7,T1
; ByRef r As Integer [GR2]
; r = t
; Set Arguments And Call FIB
LD GR1,T1
LD GR2,MEM
LAD GR2,2,GR2
CALL FIB
; r += t
LD GR7,MEM
LD GR7,2,GR7
LD GR6,MEM
LD GR6,1,GR6
ADDA GR7,0,GR6
ST GR7,0,GR6
; End If
J1 NOP
EXIT NOP
; Release Memory
LAD GR0,1
LD GR1,MEM
CALL ALLOC
POP GR1
ST GR1,MEM
RPOP
RET
MEM DS 1
T1 DS 1
; UtilAllocator
ALLOC AND GR0,GR0
JNZ J8
LAD GR0,V3
ADDL GR0,V1
CPL GR0,V2
JZE J7
J6 ST GR1,V1
LAD GR0,V3
ADDL GR1,GR0
ST GR1,V2
RET
J7 ADDL GR0,GR1
CPL GR0,V4
JPL J6
ST GR0,V2
SUBL GR0,GR1
ADDL GR1,V1
ST GR1,V1
RET
J8 ST GR1,V2
LAD GR0,V3
SUBL GR1,GR0
ST GR1,V1
RET
V1 DS 1
V2 DS 1
V3 DS 100
V4 DC V4
END呼び出しコード
Extern Sub FIB With
ByVal n As Integer To GR1
ByRef r As Integer To GR2
End Sub
Program TEST
Dim i As Integer
Dim x As Integer
For i = 0 To 20
Call FIB(i, x)
Print "FIB(" & CStr(i) & ") = " & CStr(x)
Next i
End Program
TEST START
RPUSH
; Init Variables
LAD GR1,I1
XOR GR2,GR2
LAD GR3,2
CALL C14
; For i = 0 To 20 Step 1
XOR GR7,GR7
ST GR7,I1
J1 NOP
LD GR1,I1
CPA GR1,=20
JPL J3
; Call FIB
; ByVal n As Integer [GR1]
; n = i
; ByRef r As Integer [GR2]
; r = x
; Set Arguments And Call FIB
LD GR1,I1
LAD GR2,I2
CALL FIB
; Print ((("FIB(" & CStr(i)) & ") = ") & CStr(x))
LD GR7,I1
LD GR3,GR7
LAD GR1,TB1
LAD GR2,TL1
CALL C3
LAD GR1,TB2
LAD GR2,TL2
LAD GR3,='FIB('
LAD GR4,4
CALL C11
LAD GR1,TB2
LAD GR2,TL2
LAD GR3,TB1
LD GR4,TL1
CALL C9
LAD GR1,TB2
LAD GR2,TL2
LAD GR3,=') = '
LAD GR4,4
CALL C9
LD GR7,I2
LD GR3,GR7
LAD GR1,TB1
LAD GR2,TL1
CALL C3
LAD GR1,TB2
LAD GR2,TL2
LAD GR3,TB1
LD GR4,TL1
CALL C9
OUT TB2,TL2
; Next i
J2 NOP
LAD GR1,I1
LD GR2,0,GR1
LAD GR2,1,GR2
ST GR2,0,GR1
JUMP J1
J3 NOP
EXIT NOP
RPOP
RET
; Dim i As Integer
I1 DS 1
; Dim x As Integer
I2 DS 1
TL1 DS 1
TB1 DS 256
TL2 DS 1
TB2 DS 256
; FuncCStrArgInt
C3 CPL GR3,=#8000
JNZ J4
PUSH 0,GR3
PUSH 0,GR4
LAD GR3,='-32768'
LAD GR4,6
CALL C11
POP GR4
POP GR3
RET
J4 AND GR3,GR3
JNZ J5
LAD GR3,1
ST GR3,0,GR2
LD GR3,='0'
ST GR3,0,GR1
XOR GR3,GR3
RET
J5 PUSH 0,GR1
PUSH 0,GR2
PUSH 0,GR3
PUSH 0,GR4
PUSH 0,GR5
JPL J6
LD GR4,='-'
ST GR4,0,GR1
LAD GR1,1,GR1
XOR GR3,=#FFFF
LAD GR3,1,GR3
J6 LAD GR4,V1
LD GR5,GR1
LD GR2,GR3
LAD GR3,10
J7 CALL C13
ADDL GR1,='0'
ST GR1,0,GR4
LAD GR4,1,GR4
LD GR2,GR0
JPL J7
LAD GR2,V1
LAD GR4,-1,GR4
J8 LD GR1,0,GR4
ST GR1,0,GR5
LAD GR5,1,GR5
LAD GR4,-1,GR4
CPL GR4,GR2
JPL J8
JZE J8
LD GR0,GR5
POP GR5
POP GR4
POP GR3
POP GR2
POP GR1
SUBL GR0,GR1
ST GR0,0,GR2
RET
V1 DS 6
; UtilConcatStr
C9 PUSH 0,GR1
PUSH 0,GR2
PUSH 0,GR3
PUSH 0,GR4
LD GR0,0,GR2
LD GR2,GR1
ADDL GR1,GR0
LAD GR2,256,GR2
ADDL GR4,GR3
J26 CPL GR1,GR2
JZE J27
CPL GR3,GR4
JZE J27
LD GR0,0,GR3
ST GR0,0,GR1
LAD GR1,1,GR1
LAD GR3,1,GR3
JUMP J26
J27 LD GR0,GR1
POP GR4
POP GR3
POP GR2
POP GR1
SUBL GR0,GR1
ST GR0,0,GR2
RET
; UtilCopyStr
C11 PUSH 0,GR1
PUSH 0,GR2
PUSH 0,GR3
PUSH 0,GR4
ST GR4,0,GR2
AND GR4,GR4
JZE J10
J9 LD GR2,0,GR3
ST GR2,0,GR1
LAD GR3,1,GR3
LAD GR1,1,GR1
SUBL GR4,=1
JPL J9
J10 POP GR4
POP GR3
POP GR2
POP GR1
RET
; UtilDivMod
C13 AND GR3,GR3
JNZ J13
XOR GR0,GR0
LAD GR1,-1
RET
J13 PUSH 0,GR2
PUSH 0,GR3
PUSH 0,GR4
PUSH 0,GR5
LD GR4,GR2
LD GR5,GR2
JPL J11
XOR GR5,GR5
SUBA GR5,GR2
J11 LD GR1,GR3
JPL J12
XOR GR1,GR1
SUBA GR1,GR3
J12 LAD GR0,1
J14 ADDL GR1,GR1
JOV J15
ADDL GR0,GR0
JUMP J14
J15 SRL GR1,1
LAD GR1,#8000,GR1
XOR GR2,GR2
J16 CPL GR5,GR1
JMI J17
SUBL GR5,GR1
ADDL GR2,GR0
J17 SRL GR0,1
JZE J18
SRL GR1,1
JUMP J16
J18 LD GR5,GR4
XOR GR5,GR3
SRA GR5,15
XOR GR2,GR5
SUBA GR2,GR5
CALL C16
LD GR1,GR4
SUBA GR1,GR0
LD GR0,GR2
POP GR5
POP GR4
POP GR3
POP GR2
RET
; UtilFill
C14 PUSH 0,GR1
PUSH 0,GR2
PUSH 0,GR3
ADDL GR3,GR1
J28 CPL GR1,GR3
JZE J29
ST GR2,0,GR1
LAD GR1,1,GR1
JUMP J28
J29 POP GR3
POP GR2
POP GR1
RET
; UtilMul
C16 PUSH 0,GR2
PUSH 0,GR3
PUSH 0,GR4
PUSH 0,GR5
XOR GR0,GR0
XOR GR1,GR1
LD GR4,GR2
LD GR5,GR3
J19 SRL GR2,1
JOV J20
JNZ J22
JUMP J23
J20 ADDL GR0,GR3
JOV J21
JUMP J22
J21 LAD GR1,1,GR1
J22 SLL GR3,1
JUMP J19
J23 SRL GR5,1
SLL GR4,1
JOV J24
JNZ J23
JUMP J25
J24 ADDL GR1,GR5
JUMP J23
J25 POP GR5
POP GR4
POP GR3
POP GR2
RET
END
ポケモンのアニメ無印のサントラの曲と
フルメタふもっふのサントラの曲と
何となく似てるなあと思って軽く調べてみたけど特に関連は無さそうな・・・
ほんとにたまたま似てるだけなのか
https://ja.wikipedia.org/wiki/%E3%83%9D%E3%82%B1%E3%83%83%E3%83%88%E3%83%A2%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%BC_(1997-2002%E5%B9%B4%E3%81%AE%E3%82%A2%E3%83%8B%E3%83%A1)#%E3%82%B9%E3%82%BF%E3%83%83%E3%83%95
https://ja.wikipedia.org/wiki/%E3%83%95%E3%83%AB%E3%83%A1%E3%82%BF%E3%83%AB%E3%83%BB%E3%83%91%E3%83%8B%E3%83%83%E3%82%AF!#%E3%83%95%E3%83%AB%E3%83%A1%E3%82%BF%E3%83%AB%E3%83%BB%E3%83%91%E3%83%8B%E3%83%83%E3%82%AF%EF%BC%9F_%E3%81%B5%E3%82%82%E3%81%A3%E3%81%B5R1Bは今夜か・・・
気分萎えてる
- (UPD ) #
年間100冊以上も本読む人って
どうやって読んでるんだ・・・?
365日で100冊ってことは3.65日あたり1冊だよな…
薄いラノベなら3日くらいで読めなくもないけど
一般的な書籍だとそんなハイペースで読めないわ・・・ 下川みくにの君に吹く風、よい
https://gigazine.net/news/20210425-swan-harasses-knocking-front-doors/
これは、つらいなあ
自然動物とは共存不可能!- (UPD ) #
TYPE:WILDの英語版の歌のハイテンションさがすごい
買い食いとかあると記事数が月の日数より多くなるのがよくわかるな・・・
独り言自体は毎日やってるわけではないが(今月は16日にゼロになってる
今月買い食いしすぎでは・・・?
ファイル内検索実行したら固まった・・・
ナンデ・・・
CPUを最大減に使ってるようだが・・・(25%制限は受けてるぽいが
ファイルアクセスはあるのか分からんし
メモリも膨れてないし
CPUだけ使って固まってる・・・アプリが25%制限を受ける仕組みってどうなってんの?
(CPUが2コア各2スレッドで1スレッドあたり25%ぽいのは分かるんだが、25%で制限されるアプリと制限されず100%使い切るアプリと何が違うんだ・・・?
真っ白なせいでキャンセルボタンすらない
プロセス強制終了しておいた・・・
色々と、壊れてそう・・・
再起動でもう一度ファイル内検索を実行したら一瞬・・・
何かバグを踏んだぽい・・・フィルタが空だったことが影響・・・?
Const,Sub,ForEachあたり作ろうかと思ったけど
もういいか
そんなに作りこんでもしゃーないし