Odczyt rekordu tekstowego z edytora ekranowego (INPUT)
From Atariki
(Różnice między wersjami)
| Wersja z dnia 12:12, 15 lip 2006 KMK (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 00:03, 29 sie 2009 KMK (Dyskusja | wkład) Next diff → |
||
| 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 (odczyt jest robiony z edytora ekranowego). | + | '''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ć). |
| - | Wywołanie funkcji polega na załadowaniu adresu, pod jaki mają być wpisane znaki, do rejestrów A/Y (młodszy/starszy) i wykonaniu rozkazu JSR GETLINE. | + | '''Odpowiednik w [[BASIC]]-u''': <code>INPUT A$</code> |
| - | <pre> | + | '''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>. |
| - | iccmd = $0342 | + | |
| - | icbufa = $0344 | + | |
| - | icbufl = $0348 | + | |
| - | jciomain = $e456 | + | |
| - | getline ldx #$00 | + | <code> |
| - | sta icbufa,x | + | iccmd = $0342 |
| - | tya | + | icbufa = $0344 |
| - | sta icbufa+1,x | + | icbufl = $0348 |
| - | lda #$ff ;maks. wielkość tekstu | + | ; |
| - | sta icbufl,x | + | getline ldx #$00 |
| - | lda #$00 | + | sta icbufa,x |
| - | sta icbufl+1,x | + | tya |
| - | lda #$05 | + | sta icbufa+1,x |
| - | sta iccmd,x | + | lda #$ff ;maks. wielkość tekstu |
| - | jmp jciomain | + | sta icbufl,x |
| - | </pre> | + | 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]] | ||
Wersja z dnia 00:03, 29 sie 2009
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: adresu, pod jaki 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
