🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Tablica

#2273
From: Michoo
Date: Thu, 17 Jun 2010 09:05
56 lines
3274 bytes
przemo12146 pisze:
> Cześć,
> Jestem początkujący mam kilka pytań do mojego kodu:
Co to jest - TASM, czy jakiś inny staroć?

> 
> 1.Dlaczego jak wpisuje do rejestru bx+1 lub bx+2 aż do bx+4 zmienną a
> lub b pokazuje mi śmieci zamiast tego co pod nią się znajduje, zacząć
> mogę dopiero od bx+5 tak jak wyżej ?
Nie miałem kontaktu z asm pod dosem dobre 5 lat, ale stara ściąga mówi, 
że to, że to działa to jakiś cud - używasz 09h, które wypisuje string, a 
  ładujesz do rejestru dx znak, a nie wskaźnik (jakbyś chciał użyć 02h)
> 
> 2.Dlaczego pomiędzy wpisywaniem zmiennych do tablicy pod adresy bx+5
> czy tez bx+7 itp. muszą być od siebie w odstepie 2 bo inaczej zamiast
> zmiennych na pulpicie widzie śmieci ?
ax, bx mają rozmiar słowa, bajt ma rozmiar bajtu

> 
> 3.Litera 'a' w kodzie ascii ma wartość szesnastkowo 61 binarnie
> 1100001 czyli jest 7 bitowa pomijając uzupelnienie liczby do 8 bitów
> dlaczego znajduje sie w odległości 2 bajtów w tablicy skoro tablica
> jest zainicjonowana na 10 bajtów rownych 0 ?
Co masz na myśli?

> 
> 4.Wpisując do tablicy np: 255 bajtowej, zmienną składającą sie z 8
> bitów chcąc ją wpisać pod 10 bajt użyjemy operacji np: [bx+9] gdzie do
> rejestru bx zostala przypisana tablica ale czy można zapisać to w
> sposób [bx-245] przecież zadeklarowana tablica to etykieta obliczana
> przez linker
Z C ci się pomieszało - linker policzy [tablica+10], a nie [bx+10], bo 
nie zajmuje się zgadywaniem co będzie w bx. Poza tym skąd pomysł, że 
rejestr bx jest 8 bitowy?

> wraz z zadeklarowaną przestrzenią czyli wpisując jakąś zmienną pod x
> przestrzeń to np: [tablica] jest początkiem czy końcem czyli bajtem 0
> czy 255 ?
Jak się chcesz odwołać do 3 pola 8 bajtowej tablicy to znacznie łatwiej 
jest napisać [tablica-6] niż [tablica+2], więc odpowiedź jest oczywista 
- końcem.
> 
> 5.W jaki inny sposób mogę przedstawić sumę elementów znajdujących się
> w tablicach?
Najlepiej użyć masm'a i przedstawiać w LISTBOX/EDIT jako kolejne 
linijki, albo w zestawie pól STATIC.

> 
> Gdybym popelnił gape prosze o wyrozumiałość.
Wyrozumiałość wyrozumiałością, ale ty prawie nic nie wiesz. Zacznij od 
kursu assemblera a potem bierz się za pisanie programów - odwrotna 
kolejność jest długa, trudna, bolesna i frustrująca.

-- 
Pozdrawiam
Michoo
Technical Details
Message-ID: <hvcohf$bed$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail
References: <dd5aa12f-284f-4e03-b29b-529270d19ecb@b35g2000yqi.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail
From: Michoo <michoo_news@vp.pl>
Newsgroups: pl.comp.lang.asm
Subject: Re: Tablica
Date: Thu, 17 Jun 2010 11:05:53 +0200
Organization: http://onet.pl
Lines: 56
Message-ID: <hvcohf$bed$1@news.onet.pl>
References: <dd5aa12f-284f-4e03-b29b-529270d19ecb@b35g2000yqi.googlegroups.com>
NNTP-Posting-Host: c6-100.icpnet.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1276765551 11725 62.21.6.100 (17 Jun 2010 09:05:51 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Thu, 17 Jun 2010 09:05:51 +0000 (UTC)
User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090706)
In-Reply-To: <dd5aa12f-284f-4e03-b29b-529270d19ecb@b35g2000yqi.googlegroups.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit