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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? interpreter.bas

?? 用ATMEL AVR CPU開發CF CARD的程式.在BASCOM環境
?? BAS
?? 第 1 頁 / 共 2 頁
字號:
' Getting USER-Input and executes Commands

Declare Sub DoCommand()
Declare Sub ExtractToken()
Declare Function GetNextTokenStr(ByVal pbLen_Max as Byte ) as String
Declare Function GetNextTokenLong(byVAl plMin as Long , byVal plMax as Long ) as Long
Declare Sub PrintParameterErrorl(plParamLow as Long , plParamHigh as Long)
Declare Sub PrintParameterCountError(byVal psParm_Anzahl as String)
Declare Sub GetInput(byVal pbByte as Byte)
Declare Sub PrintPrompt()
Declare Function GetLongFromBuffer(pbSRAMArray as Byte , byVal pbPos as Word) as Long
Declare Function GetWordFromBuffer(pbSRAMArray as Byte , byVal pbPos as Word) as Word
Declare Sub SRAMDump(pwSRAMPointer as Word , byVal pwLength as Word)


Const cpToken_max = 10                  ' Count of Tokens in USER-Input
Const cpStrsep = " "                    ' Blank: Separator between tokens
Const cpNo = 0                          '
Const cpYes = 1
Const cPCInput_Len = 40                 ' max. length of user-Input
Dim gsPCInput as String * 40            ' holds user-input
Dim gbPosStrParts(cpToken_max) As Byte  ' for analysing user-input
Dim gbLenStrParts(cpToken_max) As Byte  '
Dim gbCntToken As Byte                  ' found tokens in user-input
Dim gbToken_Actual as Byte              ' actual handled token of user-input
Dim gbPCInPutError as Byte              ' holds error-code during analysing user-input
Dim gbPCInputPointer as Byte            ' string-pointer during user-input
gbPCInputPointer = 1

Dim CF_TransferBuffer(1024) as Byte     ' Transferbuffer von und zur CF for 2 Sectors
Dim TransferBuffer_Write as Word



End


Sub GetInput(pbByte as Byte)
    ' stores bytes from user and wait for CR (&H13)
   Print #1 , chr(pbByte);              ' echo back to user
   select case pbByte
      Case &H0D                         ' Line-end?
         print chr(&H0A)
         DoCommand                      ' analyse command and execute
         gbPCInputPointer = 1           ' reset for new user-input
         gsPCInput = ""
         PrintPrompt
      case &H08                         ' backspace ?
         decr gbPCInputPointer
      case Else                         ' store user-input
         mid(gsPCINput , gbPCInputPointer , 1) = pbByte
         incr gbPCInputPointer
         mid(gsPCInput , gbPCInputPointer , 1) = &H00       ' string-terminator
         if gbPCInputPointer > cPCInput_Len then       'don't exceed input-string
            gbPCInputPointer = cPCInput_Len
         end if
   end Select
End Sub


Sub DoCommand
   ' interpretes the user-input and execute
   ' Local variables
   Local lByte1 as Byte , lByte2 as Byte
   Local lInt1 as Integer , lInt2 as Integer
   Local lWord1 as Word , lWord2 as Word , lWord3 as Word
   Local lLong1 as Long , lLong2 as Long , lLong3 as Long , lLong4 as Long
   Local lbPos as Byte

   Local lsToken as String * 20         ' Hold Tokens
   Local lbLen as Byte
   Local lwSRAMPointer as Word

   ExtractToken                         ' token analysing
   gbToken_actual = 0                   ' reset to beginn of line (first token)
   gbPCInputError = cpNo
   If gbcntToken > 0 Then               ' is there any input

      lsToken = GetNextTokenStr(20)     ' get first string-token = command
      lstoken = ucase(lsToken)          ' all uppercase
      lwSRAMPointer = varptr(Cf_Transferbuffer(1))
                                         ' Pointer to SRAM Buffer
      Select Case lsToken
         Case "CFI"                     ' Show CF-Card Information Block
              Print #1 , "Read Card Info"
              GetDriveIdentity lwSRAMPointer       ' read Info to SRAM
              TransferBuffer_Write = 0
              SRAMDump lwSRAMPointer , 512       ' Dump SRAM
              ' Get Count of Sectors in Compactflash-Card
              lLong1 = GetLongFromBuffer(CF_Transferbuffer(1) , 120) : lLong2 = lLong1 * 512
              print lLong1 ; " Sectors = " ; lLong2 ; " Bytes"
              ' Get Buffersize of Compactflash-Card
              lWord1 = GetWordFromBuffer(CF_TransferBuffer(1) , 42)
              lLong2 = lWord1 * 512
              print "CF-Buffersize = " ; lWord1 ; " Sectors = " ; lLong2 ; " Bytes"

         Case "CFR"                     ' Reset Compactflash Card
              DriveReset

         Case "MBR"                     ' Show Masterboot record = Sector 0
            lLong1 = 0
            print #1 , "Read Master Boot Record ... " ;
            ReadSector LWSRAMPointer , lLong1 , 1       ' read Sector to CF_Transferbuffer
            TransferBuffer_Write = 0
            print #1 , "done"
            SRAMDump lwSRAMPointer , 512       ' show CF_Transferbuffer
            print #1 , " " : Print #1 , "Partition-Table" : print #1 , " "
            lWord1 = 446                ' first partition entry starts at 446
            for lByte1 = 1 to 4
               lWord2 = lWord1 + 1
               if CF_TransferBuffer(lWord2) > 0 then
                  print #1 , "Partition " ; lByte1 ; " " ;
                  lWord2 = lWord1 + 8
                  lLong1 = GetLongFromBuffer(CF_Transferbuffer(1) , lWord2)
                  lWord2 = lWord1 + 12
                  lLong2 = GetLongFromBuffer(CF_Transferbuffer(1) , lWord2)
                  lLong3 = lLong1 + lLong2
                  print #1 , "Sector: " ; lLong1 ; " to " ; lLong3 ; " = " ; lLong2 ; " Sectors; ";
                  lWord2 = lWord1 + 5
                  lByte1 = Cf_TransferBuffer(lWord2)
                  print #1 , "File-System Type: " ; hex(lByte1)
               end if
               lWord1 = lWord1 + 16
            next

         Case "SD"                      ' Sector Dump
            If gbCntToken = 2 then
               lLong1 = GetNextTokenLong(0 , 2000000)
               lLong2 = lLong1
            elseif gbCntToken = 3 then
               lLong1 = GetNextTokenLong(0 , 2000000)
               lLong2 = GetNextTokenLong(lLong1 , 2000000)
            else
                PrintparameterCountError "1, 2 "
                exit sub
            end if
            If gbPCInputError = cpNo then
               for lLong3 = lLong1 to lLong2
                   print #1 , "Read Sector: " ; lLong3 ; " ... " ;
                   ReadSector lwSRAMPointer , lLong3 , 1
                   TransferBuffer_Write = 0 
                   Print #1 , " done"
                   SRAMDump lwSRAMPointer , 512
               next
            End if

         Case "MD"                      ' Memory Dump
              lWord2 = 512
              if gbCntToken = 1 then
              elseif gbCntToken = 2 then
                 lLong1 = GetNextTokenLong(0 , &HFFFF)
                 lwSRAMPointer = lLong1 ' assign to word
              elseif gbCntToken = 3 then
                 lLong1 = GetNextTokenLong(0 , &HFFFF)
                 lwSRAMPointer = lLong1 ' assign to word
                 lLong2 = GetNextTokenLong(lLong1 , &HFFFF)
                 lWord2 = lLong2
              else
                  PrintParameterCountError "0, 1, 2 "
              end if
              if gbPCInputError = cpNo then
                 SRAMDump lwSRAMPointer , lWord2       ' Show 512 Bytes
              End if

         Case "SW"                      ' Sector Write
            If gbCntToken = 3 then
               lLong1 = GetNextTokenLong(0 , 2000000)
               lLong2 = GetNextTokenLong(1 , &H7F)
               lByte1 = lLong2
               lLong3 = lLong1 + lLong2
            elseif gbCntToken = 4 then
               lLong1 = GetNextTokenLong(0 , 2000000)
               lLong2 = GetNextTokenLong(1 , &H7F)
               lByte1 = lLong2
               lLong3 = lLong1 + lLong2
               lLong4 = GetNextTokenLong(0 , &HFFFF)
               lwSRAMPointer = lLong4
            else
               PrintparameterCountError "2, 3 "
               exit sub
            end if
            If gbPCInputError = cpNo then
               print #1 , "Write " ; lByte1 ; " Sector(s) = " ; lLong1 ; " to " ; lLong2 ; " CF-Card from" ;
               if gbCntToken = 4 then
                  print #1 , "SRAM Address " ; hex(lwSRAMPointer) ; " ... " ;
               else
                  print #1 , "Transfer-Buffer ... " ;
               end if
               WriteSector lwSRAMPointer , lLong1 , lByte1
               print #1 , " done"
            End If

         Case "MT"                      ' Fill Memory with Text
            if gbCntToken > 1 then
               lByte1 = gbPosStrParts(2)
               do
                 incr TRANSFERBUFFER_WRITE
                 lsToken = mid(gsPCInput , lByte1 , 1)
                 lByte2 = ASC(lsToken)
                 if lByte2 = 0 then     ' String Terminator
                    exit do
                 end if
                 CF_Transferbuffer(Transferbuffer_Write) = lByte2
                 incr lByte1
               loop until Transferbuffer_Write > 1023
           End IF

         Case "MP"                      ' Memory Pointer for MB and MT
              if gbCntToken = 2 then
                 lLong1 = GetNextTokenLong(0 , 1023)
                 if gbPCInputError = cpNo then
                    TransferBuffer_Write = lLong1
                 end if
              else
                  PrintParameterCountError "1 "
              End if

         Case "MB"                      'Fill Memory with Same Byte
            if gbCntToken > 1 then
               for lByte1 = 2 to gbCntToken
                   lLong1 = GetNextTokenLong(0 , 255)
                   if gbPCInputError = cpNo then
                      incr TransferBuffer_Write

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕中文字幕一区二区| www.色综合.com| 国产精品女人毛片| 欧美一区二区三区四区五区| 日本高清不卡视频| 欧美性videosxxxxx| 欧美日韩黄色影视| 欧美男生操女生| 欧美成人一区二区| 久久综合久久鬼色| 日韩一区日韩二区| 亚洲午夜羞羞片| 老司机精品视频在线| 国精产品一区一区三区mba桃花| 久久国产精品第一页| 国内成人精品2018免费看| 国产成人亚洲精品狼色在线| a美女胸又www黄视频久久| 在线观看欧美日本| 日韩视频免费观看高清在线视频| 久久精品人人做人人爽人人| 亚洲欧洲精品一区二区精品久久久 | 亚洲三级电影网站| 亚洲国产成人tv| 国产麻豆精品一区二区| 99久免费精品视频在线观看| 国产精品亚洲а∨天堂免在线| 99久久亚洲一区二区三区青草| 欧美三级韩国三级日本一级| 日韩欧美一二三区| 亚洲欧美色一区| 久久国产夜色精品鲁鲁99| av激情综合网| 精品入口麻豆88视频| 亚洲欧美激情插| 久久99国产精品麻豆| 91视视频在线直接观看在线看网页在线看| 欧美熟乱第一页| 国产偷国产偷精品高清尤物| 亚洲成人在线网站| 成人精品国产福利| 日韩一区二区三| 亚洲精品国产精华液| 蜜臀av一级做a爰片久久| 成人精品国产一区二区4080 | 久久99精品国产麻豆不卡| 99久久精品国产精品久久| 日韩一区二区三区四区| 亚洲精品免费在线| 不卡电影一区二区三区| 欧美xxx久久| 亚洲一区二区欧美激情| 懂色av噜噜一区二区三区av| 欧美一区二区黄色| 一区二区三区资源| 99久久精品国产精品久久| 欧美精品一区二区久久久| 日韩av午夜在线观看| 日本乱人伦一区| 国产精品成人在线观看| 国产在线不卡一区| 欧美成人a∨高清免费观看| 日韩制服丝袜av| 欧美人牲a欧美精品| 亚洲一区二区三区国产| 色婷婷亚洲精品| 一区二区三区在线观看国产 | 日韩精品专区在线| 日韩精品视频网| 欧美高清你懂得| 亚洲一区二区三区不卡国产欧美| 91福利国产成人精品照片| 亚洲欧美在线视频| av中文字幕在线不卡| 亚洲欧洲日韩一区二区三区| www.欧美.com| 自拍偷拍亚洲综合| 一本一本大道香蕉久在线精品| 综合婷婷亚洲小说| 91欧美激情一区二区三区成人| 中文字幕第一区第二区| 成人高清视频免费观看| 亚洲精品久久久蜜桃| 欧美性做爰猛烈叫床潮| 日韩成人一级大片| 精品国产123| 成人一区二区三区中文字幕| 亚洲视频免费在线观看| 欧美系列在线观看| 精品一区二区三区欧美| 中文一区一区三区高中清不卡| 99久久综合99久久综合网站| 一区二区三区四区蜜桃| 日韩视频在线观看一区二区| 国产精品自拍在线| 亚洲精品免费在线| 日韩欧美中文字幕精品| 成人综合在线网站| 午夜影院在线观看欧美| 欧美变态tickling挠脚心| 国产成人精品www牛牛影视| 伊人一区二区三区| 日韩欧美卡一卡二| 99久久精品免费| 奇米影视7777精品一区二区| 久久综合九色欧美综合狠狠| 成人av资源下载| 亚洲成人激情av| 国产三级欧美三级| 色吧成人激情小说| 久久疯狂做爰流白浆xx| 亚洲美女少妇撒尿| 久久综合九色综合欧美亚洲| 色综合久久综合网欧美综合网| 日本aⅴ免费视频一区二区三区| 中文一区一区三区高中清不卡| 欧美精品一级二级三级| 成人av免费网站| 精品一二线国产| 亚洲国产欧美日韩另类综合 | 亚洲码国产岛国毛片在线| 日韩精品一区二区三区在线观看 | 国产精品人成在线观看免费| 欧美精品在欧美一区二区少妇| 成人网在线播放| 麻豆国产欧美日韩综合精品二区 | 日韩欧美国产电影| 日本丰满少妇一区二区三区| 国产成人免费xxxxxxxx| 久久99国产精品久久| 日韩国产高清影视| 亚洲一区二区三区四区五区中文| 久久精品一级爱片| 日韩区在线观看| 欧美伦理影视网| 精品国产乱码久久久久久久| 在线看国产一区二区| 成人精品视频一区| 国产麻豆欧美日韩一区| 精品中文字幕一区二区小辣椒| 婷婷开心久久网| 亚洲国产精品一区二区久久恐怖片 | 精品国产乱码久久久久久1区2区 | 91精彩视频在线| 成人免费高清在线| 福利电影一区二区| 国产不卡一区视频| 国产精品一区二区在线观看不卡 | 中文字幕一区二| 中文字幕欧美三区| 国产精品国产三级国产aⅴ中文| 国产亚洲精品aa| 国产日韩欧美麻豆| 国产精品污网站| 日韩一区日韩二区| 一片黄亚洲嫩模| 香蕉成人啪国产精品视频综合网| 午夜精品久久久久久久久久久| 午夜欧美2019年伦理| 日韩va欧美va亚洲va久久| 日本女人一区二区三区| 秋霞av亚洲一区二区三| 激情综合网av| 国产高清精品网站| 色综合一区二区| 欧美精品电影在线播放| 日韩免费性生活视频播放| 久久嫩草精品久久久精品| 中文一区在线播放| 亚洲香肠在线观看| 日韩精品欧美精品| 国产一区 二区| 色悠悠久久综合| 日韩欧美一二三| 日韩一区有码在线| 日韩avvvv在线播放| 国产精品2024| 欧美三级在线视频| 久久这里只有精品首页| 亚洲欧洲成人自拍| 久久爱www久久做| 97se亚洲国产综合自在线不卡| 3d动漫精品啪啪一区二区竹菊| 2023国产精品自拍| 亚洲一区在线观看网站| 韩国成人精品a∨在线观看| 不卡的电影网站| 欧美大片在线观看一区| 中文字幕在线观看不卡视频| 日韩va亚洲va欧美va久久| 成人激情午夜影院| 日韩美女主播在线视频一区二区三区 | 亚洲精品视频一区| 激情综合色综合久久| 色呦呦日韩精品| 久久久久国产精品厨房| 日韩av电影免费观看高清完整版| 不卡视频在线观看| 精品国产青草久久久久福利| 一区二区三区不卡在线观看|