🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Tablica

#2290
From: Bogdan (bogdro)
Date: Fri, 09 Jul 2010 17:19
114 lines
4121 bytes
W dniu 08.07.2010 20:54, przemo12146 pisze:
> Witam wszystkich,
> o to mój przerobiony kod:
> 
> 
> format binary
> 
> org 100h
> 
> poczatek:
> 
> mov word bx,[tablica+0]
> mov bx,wi
> 
> mov word bx,[tablica+2]
> mov bx,ta
> 
> mov word bx,[tablica+4]
> mov bx,is
> 
> mov word bx,[tablica+6]
> mov bx,sw
> 
> mov word bx,[tablica+8]
> mov bx,ie
> 
> mov word bx,[tablica+10]
> mov bx,ci
> 
> mov word bx,[tablica+12]
> mov bx,ew
> 
> mov word bx,[tablica+14]
> mov bx,sd
> 
> mov dx,tablica
> mov ah,09h
> int 21h
> 
> mov ah,0h
> int 16h
> 
> mov ax,4C00h
> int 21h
> 
> tablica: times 16 db 255
> wi db 'Wi'
> ta db 'ta'
> is db 'j',20h
> sw db 'sw'
> ie db 'ie'
> ci db 'ci'
> ew db 'e!'
> sd db 20h,'$'

[...]

> seg000:0158                 db  57h ; W
> seg000:0159                 db  69h ; i
> seg000:015A                 db  74h ; t
> seg000:015B                 db  61h ; a
> seg000:015C                 db  6Ah ; j
> seg000:015D                 db  20h
> seg000:015E                 db  73h ; s
> seg000:015F                 db  77h ; w
> seg000:0160                 db  69h ; i
> seg000:0161                 db  65h ; e
> seg000:0162                 db  63h ; c
> seg000:0163                 db  69h ; i
> seg000:0164                 db  65h ; e
> seg000:0165                 db  21h ; !
> seg000:0166                 db  20h
> seg000:0167                 db  24h ; $
> seg000:0167 seg000          ends
> seg000:0167
> seg000:0167
> seg000:0167                 end start
> 
> 1.Ile bajtów zmieści się pod pozycją np: [tablica+0] ?, dokładniej
> chodzi mi o to, że w zmiennej "wi" są teraz 2 bajty ale równie dobrze
> mogę wpisać tam 16 bajtów a napis i tak zostanie wyświetlony, tylko
> tyle, że nie będą one znajdować się w tablicy.

 Tak.

> Jeśli chciałbym żeby
> dodatkowe zmienne znajdowały się w tablicy musiałbym powiększyć ją o
> 16 i odpowiednio przypisać miejsca tak jak uprzednio.

 Nie. Nie umieszczasz zmiennych w tablicy. Tablica jest zmienną i
możesz umieszczać w niej wartości. Czy wartości innych zmiennych, czy
po prostu jakieś stałe, nie ma to znaczenia.
 Może nie zrozumiałem Cię dobrze, ale dla jasności: w tej chwili masz
tablicę 16 bajtów o wartości 255, a po niej (a nie w niej) masz
kolejne 16 bajtów z napisem. Tak, jakbyś w C napisał:
	char tablica[16] = {255, 255, 255, 255, 255, 255, 255, 255,
	255, 255, 255, 255, 255, 255, 255, 255};
	char wi[] = { 'W', 'i' };
	...
	char sd[] = { 20h, '$' };

 Aby powiększyć zmienną "wi", nie musisz powiększać tablicy.

> 2.Czy to znaczy, że mogę do zmiennej "wi" przypisać aż 65536 bajtów
> czyli tyle ile ma rejestr bx?

 Możesz przypisać tyle, na ile pozwoli Ci kompilator (biorąc pod uwagę
typ programu). Nie jest to ograniczone wielkością rejestru.

-- 
Pozdrawiam/Regards - Bogdan                     (GNU/Linux & FreeDOS)
Kurs asemblera x86 (DOS, GNU/Linux):http://rudy.mif.pg.gda.pl/~bogdro
Grupy dyskusyjne o asm:  pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
www.JabberPL.org www.TorProject.org Soft (EN): miniurl.pl/bogdro-soft
Technical Details
Message-ID: <i17lng$7gb$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: hvlmqm$ljb$1@mx1.internetia.pl <acaaee6e-5908-471b-a309-b7146d718425@b35g2000yqi.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "Bogdan (bogdro)" <bogdan@poczta.gazeta.pl>
Newsgroups: pl.comp.lang.asm
Subject: Re: Tablica
Date: Fri, 09 Jul 2010 19:19:38 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 114
Message-ID: <i17lng$7gb$1@inews.gazeta.pl>
References: hvlmqm$ljb$1@mx1.internetia.pl <acaaee6e-5908-471b-a309-b7146d718425@b35g2000yqi.googlegroups.com>
NNTP-Posting-Host: rudy.mif.pg.gda.pl
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1278695987 7691 153.19.42.16 (9 Jul 2010 17:19:47 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Fri, 9 Jul 2010 17:19:47 +0000 (UTC)
X-User: bog.d
In-Reply-To: <acaaee6e-5908-471b-a309-b7146d718425@b35g2000yqi.googlegroups.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.2.4) Gecko/20100608 Thunderbird/3.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit