Article View: pl.comp.lang.asm
Article #666Re: Problem z przesunięciem ekranu
From: Bogdan (bogdro)
Date: Fri, 03 Nov 2006 11:08
Date: Fri, 03 Nov 2006 11:08
41 lines
4014 bytes
4014 bytes
Johnny napisał(a): > Wracam do problemu. > > Kod przesłany przez Matuzalem'a - za który dziękuję - jest o tyle > wadliwy, że wyświetlenie znaku występuje co drugie naciśnięcie klawisza. > > W ramach eksperymentów postanowiłem uprościć sprawę i wykorzystać > funkcję 0eh przerwania 10h, która sama dba o przewinięcie ekranu. Ku > mojemu zdumieniu funkcja ta zachowuje się podobnie jak w przypadku mojej > "ręcznej" obsługi przewinięcia, tzn. nie wyświetla przedostatniego znaku > ostatniego wiersza aż do momentu przewinięcia ekranu. > > Poniżej zamieszczam kod. Proszę poeksperymentować z licznikiem pętli > pozwalającym zaobserwować różne zachowanie programu: dla mov cx,7ceh > program zatrzyma się przed przedostatnią kolumną i poczeka na > wprowadzenie znaku, następnie przesunie się do ostatniej kolumny NIE > WYŚWIETLAJĄC wprowadzonego znaku i znowu czeka na wprowadzenie znaku i > dopiero po wprowadzeniu kolejnego znaku przewija ekran i pokazuje > poprawnie wszystkie znaki. Natomiast dla 7cfh program zatrzymuje się > przed ostatnią kolumną WYŚWIETLAJĄC przedostatni znak. > > Pocieszam się tym, że w RBILu jest wzmianka o błędach przewijania w > niektórych biosach. Co prawda nie ma takiej wzmianki dla trybu video 1h > no ale może to jest po prostu nieudokumentowane. No albo robię jakiś > błąd, którego nikt nie potrafi zauważyć. U mnie (FreeDOS, Award BIOS) jest tak: - dla CX=7ce program zapełnia jedynkami cały ekran poza ostatnimi dwoma znakami. Wpisuję '2', pojawia się '2'. Znów wpisuję '2', pojawia się '2' i ekran przewija się o wiersz w dół. - dla CX=7cf program zapełnia jedynkami cały ekran poza ostatnim znakiem. Wpisuję '2', pojawia się '2' i ekran przewija się o wiersz w dół. Wpisuję '2', pojawia się '2' w nowym wierszu. Podsumowując: u mnie działa. Poza kosmetyką nie zmieniałem kodu. -- Pozdrawiam, Bogdan (Linux i FreeDOS) Kurs assemblera x86 (DOS i Linuks): http://rudy.mif.pg.gda.pl/~bogdro Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32 Rozmawiaj bezpiecznie: www.JabberPL.org Surfuj anonimowo: tor.eff.org
Technical Details
Message-ID:
<eif80n$re1$1@atlantis.news.tpi.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailReferences:
<eedgj5$hl8$1@atlantis.news.tpi.pl> <1158314745.102416.285490@p79g2000cwp.googlegroups.com> <1158315621.847716.34500@p79g2000cwp.googlegroups.com> <eee9ll$38u$1@atlantis.news.tpi.pl> <1158328549.838592.247550@m73g2000cwd.googlegroups.com> <eelk74$rmc$1@atlantis.news.tpi.pl> <1158601023.863820.102920@k70g2000cwa.googlegroups.com> <eequ8i$goo$1@atlantis.news.tpi.pl> <eer5cm$tiu$1@achot.icm.edu.pl> <eerbfh$i9l$1@nemesis.news.tpi.pl> <1158767448.505059.102840@d34g2000cwd.googlegroups.com> <eetfki$9hn$1@nemesis.news.tpi.pl> <1158837872.369946.179520@d34g2000cwd.googlegroups.com> <eetu2a$bog$1@atlantis.news.tpi.pl> <1158842844.821659.235420@i42g2000cwa.googlegroups.com> <eeusko$sal$1@atlantis.news.tpi.pl> <1158880927.023780.38570@d34g2000cwd.googlegroups.com> <ef06hb$8a5$1@atlantis.news.tpi.pl> <1158916948.171607.71750@m73g2000cwd.googlegroups.com> <ei4g2h$8f5$1@atlantis.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!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: "Bogdan (bogdro)" <bogdan@bogdan.pl> Newsgroups: pl.comp.lang.asm Subject: Re: Problem z przesunięciem ekranu Date: Fri, 03 Nov 2006 12:08:42 +0100 Organization: tp.internet - http://www.tpi.pl/ Lines: 41 Message-ID: <eif80n$re1$1@atlantis.news.tpi.pl> References: <eedgj5$hl8$1@atlantis.news.tpi.pl> <1158314745.102416.285490@p79g2000cwp.googlegroups.com> <1158315621.847716.34500@p79g2000cwp.googlegroups.com> <eee9ll$38u$1@atlantis.news.tpi.pl> <1158328549.838592.247550@m73g2000cwd.googlegroups.com> <eelk74$rmc$1@atlantis.news.tpi.pl> <1158601023.863820.102920@k70g2000cwa.googlegroups.com> <eequ8i$goo$1@atlantis.news.tpi.pl> <eer5cm$tiu$1@achot.icm.edu.pl> <eerbfh$i9l$1@nemesis.news.tpi.pl> <1158767448.505059.102840@d34g2000cwd.googlegroups.com> <eetfki$9hn$1@nemesis.news.tpi.pl> <1158837872.369946.179520@d34g2000cwd.googlegroups.com> <eetu2a$bog$1@atlantis.news.tpi.pl> <1158842844.821659.235420@i42g2000cwa.googlegroups.com> <eeusko$sal$1@atlantis.news.tpi.pl> <1158880927.023780.38570@d34g2000cwd.googlegroups.com> <ef06hb$8a5$1@atlantis.news.tpi.pl> <1158916948.171607.71750@m73g2000cwd.googlegroups.com> <ei4g2h$8f5$1@atlantis.news.tpi.pl> NNTP-Posting-Host: actr4.neoplus.adsl.tpnet.pl Mime-Version: 1.0 X-Trace: atlantis.news.tpi.pl 1162552151 28097 83.11.71.4 (3 Nov 2006 11:09:11 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Fri, 3 Nov 2006 11:09:11 +0000 (UTC) User-Agent: Thunderbird 1.5.0.7 (X11/20060909) In-Reply-To: <ei4g2h$8f5$1@atlantis.news.tpi.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit