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

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

?? s19.mod

?? 該應用軟件可以實現大多數單片機的仿真實驗
?? MOD
字號:
;**********************************************************************
;* Module    : S19.MOD
;* Programmer: Tony Papadimitriou
;* Purpose   : S19 Loader and hex to binary conversion OS-called routines
;* Language  : MC68HC11 (ASM11 v1.84+)
;* Status    : FREEWARE, Copyright (c) 1999 by Tony Papadimitriou
;* Segments  : RAM    : Variables
;*           : ROM    : Code
;*           : SEG9   : OS definitions (this allows adding more functions)
;* Note(s)   : Requires that SCI.MOD or SCI_INT.MOD be included as well.
;* History   : 99.10.31 v1.00 Original (copied from 99.10.26 OS11.MOD)
;*           : 99.11.29 v1.01 Added conditional to avoid duplicating fHexToBin
;*           ;                Adapted to word-size fHexToBin version
;**********************************************************************

#ifmain
                    #LISTOFF
                    #INCLUDE  811E2.INC
                    #INCLUDE  COMMON.INC
                    #INCLUDE  OS11/OSERRORS.INC
                    #LISTON

                    #SEG9
                    ORG       $FF00

                    #LISTOFF
                    #INCLUDE  OS11/SCI_INT.MOD
                    #LISTON
#endif

                    #SEG9
#ifndef OSCommands
OSCommands          equ       *
#endif

fLoadS19            equ       *-OSCommands/2      ;Load an S19 file via the SCI
                    dw        ?LoadS19

#ifndef fHexToBin
?UsefHexToBin
fHexToBin           equ       *-OSCommands/2      ;Convert a hex digit (0-F) in RegA to its binary equivalent
                    dw        ?HexToBin
#endif

#PAGE ;Operating System routines expanded
**********************************************************************
*                 Operating System routines expanded                 *
**********************************************************************
                    #ROM

; Routine: LoadS19
; Purpose: Load an S19 file through the SCI port
; Input  : X -> Load Offset for S19 addresses (X holds two's complement offset)
; Output : X -> Execution address from S9 record (possibly zero)
; Stack  : Stack variables used (accessed by nnn,X) after an TSX
;          Load Offset Offset to adjust by      6,X  word
;          Temp        Temporary usage          5,X  byte
;          RecType     S-record type field      4,X  byte
;          Length      S-record length field    3,X  byte
;          Address     S-record address field   1,X  word
;          CRC         S-record running CRC     0,X  byte
?LoadS19            ldx       X_,y
                    pshx                          ;Save two's complement offset
                    clrx
                    pshx:3                        ;Reserve three words for variables (init to 0)
                    tsx                           ;Get base for variables
?LoadS19.New        jsr       ?LoadS19.ReadByte   ;Get first character
                    bcs       ?LoadS19.OK         ;if EOL, get out
                    cmpa      #'S'                ;Probable S record
                    bne       ?LoadS19.EOL        ;No, ignore rest of line
                    os        fPrint
                    fcs       '.'
                    jsr       ?LoadS19.ReadByte   ;Get next character
                    bcs       ?LoadS19.Error      ;if EOL, get out with error
                    cmpa      #'0'                ;Header record?
                    bne       ?LoadS19.S9
                    bsr       ?LoadS19.ToEOL      ;Yes, ignore rest of line
                    bra       ?LoadS19.New        ;go read another line
?LoadS19.S9         cmpa      #'9'                ;Terminator record
                    beq       ?LoadS19.OK
                    cmpa      #'1'                ;Code/data record
                    beq       ?LoadS19.OK
                    bra       ?LoadS19.EOL        ;Not a valid record type, ignore line
?LoadS19.OK         sta       4,x                 ;Save this type

          ;Get length of Record Bytes (including 16-bit address and 8-bit CRC)
                    jsr       ?LoadS19.ReadHex    ;Get next 2 characters in binary
                    bcs       ?LoadS19.Error      ;if something wrong, get out with error
                    bsr       ?LoadS19.UpdateCRC
                    suba      #3                  ;adjust for 2-byte address and 1-byte CRC
                    sta       3,X                 ;save Length of record

          ;Now, get the load address
                    jsr       ?LoadS19.ReadHex
                    bcs       ?LoadS19.Error
                    bsr       ?LoadS19.UpdateCRC
                    sta       1,X                 ;Save MSB
                    jsr       ?LoadS19.ReadHex
                    bcs       ?LoadS19.Error
                    bsr       ?LoadS19.UpdateCRC
                    sta       2,X                 ;Save LSB
                    ldd       6,X                 ;Get offset
                    addd      1,X                 ;Add actual address
                    std       1,X                 ;And re-save actual address

          ;Now, get the code/data bytes
                    tst       3,X                 ;Check Length of zero
?LoadS19.Loop       beq       ?LoadS19.CRC        ;Empty code/data section of record
                    bsr       ?LoadS19.ReadHex
                    bcs       ?LoadS19.Error      ;if something wrong, get out with error
                    bsr       ?LoadS19.UpdateCRC
                    bsr       ?LoadS19.StoreByte  ;save byte and advance pointer
                    dec       3,X                 ;One less byte to read
                    bra       ?LoadS19.Loop

?LoadS19.CRC        bsr       ?LoadS19.ReadHex    ;Get CRC byte
                    bcs       ?LoadS19.Error      ;if something wrong, get out with error
                    com       0,X                 ;Get one's complement of final CRC value
                    cmpa      0,X                 ;Is it the same as the one calculated
                    bne       ?LoadS19.Error      ;No, exit with error

          ;See if we're done
                    lda       4,X                 ;Check record type
                    cmpa      #'9'
                    beq       ?LoadS19.Exit       ;Done, get out without errors
                    bsr       ?LoadS19.ToEOL
                    pulx:4
                    bra       ?LoadS19            ;Go back to read another line

?LoadS19.Exit       ldx       1,X                 ;Load X with address
                    stx       X_,y                ;for use by OS11
                    bsr       ?LoadS19.ToEOL
                    pulx:4
                    clc
                    rts
?LoadS19.Error      bsr       ?LoadS19.ToEOL      ;1.01 addition (exit at end-of-line)
                    pulx:4
                    ldb       #errFailure         ;for use by OS11
                    sec
                    rts
?LoadS19.EOL        bsr       ?LoadS19.ToEOL
                    bra       ?LoadS19.Error      ;Always out from the error exit

?LoadS19.ToEOL      cmpa      #CR
                    beq       ?LoadS19.ToEOL.OK
                    cmpa      #LF
                    beq       ?LoadS19.ToEOL.OK
                    bsr       ?LoadS19.ReadByte
                    bra       ?LoadS19.ToEOL

?LoadS19.UpdateCRC  psha                          ;Adjust the CRC for the record
                    adda      0,X
                    sta       0,X
                    pula
?LoadS19.ToEOL.OK   rts

?LoadS19.StoreByte  pshx                          ;Save RegA to current [PC] address
                    ldx       1,X                 ;Get address in X
                    sta       ,X
                    pulx
                    pshd                          ;Adjust the PC value by 1
                    ldd       1,X
                    incd
                    std       1,X
                    puld
                    rts

          ;Sets Carry of end-of-line character found
?LoadS19.ReadByte   pshx
                    ldx       #REGS
                    os        fGetChar            ;Get a character
                    cmpa      #CR
                    bne       ?LoadS19.ReadByte0
                    cmpa      #LF
                    bne       ?LoadS19.ReadByte0
                    pulx
                    sec
                    rts
?LoadS19.ReadByte0  pulx
                    clc
                    rts

?LoadS19.ReadHex    bsr       ?LoadS19.ReadByte   ;Get next character
                    bcs       ?LoadS19.ReadHex1   ;if EOL, get out with error
                    pshb
                    tab
                    clra
                    os        fHexToBin           ;Convert from Hex to Binary
                    pulb
                    bcs       ?LoadS19.ReadHex1   ;if EOL, get out with error
                    lsla:4                        ;Move to high nibble
                    sta       5,X                 ;and save in temporary location
                    bsr       ?LoadS19.ReadByte   ;Get next 2 characters
                    bcs       ?LoadS19.ReadHex1   ;if EOL, get out with error
                    pshb
                    tab
                    clra
                    os        fHexToBin           ;Convert from Hex to Binary
                    pulb
                    bcs       ?LoadS19.ReadHex1   ;Invalid character, ignore rest of line
                    ora       5,X                 ;combine LSN with MSN
                    sta       5,X                 ;and save it back (optional)
                    clc                           ;Error-free exit
                    rts
?LoadS19.ReadHex1   ldb       #errFailure
                    sec                           ;Error exit
                    rts

#ifdef ?UsefHexToBin
; Routine: HexToBin
; Purpose: Convert a hex string to binary number
; Input  : D=hex string
; Output : A=binary equivalent
?HexToBin           lda       A_,Y
                    jsr       Upcase
                    bsr       ?HexToBin.Digit
                    lsla:4
                    sta       A_,Y
                    lda       B_,Y
                    jsr       Upcase
                    bsr       ?HexToBin.Digit
                    ora       A_,Y
                    sta       A_,Y
                    clc
                    rts
?HexToBin.Error     sec
                    rts
?HexToBin.Digit     cmpa      #'0'
                    blo       ?HexToBin.Error
                    cmpa      #'F'
                    bhi       ?HexToBin.Error
                    cmpa      #'9'
                    bls       ?HexToBin.Number
                    cmpa      #'A'
                    blo       ?HexToBin.Error
                    suba      #'A'-10-'0'
?HexToBin.Number    suba      #'0'
                    rts
#endif

#ifmain
                    #listoff
                    #include  OS11/DISPATCH.MOD
#endif
                    #ROM

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国视频一区二区| 奇米精品一区二区三区在线观看一| 亚洲国产精品一区二区www在线| 欧美一区二视频| 精品国产乱码久久久久久影片| 国产精品国产三级国产普通话三级| 亚洲精品成人悠悠色影视| 奇米影视一区二区三区| 日韩电影一区二区三区| 97久久超碰精品国产| 成人免费视频app| 国产大陆亚洲精品国产| 国产精品1区2区3区| 欧美日韩亚洲另类| 中文字幕一区二区三区在线观看 | 性做久久久久久免费观看欧美| 国产老妇另类xxxxx| 91麻豆精品91久久久久同性| 一区二区三区小说| 成人激情综合网站| 久久久99久久| 国产综合成人久久大片91| 欧美裸体bbwbbwbbw| 亚洲综合色视频| 日韩精品视频网站| 欧美视频一区二区三区四区| 6080亚洲精品一区二区| 亚洲一二三四在线观看| 色哟哟精品一区| 自拍偷自拍亚洲精品播放| 粉嫩久久99精品久久久久久夜| 久久色在线观看| 经典三级视频一区| 久久久青草青青国产亚洲免观| 免费久久精品视频| 日韩免费在线观看| 麻豆视频一区二区| 99re在线精品| 亚洲乱码日产精品bd| 色呦呦国产精品| 26uuu亚洲婷婷狠狠天堂| 国产精品久久三区| 成人激情黄色小说| 亚洲免费在线视频| 精品一区二区三区视频在线观看| 91精品婷婷国产综合久久竹菊| 久久久久久亚洲综合影院红桃| 综合久久久久综合| 久久av资源站| 国产午夜精品久久久久久久| 一卡二卡三卡日韩欧美| 国产在线精品一区在线观看麻豆| 99精品在线免费| 欧美草草影院在线视频| 国产真实乱对白精彩久久| 国产午夜精品久久久久久久| 99综合影院在线| 一区二区欧美视频| 欧美xxxx在线观看| 成人精品高清在线| 久久久久国产精品麻豆 | 亚洲美女电影在线| 激情小说欧美图片| 日本精品一区二区三区四区的功能| 亚洲久草在线视频| 成人黄色a**站在线观看| 日韩写真欧美这视频| 亚洲电影在线播放| 99精品欧美一区二区三区小说 | 精品国产一区二区在线观看| 国产精品 日产精品 欧美精品| 欧美男女性生活在线直播观看| 精品无码三级在线观看视频 | 日韩欧美中文一区二区| 国产成人激情av| 亚洲精品在线观| 免费在线观看日韩欧美| 欧美日韩在线不卡| 亚洲午夜私人影院| 久久久99久久精品欧美| 在线欧美日韩精品| 国产成人午夜精品5599| 久久精品网站免费观看| 欧美日韩一级片网站| 国产成人亚洲综合a∨婷婷| 亚洲va欧美va人人爽| 国产精品久久精品日日| 欧美一区二区福利视频| 欧美制服丝袜第一页| 亚洲国产欧美另类丝袜| 日本高清免费不卡视频| 一区二区三区精品视频在线| 一本一道久久a久久精品| 综合欧美亚洲日本| 久久久高清一区二区三区| 欧美日韩国产精选| 日韩电影免费在线看| 亚洲视频一区在线| 中文字幕欧美日韩一区| 日韩视频在线一区二区| 欧美精品精品一区| 欧美在线不卡视频| 日本女优在线视频一区二区| 欧美mv日韩mv国产网站| 国内欧美视频一区二区| 欧美国产成人在线| 久久综合久久综合久久综合| 日韩一区二区三区在线| 欧美三级在线看| 欧美在线视频日韩| 美女免费视频一区二区| 久久久久久久久97黄色工厂| 欧美成人免费网站| 日韩你懂的电影在线观看| 欧美一级一级性生活免费录像| 国产制服丝袜一区| 亚洲日本欧美天堂| **欧美大码日韩| 自拍av一区二区三区| 欧美高清hd18日本| 国产精品系列在线观看| 夜夜亚洲天天久久| 亚洲综合小说图片| 精品国产乱码久久久久久1区2区 | 欧美精品一二三| 欧美性受极品xxxx喷水| 欧美主播一区二区三区美女| 欧美午夜精品久久久久久孕妇| 在线免费精品视频| 欧美日韩免费电影| 高清国产一区二区三区| 性久久久久久久久久久久| 国产婷婷色一区二区三区在线| 久久久久久久久久久久久久久99| 国产亚洲精品7777| 亚洲欧洲综合另类| 精品粉嫩超白一线天av| 欧美系列日韩一区| 成人丝袜视频网| 色欧美片视频在线观看在线视频| 欧美体内she精视频| 日韩午夜三级在线| 91极品美女在线| 国产成人欧美日韩在线电影| 国产一区二区三区不卡在线观看| 亚洲毛片av在线| 国产婷婷色一区二区三区四区| 欧美日韩成人在线| 日韩久久精品一区| 欧美精品tushy高清| 精品奇米国产一区二区三区| 欧美日本在线一区| 精品成人在线观看| 欧美成人女星排名| 亚洲人一二三区| 国产精品美女久久久久av爽李琼| 日韩三级中文字幕| 制服.丝袜.亚洲.中文.综合| 久久天天做天天爱综合色| 亚洲精品写真福利| 狠狠色狠狠色综合| 精品制服美女久久| 久久精品久久精品| 美日韩一区二区三区| 亚洲午夜在线视频| 国产精品一品视频| 国产精品白丝av| 欧美日韩国产电影| 国产精品毛片无遮挡高清| 国产视频一区二区在线| 天天综合日日夜夜精品| 成人sese在线| 日韩精品专区在线影院重磅| 136国产福利精品导航| 国产一区二区看久久| 欧美日韩一区二区电影| 欧美丰满一区二区免费视频| 中文av字幕一区| 韩日欧美一区二区三区| 国产精品自拍一区| 成人精品gif动图一区| av资源网一区| 91啦中文在线观看| 欧美日韩午夜在线视频| 欧美一区午夜视频在线观看| 亚洲青青青在线视频| 成人开心网精品视频| 久久先锋影音av| 中文av一区特黄| 国产麻豆成人精品| 精品国产污网站| 中文字幕中文乱码欧美一区二区| 久久超碰97人人做人人爱| 国产sm精品调教视频网站| 日韩欧美成人激情| 蜜臀av亚洲一区中文字幕| 国产高清在线观看免费不卡| 日韩欧美国产成人一区二区| 日韩精品亚洲一区| 日韩免费观看2025年上映的电影|