亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? interpreter.bas

?? 用ATMEL AVR CPU開發(fā)CF CARD的程式.在BASCOM環(huán)境
?? BAS
?? 第 1 頁 / 共 2 頁
字號:
                      lByte2 = lLong1
                      CF_TransferBuffer(TransferBuffer_Write) = lByte2
                      if TransferBuffer_Write >= 1023 then
                         exit for
                      end if
                   else
                      exit for
                   end if
               next
            end if

         Case "MF"

            lLong2 = TransferBuffer_Write : lLong3 = 1023
            if gbCntToken = 2 then
               lLong1 = GetNextTokenLong(0 , 255)
            elseif gbCntToken = 3 then
               lLong1 = GetNextTokenLong(0 , 255)
               lLong2 = GetNextTokenLong(0 , 1023)
            elseif gbCntToken = 4 then
               lLong1 = GetNextTokenLong(0 , 255)
               lLong2 = GetNextTokenLong(0 , 1023)
               lLong3 = GetNextTokenLong(lLong2 , 1023)
            else
                printParameterCountError "1, 2, 3 "
                exit sub
            end if
            If gbPCInputError = cpNo then
               lByte1 = lLong1
               incr lLong2 : lWord2 = lLong2
               Incr lLong3 : lWord3 = lLong3
               for lWord1 = lWord2 to lWord3
                   CF_Transferbuffer(lWord1) = lByte1
               next
               TransferBuffer_Write = lWord1 - 1
            end if

         Case Else

            Print #1 , "Command '" ; gsPCInput ; "' not recognized"

      End Select
      if Transferbuffer_write > 1023 then
         Transferbuffer_write = 0
      End if

   End If
End Sub



Sub ExtractToken
' Counts the Token in the Input-String: gsPCInput
' following variable and arrays are filled
' cntToken: Cont of Token
' PosStrParts: positions, where the tokens start
' LenStrParts: Count of bytes of each token

   Local Lstrlen As Byte
   Local LparseEnd As Byte
   Local Lpos1 As Byte , Lpos2 As Byte
   ' Init arrays with 0
   For Gbcnttoken = 1 To cpToken_max
      Gbposstrparts(gbcnttoken) = 0 : Gblenstrparts(gbcnttoken) = 0
   Next

   Gbcnttoken = 0
   gsPCInput = Trim(gsPCInput)
   Lstrlen = Len(gsPCInput)             ' how long is string
   If Lstrlen = 0 Then                  'no Input ?
      Exit Sub
   End If
   LparseEnd = 0
   Lpos1 = 0
   For Gbcnttoken = 1 To cpToken_max
      Incr Lpos1
      Lpos2 = Instr(lpos1 , gsPCInput , cpStrSep)       ' find next blank
      If Lpos2 = 0 Then                 ' no more found?
         Lpos2 = Lstrlen : Incr Lpos2 : LparseEnd = 1
      End If
      Gblenstrparts(gbcnttoken) = Lpos2 - Lpos1       ' Lenght of token
      Gbposstrparts(gbcnttoken) = Lpos1
      If LparseEnd = 1 Then
         Exit For
      End If
      Lpos1 = Lpos2
   Next
End Sub


Function GetNextTokenStr(ByVal pbLen_Max as Byte ) as String
   ' Returns next String-token from Input
   ' Parameter: pbLen_Max: Limit for string-length
   Local lbPos as Byte
   Local lbLen as Byte
   incr gbToken_actual                  ' switch to new/next token
   lbPos = gbPosStrParts(gbToken_actual)       ' at which position in string
   lbLen = gbLenStrParts(gbToken_actual)       ' how long
   If lbLen > pbLen_Max Then lbLen = pbLen_Max       ' to long?
   GetNextTokenStr = mid(gsPCInput , lbPos , lbLen)       ' return string
End Function


Function GetNextTokenLong(byVAl plMin as Long , byVal plMax as Long ) as Long
   ' returns a Long-Value from next Token and check for inside lower and upper limit
   ' plMin: minimum limit for return-value
   ' plMax: maximum limit for return-value
   Local lbPos as Byte
   Local lbLen as Byte
   Local lsToken as String * 12
   incr gbToken_actual                  ' switch to new/next token
   lbPos = gbPosStrParts(gbToken_actual)       ' at which position in string
   lbLen = gbLenStrParts(gbToken_actual)       ' how long
   If lbLen > 12 Then lbLen = 12        ' to long?
   if mid(gsPCInput , lbPos , 1) = "$" then       ' Is input a HEX vlue?
      incr lbPos : decr lbLen           ' adjust pointer to jump over $
      lsToken = mid(gsPCInput , lbPos , lbLen)
      GetNextTokenLong = hexval(lstoken)
   Else
       lsToken = mid(gsPCInput , lbPos , lbLen)
       GetNextTokenLong = val(lsToken)
   End if
   Select Case GetNextTokenLong         ' check for limits
      Case plMin to plMax               ' within limits, noting to do
      Case Else
         gbPCInputError = cpYes         ' Set Error Sign
         Print #1 , Spc(lbPos) ; "^ " ; "Parameter Error ";
         PrintParameterErrorL plMin , plMax       ' with wanted limits
   End Select
End Function


Sub PrintParameterCountError(byVAl psParm_Anzahl as String * 10)
   ' User message for wrong count of parameter
   Print #1 , "? " ; psParm_Anzahl ; " " ; "Parameter " ; "expected "
End Sub

Sub PrintParameterErrorl(plParamLow as Long , plParamHigh as Long)
   ' Print Limits at wrong Input - value
   Print #1 , " [ " ; plParamLow ; " ] - [ " ; plParamHigh ; " ] " ; "expected "
End Sub


Sub PrintPrompt()
    Print #1 ,
    Print #1 , hex(TransferBuffer_Write) ; ">" ;
End Sub


Function GetLongFromBuffer(pbSRAMArray as Byte , byVal pbPos as Word) as Long
   ' Extract a Long-Value from a Byte-Array
   ' pbSRAMArray: Byte-array, from which the Long-value should be extracted
   ' pbPos: Position, at which the Long-Value starts (0-based)
   loadadr pbSRAMArray , Z
   loadadr pbPos , X
   ld r24, x+
   ld r25, x+
   add zl, r24
   adc zh, r25
   loadadr GetLongFromBuffer , X
   ldi r24, 4
   !Call _Mem_Copy
End Function


Function GetWordFromBuffer(pbSRAMArray as Byte , byVal pbPos as Word) as Word
   ' Extract a Word-value from a Byte-Array
   ' pbSRAMArray: Byte-array, from which the Word-value should be extracted
   ' pbPos: Position, at which the Word-Value starts (0-based)
   loadadr pbSRAMArray , Z
   loadadr pbPos , X
   ld r24, x+
   ld r25, x+
   add zl, r24
   adc zh, r25
   loadadr GetWordFromBuffer , X
   ldi r24, 2
   !Call _Mem_Copy
End Function


Sub SRAMDump(pwSRAMPointer as Word , byVal pwLength as Word)
    ' Dump a Part of SRAM to Print-Output #1
    ' pwSRAMPointer: (Word) Variable which holds the address of SRAM to dump
    ' pwLength: (Word) Count of Bytes to be dumped (1-based)
    Local lsDump as String * 16
    Local lByte1 as Byte , lByte2 as Byte
    Local lWord1 as Word , lWord2 as Word
    if pwLength > 0 then
      Decr pwLength
      for lword1 = 0 to pwLength
         lWord2 = lWord1 mod 16
         if lWord2 = 0 then
            if lWord1 > 0 then
               Print #1 , "  " ; lsDump
            end if
            Print #1 , hex(lWord1) ; "  " ;
            lsDump = "                "
            lByte2 = 1
         end if
         lByte1 = Inp(pwSRAMPointer)
         incr pwSRAMPointer
         Print #1 , hex(lByte1) ; " " ;
         if lByte1 > 31 then
            mid(lsdump , lByte2 , 1) = lByte1
         else
             mid(lsdump , lByte2 , 1) = "."
         end if
         incr lByte2
      next
      Print #1 , "  " ; lsDump
    End if
End Sub

' -----------------------------------------------------------------------------
' copy Memory from (Z) nach (X)
' counts of bytes in r24
_Mem_Copy:
   ld r25, z+
   st x+, r25
   dec r24
   brne _Mem_Copy
   ret

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区视频在线| 欧美日本在线视频| 国产精品久久久久久久久免费相片 | 欧美日韩视频在线第一区| 亚洲伊人伊色伊影伊综合网| 日本韩国视频一区二区| 亚洲成人免费视| 欧美电影免费观看高清完整版在线| 久久99精品久久久久久久久久久久| 亚洲激情校园春色| 色久综合一二码| 青娱乐精品在线视频| 亚洲精品一区在线观看| 成人一区在线看| 亚洲伊人伊色伊影伊综合网| 日韩一区二区在线观看视频| 精品一区二区久久久| 日本一区二区视频在线| 91电影在线观看| 蜜臀a∨国产成人精品| 日本一区二区免费在线| 日本精品一级二级| 激情综合一区二区三区| 亚洲素人一区二区| 日韩欧美一二三| 不卡高清视频专区| 日本欧美一区二区三区乱码| 久久久精品tv| 欧美日韩综合在线| 国产麻豆成人精品| 亚洲国产cao| 久久久久久久久免费| 欧美三级日韩在线| 国产黄色91视频| 天天免费综合色| 中文字幕亚洲欧美在线不卡| 日韩一本二本av| 91欧美激情一区二区三区成人| 麻豆精品一区二区综合av| 亚洲日本在线看| 国产亚洲va综合人人澡精品 | 黄一区二区三区| 悠悠色在线精品| 久久人人爽爽爽人久久久| 在线观看亚洲一区| 丰满亚洲少妇av| 激情文学综合网| 天天综合天天做天天综合| 中文字幕亚洲区| 国产亚洲精品久| 日韩一级片在线播放| 日本福利一区二区| 99视频有精品| 成人午夜大片免费观看| 精品无人码麻豆乱码1区2区| 亚洲成人动漫av| 亚洲精品伦理在线| 1024亚洲合集| 国产精品电影一区二区三区| 久久毛片高清国产| 日韩精品一区二区三区在线播放 | 在线国产电影不卡| 91亚洲国产成人精品一区二区三| 国产在线国偷精品产拍免费yy| 日韩电影在线观看电影| 亚洲综合一区二区| 日韩理论片一区二区| 国产精品成人午夜| 国产精品欧美经典| 国产精品乱码一区二区三区软件| 久久免费的精品国产v∧| 日韩午夜av电影| 日韩欧美中文字幕精品| 欧美精选午夜久久久乱码6080| 在线观看日韩毛片| 欧美日韩一区高清| 欧美日韩亚洲丝袜制服| 欧美片在线播放| 欧美精品在线观看播放| 67194成人在线观看| 日韩一级免费一区| 久久美女高清视频 | 国产精品久久久久久久久晋中| 精品国产sm最大网站免费看| 精品国产一区久久| 国产亚洲va综合人人澡精品| 国产日韩欧美一区二区三区乱码| 亚洲国产精品二十页| 国产精品国产三级国产| 亚洲人成人一区二区在线观看| 中文字幕在线一区二区三区| 亚洲图片你懂的| 亚洲国产成人av好男人在线观看| 日日夜夜一区二区| 久久99精品一区二区三区三区| 国产一区二区电影| 91免费版在线| 在线不卡免费av| 久久九九久久九九| 国产精品乱人伦| 亚洲午夜精品17c| 久久99国产精品久久| 国产成人精品免费网站| 99久久99久久久精品齐齐| 欧美日韩国产美女| 久久精品亚洲精品国产欧美| 国产精品不卡在线观看| 午夜电影一区二区三区| 国产一区二区h| 99精品视频在线观看| 777午夜精品免费视频| 国产亚洲成av人在线观看导航| 中文字幕视频一区二区三区久| 亚洲国产精品久久久久婷婷884| 久久99久久精品| 色www精品视频在线观看| 日韩免费高清视频| 亚洲欧美日韩国产手机在线| 另类综合日韩欧美亚洲| 99久久久久免费精品国产| 欧美一区二区三区啪啪| 国产精品久久久久久福利一牛影视| 亚洲国产精品麻豆| 国产a区久久久| 欧美精品vⅰdeose4hd| 国产精品久久久久毛片软件| 亚洲动漫第一页| 国产91富婆露脸刺激对白| 4438亚洲最大| 亚洲天堂福利av| 国产精品综合久久| 欧美日本在线一区| 综合网在线视频| 国产一区二区三区在线观看精品| 欧美中文字幕一区| 国产精品成人网| 国产老肥熟一区二区三区| 欧美日韩国产美女| 一区二区三区视频在线看| 懂色av中文一区二区三区| 欧美一区二区视频观看视频| 亚洲欧美精品午睡沙发| 国产精品一级在线| 日韩精品一区二区三区三区免费 | 中文在线免费一区三区高中清不卡| 日本中文字幕不卡| 欧美丝袜自拍制服另类| 国产精品视频九色porn| 国产乱码字幕精品高清av| 日韩一区二区在线看片| 亚洲1区2区3区4区| 欧美日韩一级二级三级| 亚洲欧洲精品一区二区精品久久久 | 欧美视频三区在线播放| 日韩毛片高清在线播放| 不卡一区中文字幕| 国产欧美一区二区精品婷婷| 极品少妇xxxx精品少妇偷拍| 欧美一区二区三区视频| 日韩国产精品久久久| 6080午夜不卡| 日韩福利视频网| 91精品欧美久久久久久动漫 | 一区二区中文视频| 成人av网址在线| 中文字幕一区视频| 99re66热这里只有精品3直播 | 国产一区免费电影| 久久久久久久综合日本| 国产一区二区91| 国产日韩亚洲欧美综合| 粉嫩av亚洲一区二区图片| 国产欧美日韩另类视频免费观看| 国产乱码精品一区二区三区av | 亚洲精品国产第一综合99久久 | 毛片不卡一区二区| 日韩欧美不卡在线观看视频| 久久99久久久久| 久久婷婷综合激情| 国产精品一品视频| 成人免费在线观看入口| 一本久久综合亚洲鲁鲁五月天 | 日本一区中文字幕| 久久综合色8888| 成人精品小蝌蚪| 亚洲一区国产视频| 欧美一级在线免费| 国产成人夜色高潮福利影视| 国产精品网站在线观看| 色综合天天在线| 青草av.久久免费一区| 国产校园另类小说区| 99久久久国产精品| 日韩精品1区2区3区| 久久嫩草精品久久久精品| 91日韩一区二区三区| 日本中文字幕一区| 欧美国产综合一区二区| 欧美日韩午夜影院| 国产精品白丝jk黑袜喷水|