Article View: pl.comp.lang.asm
Article #630Re: Problem z przesunięciem ekranu
From: Matuzalem
Date: Wed, 13 Sep 2006 10:47
Date: Wed, 13 Sep 2006 10:47
84 lines
3919 bytes
3919 bytes
Johnny napisał(a): > Mam drobny problem z przesunięciem ekranu. Otóż sam efekt przesunięcia > tekstu o 1 wiersz potrafię osiągnąć lecz po tym zabiegu nie są widoczne > dalsze wpisywane znaki (0-9). Prawdopodobnie niewłaściwie ustawiam > położenie wskaźnika przy pomocy int 10h i ah=2h. Próbowałem z różnymi > ustawieniami dh (wiersze) ale bezskutecznie. Mógłby ktoś rzucić na to > okiem? Dzięki z góry. > > title 6_04 > .model small > .stack 100h > .386 > .code > ;--------------------------------------------- > ; main > ;--------------------------------------------- > main proc > mov ax,@data ; inicjalizacja ds > mov ds,ax > > mov ah,0h ; ustawienie trybu video > mov al,3h ; wybór trybu > int 10h ; wywołanie BIOS mov ah, 5h ; wybranie funkcji stronicy mov al, 0 ; wybranie stronicy int 10h ; wywołanie BIOS > mov ah,3h ; odczytanie położenia wskaźnika mov bh, 0 ; stronica > int 10h ; wywołanie BIOS mov ah, 2 ; ustawienie położenia wskaźnika mov dh, 10 ; wiersz mov dl, 20 ; kolumna mov bh, 0 ; stronica int 10h ; wywołanie BIOS ; uzyskanie położenia wskaźnika ; CH - początkowy wiersz kursora ; CL - końcowy wiersz kursora ; DH - wiersz wskaźnika ; DL - kolumna wskaźnika mov ah, 3 ; uzyskanie położenia wskaźnika mov bh, 0 ; stronica int 10h ; wywołanie BIOS ; pobieranie danych mov cursor, cx ; zapisanie wierszy wskaźnika mov cur_row, dh ; zapisanie wiersza mov cur_col, dl ; zapisanie kolumny ; ------------------ Przykład ---------------- ; poniższy kod oczyszcza cały ekran poprzez przewinęcie ; go do góry (normalne atrybuty pustych wierszy) mov ah, 6 ; przewinięcie do góry mov al, 0 ; całe okno mov ch, 0 ; wiersz dla lewy-górny wierzchołek mov cl, 0 ; kolumna dla lewy-górny wierzchołek mov ah, 24 ; wiersz dla prawy-donly wierzchołek mov dl, 79 ; kolumna dla prawy-dolny wierzchołek mov bh, 7 ; normalny atrybut dla pustych wierszy int 10h ; wywołanie BIOS [...] > exit: > mov ax,4C00h ; zakończenie procedury > int 21h ; wywołanie DOS > main endp > > end main ; ----------------------------------------------------------- INT 10h: Screen -> http://www.bookcase.com/library/dos/ints/int10.html Mam nadzieje, że gdzieś się nie machłem :P :] Pozdrawiam
Technical Details
Message-ID:
<1158144422.515053.10400@d34g2000cwd.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!news.germany.com!postnews.google.com!d34g2000cwd.googlegroups.com!not-for-mailReferences:
<ee8g03$ia2$1@nemesis.news.tpi.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!news.germany.com!postnews.google.com!d34g2000cwd.googlegroups.com!not-for-mail From: "Matuzalem" <codemaster_@op.pl> Newsgroups: pl.comp.lang.asm Subject: Re: Problem z przesunięciem ekranu Date: 13 Sep 2006 03:47:02 -0700 Organization: http://groups.google.com Lines: 89 Message-ID: <1158144422.515053.10400@d34g2000cwd.googlegroups.com> References: <ee8g03$ia2$1@nemesis.news.tpi.pl> NNTP-Posting-Host: 212.244.115.33 Mime-Version: 1.0 X-Trace: posting.google.com 1158144426 23512 127.0.0.1 (13 Sep 2006 10:47:06 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 13 Sep 2006 10:47:06 +0000 (UTC) In-Reply-To: <ee8g03$ia2$1@nemesis.news.tpi.pl> User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6,gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: d34g2000cwd.googlegroups.com; posting-host=212.244.115.33; posting-account=HFFdEQ0AAACI08bdAnMScVqwVEj2ucOg Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit