usakdsteen

ゆうさくですてぃーん

2021年04月25日(Sun)の独り言

の呟きは 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%B5

    •  (UPD ) #

      初代プリキュアのOPと
      三つ目がとおるのOPが似てる部分があるとかは
      同じ人が作曲とかあったけど

      •  #

        天地無用のサントラと
        ドラゴンボールZのサントラと
        あれも似てる部分を感じる曲あったりするんだよな

  •  #

    R1Bは今夜か・・・

    •  #

      気分萎えてる

  •  (UPD ) #

    年間100冊以上も本読む人って
    どうやって読んでるんだ・・・?
    365日で100冊ってことは3.65日あたり1冊だよな…
    薄いラノベなら3日くらいで読めなくもないけど
    一般的な書籍だとそんなハイペースで読めないわ・・・

  •  #

    下川みくにの君に吹く風、よい

  •  #

    https://gigazine.net/news/20210425-swan-harasses-knocking-front-doors/

    これは、つらいなあ
    自然動物とは共存不可能!

  •  (UPD ) #

    TYPE:WILDの英語版の歌のハイテンションさがすごい

  •  #

    買い食いとかあると記事数が月の日数より多くなるのがよくわかるな・・・

    f:id:neetsdkasu:20210425192053p:plain
    •  #

      独り言自体は毎日やってるわけではないが(今月は16日にゼロになってる

      f:id:neetsdkasu:20210425192104p:plain
    •  #

      今月買い食いしすぎでは・・・?

  •  #

    ファイル内検索実行したら固まった・・・

    f:id:neetsdkasu:20210425213950p:plain
    •  #

      ナンデ・・・

    •  #

      CPUを最大減に使ってるようだが・・・(25%制限は受けてるぽいが

      •  #

        ファイルアクセスはあるのか分からんし
        メモリも膨れてないし
        CPUだけ使って固まってる・・・

      •  #

        アプリが25%制限を受ける仕組みってどうなってんの?
        (CPUが2コア各2スレッドで1スレッドあたり25%ぽいのは分かるんだが、25%で制限されるアプリと制限されず100%使い切るアプリと何が違うんだ・・・?

    •  #

      真っ白なせいでキャンセルボタンすらない

    •  #

      プロセス強制終了しておいた・・・

      •  #

        色々と、壊れてそう・・・

      •  #

        再起動でもう一度ファイル内検索を実行したら一瞬・・・
        何かバグを踏んだぽい・・・

        •  #

          フィルタが空だったことが影響・・・?

  •  #

    Const,Sub,ForEachあたり作ろうかと思ったけど
    もういいか
    そんなに作りこんでもしゃーないし

 < の独り言 | の独り言 | の独り言 >