🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #647

Re: Problem z przesunięciem ekranu

#647
From: Matuzalem
Date: Fri, 15 Sep 2006 10:20
44 lines
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-mail
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>

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