Article View: pl.comp.lang.asm
Article #647Re: Problem z przesunięciem ekranu
From: Matuzalem
Date: Fri, 15 Sep 2006 10:20
Date: Fri, 15 Sep 2006 10:20
44 lines
3000 bytes
3000 bytes
Matuzalem napisał(a): > Johnny napisał(a): > > Dzięki za przesłany program. To co piszę to zwykłe ćwiczenie z książki > > więc równie ważne dla mnie jest zrozumienie przyczyny znikania w mojej > > wersji znaku w przedostatniej kolumnie ostatniego wiersza. Czy moja > > wersja zachowuje się tak samo na Twoim komputerze? > > Tak, a to jest powód: > > > odczytaj: ; odczyt znaku > > mov ah,10h > > int 16h > > Ta funkcja czeka na naciśnięcie znaku, a potem jego wyświetlenie. > Zauważ, że w moim przykładzie, jest funkcja mov ah, 1/int 10h > która wykonuje to samo, tyl, że nie czeka na wypełnienie bufora i > działa w pętli, więc nic nie "blokuje" programu. > mov ah, 10h blokuje program w tym miejscu, ponieważ wskaźnik zmienia > położenie, a bufor jeszcze nie jest pełny - bądź program w > związku z przesunięciem gdzieś "gubi" naciśnięcie klawisza przez > jakiś skok - i dlatego dopiero gdy wskaźnik zostanie ustawiony na > nowej pozycji sygnał naciśnięcia dociera do bufora i znak zostaje > wpisany. "sygnał naciśnięcia dociera" - ściślej: zostaje wykonany z kolejki. Tak mi jeszcze do głowy przyszło.. :P Skoro uczysz się asm, sprubuj samemu zanalizować program który stworzyłeś, będzie to niezła zabawa i dokładnie dowiesz się "dla czego...". Nie zapomnij dodać informacji debugowych. Korzystasz z TASM, więc tak to będzie: tasm /l/n/zi program.asm tlink /3/m/v program.obj td program.exe 'td' to Turbo Debugger. Pozdrawiam
Technical Details
Message-ID:
<1158315621.847716.34500@p79g2000cwp.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!p79g2000cwp.googlegroups.com!not-for-mailReferences:
<ee8g03$ia2$1@nemesis.news.tpi.pl> <eeb7nb$1r0$1@nemesis.news.tpi.pl> <1158244982.390461.281100@m73g2000cwd.googlegroups.com> <1158247875.473696.47560@e3g2000cwe.googlegroups.com> <eedgj5$hl8$1@atlantis.news.tpi.pl> <1158314745.102416.285490@p79g2000cwp.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!p79g2000cwp.googlegroups.com!not-for-mail From: "Matuzalem" <codemaster_@op.pl> Newsgroups: pl.comp.lang.asm Subject: Re: Problem z przesunięciem ekranu Date: 15 Sep 2006 03:20:21 -0700 Organization: http://groups.google.com Lines: 47 Message-ID: <1158315621.847716.34500@p79g2000cwp.googlegroups.com> References: <ee8g03$ia2$1@nemesis.news.tpi.pl> <eeb7nb$1r0$1@nemesis.news.tpi.pl> <1158244982.390461.281100@m73g2000cwd.googlegroups.com> <1158247875.473696.47560@e3g2000cwe.googlegroups.com> <eedgj5$hl8$1@atlantis.news.tpi.pl> <1158314745.102416.285490@p79g2000cwp.googlegroups.com> NNTP-Posting-Host: 212.244.115.33 Mime-Version: 1.0 X-Trace: posting.google.com 1158315627 9859 127.0.0.1 (15 Sep 2006 10:20:27 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 15 Sep 2006 10:20:27 +0000 (UTC) In-Reply-To: <1158314745.102416.285490@p79g2000cwp.googlegroups.com> 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: p79g2000cwp.googlegroups.com; posting-host=212.244.115.33; posting-account=HFFdEQ0AAACI08bdAnMScVqwVEj2ucOg Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit