Odczyt rekordu tekstowego z edytora ekranowego (INPUT)
From Atariki
(Różnice między wersjami)
Wersja z dnia 00:03, 29 sie 2009 KMK (Dyskusja | wkład) (Programowanie: Odczyt rekordu z edytora moved to Odczyt rekordu z edytora) ← Previous diff |
Aktualna wersja KMK (Dyskusja | wkład) |
||
Linia 3: | Linia 3: | ||
'''Odpowiednik w [[BASIC]]-u''': <code>INPUT A$</code> | '''Odpowiednik w [[BASIC]]-u''': <code>INPUT A$</code> | ||
- | '''Wywołanie:''' adresu, pod jaki 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>. | + | '''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>. |
<code> | <code> |
Aktualna wersja
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