home *** CD-ROM | disk | FTP | other *** search
/ Flop Magazin 45 / Flop_Magazin_45_2002_01_Raster_cs_Side_A.atr / cioasm.tch < prev    next >
Text File  |  2023-02-26  |  2KB  |  9 lines

  1. OPEN,BGET/BPUT,CLOSE v ASM¢Raster, 2002¢¢Pro na⇨    t⇧n     ⇨i ukl⇧d⇧n     dat lze ve vlastn    m programu efektivn❎ pouə    t povely OPEN, BGET nebo BPUT a CLOSE. V③echny tyto p②    kazy jsou implementov⇧ny nap②    klad v TBASICu (standardn     Atari BASIC m⇧ m    sto BGET a BPUT pouze GET a PUT pro p②e⇨ten    /z⇧pis vədy jen jednoho bytu), my se v③ak pod    v⇧me na proveden     Assemblerov⑦.¢¢K tomu bych je③t❎ r⇧d dodal, əe povaəuji za velmi dobr⑦, kdyə uəitkov⑦ programy nab    z     ukl⇧d⇧n     a na⇨    t⇧n     sv⑨ch dat p②es CIO - tedy p②es za②    zen    :n⇧zev. Daleko pohodln❎ji se s nimi pak pracuje a d    ky tomu je t⑦ə moən⑦ vyuə    vat pro data libovoln⑦ m⑦dium (nap②. disk, kazeta, turbo - kilov⑦ bloky), stejn❎ tak jako virtu⇧ln     za②    zen     (nap②. v emul⇧torech p②    stup p②es H: na harddisk), v⇨etn❎ p②    padn⑨ch dal③    ch "budouc    ch" za②    zen    . A to v③e bez pot②eby jak⑨chkoliv z⇧sah
  2.  do programu samotn⑦ho a bez nutnosti vyr⇧b❎t speci⇧ln     verze pro jednotliv⑦ typy m⑦di    .¢¢N⇧sleduj    c     p②    klad obsahuje t②i rutiny. Prvn     provede otev②en     souboru "D:FILENAME.EXT", druh⇧ na⇨ten     1024 byt
  3.  dat do pam❎ti od adresy $5000 (20480 decim⇧ln❎), t②et     uzav②e soubor. V③e je okomentovan⑦ a velmi n⇧zorn⑦, takəe nen     probl⑦m upravit si zdrojov⑨ kd pro vlastn     pot②eby v⇨etn❎ obm❎ny BGET za BPUT pro ukl⇧d⇧n     dat.¢¢¢CIOV .EQU $E456   ;vektor CIO rutiny¢CHA  .EQU $30     ;kan⇧l IOCB3¢ADR  .EQU $5000   ;adresa za⇨⇧tku dat¢LEN  .EQU $03FF   ;d⑦lka dat¢¢¢;OPEN #3,4,0,"D:FILENAME.EXT"¢OPEN¢    LDX #CHA¢    LDA #3¢    STA $0342,X¢    LDA #4       ;4=⇨ten    ,8=z⇧pis¢    STA $034A,X¢    LDA #0¢    STA $034B,X¢    LDA #[<FNAME]¢    STA $0344,X¢    LDA #[>FNAME]¢    STA $0345,X¢    JSR CIOV     ;v Y vrac     status¢    RTS¢FNAME .BYTE "D:FILENAME.EXT",0¢¢¢;BGET #3,ADR,LEN¢BGET¢    LDX #CHA¢    LDA #7         ;7=BGET,11=BPUT¢    STA $0342,X¢    LDA #[<ADR]    ;DB adresa za⇨⇧tku¢    STA $0344,X¢    LDA #[>ADR]    ;HB adresa za⇨⇧tku¢    STA $0345,X¢    LDA #[<LEN]    ;DB po⇨et byt
  4. ¢    STA $0348,X¢    LDA #[>LEN]    ;HB po⇨et byt
  5. ¢    STA $0349,X¢    JSR CIOV       ;v Y vrac     status¢    RTS¢¢Pozn⇧mka:¢Po n⇧vratu z CIO rutiny obdrə    me v Y registru status IO operace. Pot②ebujeme-li zn⇧t po⇨et skute⇨n❎ na⇨ten⑨ch byt
  6. , nap②    klad v p②    pad❎, əe p②i ⇨ten     do③lo k chyb❎ dosaəen    m konce souboru, m
  7. əeme jej p②e⇨    st z adres:¢    LDA $0348,X    ;DB po⇨et byt
  8. ¢    LDA $0349,X    ;HB po⇨et byt
  9. ¢¢¢CLOSE¢    LDX #CHA¢    LDA #$0C¢    STA $0342,X¢    JSR CIOV       ;v Y vrac     status¢    RTS¢