Odczyt rekordu tekstowego z edytora ekranowego (INPUT): Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
Nie podano opisu zmian |
mNie podano opisu zmian |
||
| (Nie pokazano 3 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
| Linia 1: | Linia 1: | ||
Program czeka, aż użytkownik wpisze ciąg znaków z klawiatury i naciśnie klawisz RETURN. Znaki podczas wpisywania są wyświetlane na ekranie, działają też normalne znaki kontrolne | '''Przeznaczenie:''' Program czeka, aż użytkownik wpisze ciąg znaków z klawiatury i naciśnie klawisz RETURN. Znaki podczas wpisywania są wyświetlane na ekranie, działają też normalne znaki kontrolne. Odczyt jest robiony z edytora ekranowego, a zatem kanał #0 musi być '''otwarty''' (jest to jego stan domyślny, więc wystarczy go nie zamykać). | ||
'''Odpowiednik w [[BASIC]]-u''': <code>INPUT A$</code> | |||
< | '''Wywołanie:''' adres, pod który mają być wpisane znaki, należy załadować do rejestrów A/Y (młodszy/starszy), a następnie podać rozkaz <code>jsr getline</code>. | ||
getline ldx #$00 | <code> | ||
iccmd = $0342 | |||
icbufa = $0344 | |||
icbufl = $0348 | |||
; | |||
getline ldx #$00 | |||
sta icbufa,x | |||
tya | |||
sta icbufa+1,x | |||
lda #$ff ;maks. wielkość tekstu | |||
sta icbufl,x | |||
</ | lda #$00 | ||
sta icbufl+1,x | |||
lda #$05 | |||
sta iccmd,x | |||
jmp [[Tablica skoków#JCIOMAIN|jciomain]] | |||
</code> | |||
[[Kategoria:Niezbędnik kodera]] | [[Kategoria:Niezbędnik kodera]] | ||
Aktualna wersja z 24 wrz 2017, 23:20
Przeznaczenie: Program czeka, aż użytkownik wpisze ciąg znaków z klawiatury i naciśnie klawisz RETURN. Znaki podczas wpisywania są wyświetlane na ekranie, działają też normalne znaki kontrolne. Odczyt jest robiony z edytora ekranowego, a zatem kanał #0 musi być otwarty (jest to jego stan domyślny, więc wystarczy go nie zamykać).
Odpowiednik w BASIC-u: INPUT A$
Wywołanie: adres, pod który mają być wpisane znaki, należy załadować do rejestrów A/Y (młodszy/starszy), a następnie podać rozkaz jsr getline.
iccmd = $0342
icbufa = $0344
icbufl = $0348
;
getline ldx #$00
sta icbufa,x
tya
sta icbufa+1,x
lda #$ff ;maks. wielkość tekstu
sta icbufl,x
lda #$00
sta icbufl+1,x
lda #$05
sta iccmd,x
jmp jciomain