home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Serious Magazine 5
/
Serious_Magazine_05_1999_Dial_pl_Side_B.atr
/
sstuff05.arc
/
LIZARD.ARC
/
GETPAR.ASM
< prev
next >
Wrap
Assembly Source File
|
1988-09-01
|
3KB
|
1 lines
opt %101¢* Pobieranie parametrow z wiersza¢* polecen dla SpartaDOS i DOS II+/D¢¢* Wartosci zwracane przez funkcje:¢* C=1 - zly DOS¢* Z=1 - brak parametru,¢* ustawiony dysk biezacy¢* Z=0 & C=0:¢* AX - wskaznik do parametru¢* Y - dlugosc parametru¢¢Getpar jmp gp_ini | skok do inicjaci¢¢* ✓גנצáחח½»גꢢgp_d2d equ * | ustal¢ lda $13c3 | dysk¢ sta gp_cur+1 | biezacy¢ ldy #$ff¢¢gpd_x equ * | odszukaj¢ iny | koniec¢ lda $1b03,y | ostatnio¢ cmp #$9b | pobranego¢ beq gpd_n | parametru¢ cmp #$20¢ bne gpd_x¢¢gpd_s equ * | przeskocz¢ iny | do nastepnego¢ cmp $1b03,y¢ beq gpd_s¢¢ php | Z=0 ==> parametr¢¢ jsr $14b9 | dosun parametr¢ | do "lewej"¢ ldy #$ff¢ lda $1b00¢ cmp #'M'¢ bne gpd_c¢ lda #'D' | zmien M:¢ sta $1b00 | na D8:¢ lda #'8'¢ sta $1b01¢¢gpd_c equ * | przenies¢ iny | parametr¢ lda $1b00,y | do bufora¢ sta gp_res,y¢ cmp #$9b¢ beq gpd_e¢ cmp #$20¢ bne gpd_c¢¢ lda #$9b | wstaw EOL¢ sta gp_res,y | za parametrem¢ bne gpd_e | i wyjdz¢¢gpd_n equ *¢ php | brak parametru¢ ldy #$00¢¢gpd_m equ * | kopiuj¢ lda gp_cur,y | dysk¢ sta gp_res,y | biezacy¢ iny | do bufora¢ cpy #$03¢ bcc gpd_m¢¢gpd_e equ * | ustaw¢ lda <gp_res | adres¢ ldx >gp_res | parametru¢¢gp_ext equ *¢ plp | odtworz flage¢ clc | parametru¢ rts | i wyjdz¢¢gp_cur dta c'D :'¢gp_res equ * | bufor na parametr¢¢* ✓צ≡β≥⌠βגנצꢢgp_sdx equ *¢ clc | jest¢ ldy #$0a | nastepny¢ lda ($0a),y | parametr?¢ adc #$3f¢ tay¢ lda ($0a),y¢ cmp #$9b¢ php | Z=0, tak¢¢gpx_j equ * | pobierz¢ jsr 0¢ txa | przenies dlugosc¢ tay | z X do Y¢¢gpx_l equ *+1 | ustaw¢ lda #$00 | adres¢gpx_h equ *+1 | parametru¢ ldx #$00¢ bne gp_ext | wyjdz¢¢* ✓ח∈ΘπΩβπΩβꢢgp_ini equ *¢ lda $0700 | jaki DOS?¢ asl @¢ cmp #'S'+'S'¢ beq gpi_x | Sparta¢ cmp #'D'+'D'¢ beq gpi_d | II+/D¢¢ sec | zly¢ rts¢¢gpi_x equ * | SpartaDOS¢ ldy #$04 | pobierz¢ lda ($0a),y | adres¢ sta gpx_j+1 | procedury¢ iny | pobierajacej¢ lda ($0a),y | parametry¢ sta gpx_j+2¢¢ lda $0a | ustal¢ adc #$20 | adres,¢ sta gpx_l | pod ktory¢ lda $0b | kopiowane¢ adc #$00 | beda¢ sta gpx_h | parametry¢¢ lda <gp_sdx | inicjuj¢ ldx >gp_sdx | adres¢ bne gpi_s | skoku¢¢gpi_d equ * | DOS II+/D¢ ldy $0348 | pobierz dlugosc¢ | wiersza¢¢ lda $1b02,y | odszukaj¢ ldx #$ff | koniec¢ | linii¢gpi_l equ * | polecen¢ dey¢ inx¢ cmp gpi_e,x¢ bne gpi_l¢¢ lda #$9b | wstaw tam EOL¢ sta $1b03,y¢ lda <gp_d2d | inicjuj¢ ldx >gp_d2d | adres skoku¢¢gpi_s equ *¢ sta getpar+1 | ustaw skok¢ stx getpar+2¢ jmp getpar | skacz tam¢¢gpi_e dta c'.COM' | koniec wiersza¢ | polecen¢ | w DOS II+/D¢