usakdsteen

ゆうさくですてぃーん

2021年04月02日(Fri)の独り言

の呟きは 7

 < の独り言 | の独り言 | の独り言 > 
  •  #

    おk


    ' *** PRINT PRIMES ***
    Dim flag(255) As Boolean
    Dim prime(90) As Integer
    Dim count As Integer
    Dim i As Integer
    Dim j As Integer
    Dim s As String
    For i = 2 To 255
    flag(i) = False
    Next i
    count = 0
    For i = 2 To 255
    If flag(i) Then
    Continue For
    End If
    prime(count) = i
    count += 1
    For j = i + i To 255 Step i
    flag(j) = True
    Next j
    Next i
    Print "PRIMES: " & CStr(count)
    s = ""
    For i = 0 To count - 1
    If prime(i) < 10 Then
    s = s & " "
    ElseIf prime(i) < 100 Then
    s = s & " "
    End If
    s = s & CStr(prime(i)) & ","
    If i Mod 10 = 9 Then
    Print s
    s = ""
    End If
    Next i
    If Len(s) > 0 Then
    Print s
    End If

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


      PRIMES START
      ; For i = 2 To 255 Step 1
      LAD GR7,255
      ST GR7,T1
      LAD GR7,2
      ST GR7,I4
      J1 NOP
      LD GR1,I4
      CPA GR1,T1
      JPL J3
      ; flag( i ) = False
      LD GR7,I4
      LD GR1,GR7
      LAD GR2,256
      CALL C11
      LD GR7,GR0
      LAD GR6,#0000
      ST GR6,BA1,GR7
      ; Next i
      J2 NOP
      LD GR1,I4
      LAD GR1,1,GR1
      ST GR1,I4
      JUMP J1
      J3 NOP
      ; count = 0
      LAD GR7,0
      ST GR7,I3
      ; For i = 2 To 255 Step 1
      LAD GR7,255
      ST GR7,T1
      LAD GR7,2
      ST GR7,I4
      J6 NOP
      LD GR1,I4
      CPA GR1,T1
      JPL J8
      ; If flag(i) Then
      LD GR7,I4
      LD GR1,GR7
      LAD GR2,256
      CALL C11
      LD GR7,GR0
      LD GR7,BA1,GR7
      AND GR7,GR7
      JZE J9
      ; Continue For
      JUMP J7
      ; End If
      J9 NOP
      ; prime( count ) = i
      LD GR7,I3
      LD GR1,GR7
      LAD GR2,91
      CALL C11
      LD GR7,GR0
      LD GR6,I4
      ST GR6,IA2,GR7
      ; count += 1
      LAD GR7,1
      ADDA GR7,I3
      ST GR7,I3
      ; For j = (i + i) To 255 Step i
      LD GR7,I4
      ST GR7,T2
      LAD GR7,255
      ST GR7,T3
      LD GR7,I4
      LD GR6,I4
      ADDA GR7,GR6
      ST GR7,I5
      J10 NOP
      LD GR1,T2
      JMI J11
      LD GR1,I5
      CPA GR1,T3
      JUMP J12
      J11 LD GR1,T3
      CPA GR1,I5
      J12 NOP
      JPL J14
      ; flag( j ) = True
      LD GR7,I5
      LD GR1,GR7
      LAD GR2,256
      CALL C11
      LD GR7,GR0
      LAD GR6,#FFFF
      ST GR6,BA1,GR7
      ; Next j
      J13 NOP
      LD GR1,I5
      ADDA GR1,T2
      ST GR1,I5
      JUMP J10
      J14 NOP
      ; Next i
      J7 NOP
      LD GR1,I4
      LAD GR1,1,GR1
      ST GR1,I4
      JUMP J6
      J8 NOP
      ; Print ("PRIMES: " & CStr(count))
      LD GR7,I3
      LD GR3,GR7
      LAD GR1,TB1
      LAD GR2,TL1
      CALL C5
      LAD GR1,TB2
      LAD GR2,TL2
      LAD GR3,='PRIMES: '
      LD GR4,=8
      CALL C8
      LAD GR1,TB2
      LAD GR2,TL2
      LAD GR3,TB1
      LD GR4,TL1
      CALL C7
      OUT TB2,TL2
      ; s = ""
      LAD GR1,SB6
      LAD GR2,SL6
      LAD GR3,=0
      LAD GR4,0
      CALL C8
      ; For i = 0 To (count - 1) Step 1
      LD GR7,I3
      SUBA GR7,=1
      ST GR7,T1
      LAD GR7,0
      ST GR7,I4
      J37 NOP
      LD GR1,I4
      CPA GR1,T1
      JPL J39
      ; If (prime(i) < 10) Then
      LD GR7,I4
      LD GR1,GR7
      LAD GR2,91
      CALL C11
      LD GR7,GR0
      LD GR7,IA2,GR7
      LAD GR6,10
      SUBA GR7,GR6
      SRA GR7,15
      AND GR7,GR7
      JZE J41
      ; s = (s & " ")
      LAD GR1,TB2
      LAD GR2,TL2
      LAD GR3,SB6
      LD GR4,SL6
      CALL C8
      LAD GR1,TB2
      LAD GR2,TL2
      LAD GR3,=' '
      LD GR4,=2
      CALL C7
      LAD GR1,SB6
      LAD GR2,SL6
      LAD GR3,TB2
      LD GR4,TL2
      CALL C8
      JUMP J40
      ; ElseIf (prime(i) < 100) Then
      J41 NOP
      LD GR7,I4
      LD GR1,GR7
      LAD GR2,91
      CALL C11
      LD GR7,GR0
      LD GR7,IA2,GR7
      LAD GR6,100
      SUBA GR7,GR6
      SRA GR7,15
      AND GR7,GR7
      JZE J40
      ; s = (s & " ")
      LAD GR1,TB2
      LAD GR2,TL2
      LAD GR3,SB6
      LD GR4,SL6
      CALL C8
      LAD GR1,TB2
      LAD GR2,TL2
      LAD GR3,=' '
      LD GR4,=1
      CALL C7
      LAD GR1,SB6
      LAD GR2,SL6
      LAD GR3,TB2
      LD GR4,TL2
      CALL C8
      ; End If
      J40 NOP
      ; s = (s & (CStr(prime(i)) & ","))
      LD GR7,I4
      LD GR1,GR7
      LAD GR2,91
      CALL C11
      LD GR7,GR0
      LD GR7,IA2,GR7
      LD GR3,GR7
      LAD GR1,TB2
      LAD GR2,TL2
      CALL C5
      LAD GR1,TB2
      LAD GR2,TL2
      LAD GR3,=','
      LD GR4,=1
      CALL C7
      LAD GR1,TB1
      LAD GR2,TL1
      LAD GR3,SB6
      LD GR4,SL6
      CALL C8
      LAD GR1,TB1
      LAD GR2,TL1
      LAD GR3,TB2
      LD GR4,TL2
      CALL C7
      LAD GR1,SB6
      LAD GR2,SL6
      LAD GR3,TB1
      LD GR4,TL1
      CALL C8
      ; If *1 Then
      LD GR7,I2
      LD GR1,GR7
      LD GR2,SL1
      CALL C11
      LD GR7,GR0
      LD GR7,SB1,GR7
      LD GR6,='A'
      SUBA GR7,GR6
      SRA GR7,15
      XOR GR7,=#FFFF
      LD GR6,I2
      LD GR1,GR6
      LD GR2,SL1
      CALL C11
      LD GR6,GR0
      LD GR6,SB1,GR6
      LD GR5,='Z'
      SUBA GR5,GR6
      SRA GR5,15
      XOR GR5,=#FFFF
      LD GR6,GR5
      AND GR7,GR6
      AND GR7,GR7
      JZE J5
      ; s( i ) = (s(i) + ("a"c - "A"c))
      LD GR7,I2
      LD GR1,GR7
      LD GR2,SL1
      CALL C11
      LD GR7,GR0
      LD GR6,I2
      LD GR1,GR6
      LD GR2,SL1
      CALL C11
      LD GR6,GR0
      LD GR6,SB1,GR6
      LD GR5,='a'
      SUBA GR5,='A'
      ADDA GR6,GR5
      ST GR6,SB1,GR7
      JUMP J4
      ; ElseIf Not *2 Then
      J5 NOP
      LD GR7,I2
      LD GR1,GR7
      LD GR2,SL1
      CALL C11
      LD GR7,GR0
      LD GR7,SB1,GR7
      LD GR6,='a'
      SUBA GR7,GR6
      SRA GR7,15
      LD GR6,I2
      LD GR1,GR6
      LD GR2,SL1
      CALL C11
      LD GR6,GR0
      LD GR6,SB1,GR6
      LD GR5,='z'
      SUBA GR5,GR6
      SRA GR5,15
      LD GR6,GR5
      OR GR7,GR6
      XOR GR7,=#FFFF
      AND GR7,GR7
      JZE J4
      ; s( i ) = (s(i) + ("A"c - "a"c))
      LD GR7,I2
      LD GR1,GR7
      LD GR2,SL1
      CALL C11
      LD GR7,GR0
      LD GR6,I2
      LD GR1,GR6
      LD GR2,SL1
      CALL C11
      LD GR6,GR0
      LD GR6,SB1,GR6
      LD GR5,='A'
      SUBA GR5,='a'
      ADDA GR6,GR5
      ST GR6,SB1,GR7
      ; End If
      J4 NOP
      ; Next i
      J2 NOP
      LD GR1,I2
      LAD GR1,1,GR1
      ST GR1,I2
      JUMP J1
      J3 NOP
      ; Print s
      OUT SB1,SL1
      RET
      ; Dim i As Integer
      I2 DS 1
      ; Dim s As String
      SL1 DS 1
      SB1 DS 256
      T1 DS 1
      LL1 DC 17
      LB1 DC 'Swapcase Alphabet'
      ; FuncMax
      C2 CPA GR1,GR2
      JMI J7
      LD GR0,GR1
      RET
      J7 LD GR0,GR2
      RET
      ; FuncMin
      C3 CPA GR1,GR2
      JMI J6
      LD GR0,GR2
      RET
      J6 LD GR0,GR1
      RET
      ; UtilSafeIndex
      C11 PUSH 0,GR1
      PUSH 0,GR2
      LAD GR2,-1,GR2
      CALL C3
      XOR GR1,GR1
      LD GR2,GR0
      CALL C2
      POP GR2
      POP GR1
      RET
      END

  •  #

    shower timeしないと

    •  #

      shower time!!!!!!!!

  •  #

    マイナンバーカード申請のやつ
    今日来なかったとすると土日に来ることはないだろうから来週か・・・3週間か・・・

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

*1:i Mod 10) = 9) Then
LD GR7,I4
LAD GR6,10
PUSH 0,GR6
LD GR2,GR7
POP GR3
CALL C9
LD GR0,GR1
LD GR7,GR0
LAD GR6,9
SUBA GR7,GR6
LD GR6,GR7
XOR GR6,=#FFFF
LAD GR6,1,GR6
OR GR7,GR6
SRA GR7,15
XOR GR7,=#FFFF
AND GR7,GR7
JZE J42
; Print s
OUT SB6,SL6
; s = ""
LAD GR1,SB6
LAD GR2,SL6
LAD GR3,=0
LAD GR4,0
CALL C8
; End If
J42 NOP
; Next i
J38 NOP
LD GR1,I4
LAD GR1,1,GR1
ST GR1,I4
JUMP J37
J39 NOP
; If (Len(s) > 0) Then
LD GR7,SL6
LAD GR6,0
SUBA GR6,GR7
SRA GR6,15
LD GR7,GR6
AND GR7,GR7
JZE J43
; Print s
OUT SB6,SL6
; End If
J43 NOP
RET
; Dim count As Integer
I3 DS 1
; Dim i As Integer
I4 DS 1
; Dim j As Integer
I5 DS 1
; Dim s As String
SL6 DS 1
SB6 DS 256
; Dim flag(255) As Boolean
BA1 DS 256
; Dim prime(90) As Integer
IA2 DS 91
T1 DS 1
T2 DS 1
T3 DS 1
TL1 DS 1
TB1 DS 256
TL2 DS 1
TB2 DS 256
; FuncAbs
C0 LD GR0,GR1
JMI J32
RET
J32 XOR GR0,GR0
SUBA GR0,GR1
RET
; FuncMax
C2 CPA GR1,GR2
JMI J5
LD GR0,GR1
RET
J5 LD GR0,GR2
RET
; FuncMin
C3 CPA GR1,GR2
JMI J4
LD GR0,GR2
RET
J4 LD GR0,GR1
RET
; FuncCStrArgInt
C5 AND GR3,GR3
JNZ J15
LAD GR3,1
ST GR3,0,GR2
LAD GR3,='0'
ST GR3,0,GR1
XOR GR3,GR3
RET
J15 PUSH 0,GR1
PUSH 0,GR2
PUSH 0,GR3
PUSH 0,GR4
PUSH 0,GR5
JPL J16
LAD GR4,='-'
ST GR4,0,GR1
LAD GR1,1,GR1
XOR GR3,=#FFFF
LAD GR3,1,GR3
J16 LAD GR4,V1
LD GR5,GR1
LD GR2,GR3
LAD GR3,10
J17 CALL C9
ADDL GR1,='0'
ST GR1,0,GR4
LAD GR4,1,GR4
LD GR2,GR0
JPL J17
LAD GR2,V1
LAD GR4,-1,GR4
J18 LD GR1,0,GR4
ST GR1,0,GR5
LAD GR5,1,GR5
LAD GR4,-1,GR4
CPL GR4,GR2
JPL J18
JZE J18
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
C7 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
J35 CPL GR1,GR2
JZE J36
CPL GR3,GR4
JZE J36
LD GR0,0,GR3
ST GR0,0,GR1
LAD GR1,1,GR1
LAD GR3,1,GR3
JUMP J35
J36 LD GR0,GR1
POP GR4
POP GR3
POP GR2
POP GR1
SUBL GR0,GR1
ST GR0,0,GR2
RET
; UtilCopyStr
C8 PUSH 0,GR1
PUSH 0,GR2
PUSH 0,GR3
PUSH 0,GR4
ST GR4,0,GR2
AND GR4,GR4
JZE J34
J33 LD GR2,0,GR3
ST GR2,0,GR1
LAD GR3,1,GR3
LAD GR1,1,GR1
SUBA GR4,=1
JPL J33
J34 POP GR4
POP GR3
POP GR2
POP GR1
RET
; UtilDivMod
C9 AND GR3,GR3
JNZ J19
XOR GR0,GR0
LAD GR1,-1
RET
J19 PUSH 0,GR2
PUSH 0,GR3
PUSH 0,GR4
PUSH 0,GR5
LD GR4,GR2
LD GR1,GR2
CALL C0
LD GR5,GR0
LD GR1,GR3
CALL C0
LD GR1,GR0
LAD GR0,1
J20 ADDL GR1,GR1
JOV J21
ADDL GR0,GR0
JUMP J20
J21 SRL GR1,1
LAD GR1,#8000,GR1
XOR GR2,GR2
J22 CPL GR5,GR1
JMI J23
SUBL GR5,GR1
ADDL GR2,GR0
J23 SRL GR0,1
JZE J24
SRL GR1,1
JUMP J22
J24 LD GR5,GR4
XOR GR5,GR3
SRA GR5,15
XOR GR2,GR5
SUBA GR2,GR5
CALL C10
LD GR1,GR4
SUBA GR1,GR0
LD GR0,GR2
POP GR5
POP GR4
POP GR3
POP GR2
RET
; UtilMul
C10 PUSH 0,GR2
PUSH 0,GR3
PUSH 0,GR4
PUSH 0,GR5
XOR GR0,GR0
XOR GR1,GR1
LD GR4,GR2
LD GR5,GR3
J25 SRL GR2,1
JOV J26
JNZ J28
JUMP J29
J26 ADDL GR0,GR3
JOV J27
JUMP J28
J27 LAD GR1,1,GR1
J28 SLL GR3,1
JUMP J25
J29 SRL GR5,1
SLL GR4,1
JOV J30
JNZ J29
JUMP J31
J30 ADDL GR1,GR5
JUMP J29
J31 POP GR5
POP GR4
POP GR3
POP GR2
RET
; UtilSafeIndex
C11 PUSH 0,GR1
PUSH 0,GR2
LAD GR2,-1,GR2
CALL C3
XOR GR1,GR1
LD GR2,GR0
CALL C2
POP GR2
POP GR1
RET
END

  •  #

    うごいた

    ' *** SWAPCASE ***
    Dim s As String
    Dim i As Integer
    Print "Swapcase Alphabet"
    Input s
    For i = 0 To Len(s) - 1
    If s(i) >= "A"c And s(i) <= "Z"c Then
    s(i) = s(i) + "a"c - "A"c
    ElseIf Not (s(i) < "a"c Or s(i) > "z"c) Then
    s(i) = s(i) + "A"c - "a"c
    End If
    Next i
    Print s

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


      SWAPCASE START
      ; Print "Swapcase Alphabet"
      OUT LB1,LL1
      ; Input s
      IN SB1,SL1
      ; For i = 0 To (Len(s) - 1) Step 1
      LD GR7,SL1
      SUBA GR7,=1
      ST GR7,T1
      LAD GR7,0
      ST GR7,I2
      J1 NOP
      LD GR1,I2
      CPA GR1,T1
      JPL J3
      ; If ((s(i) >= "A"c) And (s(i) <= "Z"c

      *2:s(i) < "a"c) Or (s(i) > "z"c