Article View: pl.comp.lang.asm
Article #2302Re: Tablica
From: przemo12146
Date: Wed, 21 Jul 2010 15:37
Date: Wed, 21 Jul 2010 15:37
208 lines
8914 bytes
8914 bytes
On 21 Lip, 16:21, "Remek" <ba...@tlen.pl> wrote: > Użytkownik "Remek" napisał: > > > Zdecyduj się, który kod omawiamy i postaraj się odpowiadać na wszystkie > >pytania. Oczywiście jeśli masz zamiar korzystać z moich rad. > Trochę później masz w kodzie deklarację: > wi dw 'Wi' > Czyli dwa bajty. Próbowałeś to asemblować? kod omawiany dotyczył mojej ostatniej wiadomości jeśli chodzi o ten kod to tak próbowałem go zasemblować i zaraz po kompilacji zdisasemblowałem co napisałem powyżej On 11 Lip, 17:18, przemo12146 <przemo12...@gmail.com> wrote: > Po kompilacji kodu: > > format binary > > org 100h > > poczatek: > > mov bx,[wi] > mov word [tablica+0],bx > > mov bx,[ta] > mov word [tablica+2],bx > > mov bx,[is] > mov word [tablica+4],bx > > mov bx,[sw] > mov word [tablica+6],bx > > mov bx,[ie] > mov word [tablica+8],bx > > mov bx,[ci] > mov word bx,[tablica+10] > > mov bx,[ew] > mov word bx,[tablica+12] > > mov bx,[sd] > mov word [tablica+14],bx > > mov dx,tablica > mov ah,09h > int 21h > > mov ah,0h > int 16h > > mov ax,4C00h > int 21h > > tablica: times 16 db 255 > wi dw 'Wi' > ta dw 'ta' > is dw 'j',20h > sw dw 'sw' > ie dw 'ie' > ci dw 'ci' > ew dw 'e!' > sd dw 20h,'$' > > oraz po różnych jego modyfikacjach doradzonych przez "Bogdana" i > "Kicera" jak i moich > chcąc się upewnić że zmienne znajdują się w tablicy zdisasemblowałem > "program" > debuggerem "IDA Pro 4.9 Freeware" a oto wynik jego działania: > > seg000:0100 ; Format : MS-DOS COM-file > seg000:0100 ; Base Address: 1000h Range: 10100h-10174h Loaded length: > 74h > seg000:0100 > seg000:0100 .686p > seg000:0100 .mmx > seg000:0100 .model tiny > seg000:0100 > seg000:0100 ; > > =========================================================================== > seg000:0100 > seg000:0100 ; Segment type: Pure code > seg000:0100 seg000 segment byte public 'CODE' use16 > seg000:0100 assume cs:seg000 > seg000:0100 org 100h > seg000:0100 assume es:nothing, ss:nothing, ds:seg000, > fs:nothing, > > gs:nothing > seg000:0100 > seg000:0100 ; --------------- S U B R O U T I N E > ------------------------------------ > > --- > seg000:0100 > seg000:0100 > seg000:0100 start proc near > seg000:0100 mov bx, word_10160 > seg000:0104 mov word_10150, bx > seg000:0108 mov bx, word_10162 > seg000:010C mov word_10152, bx > seg000:0110 mov bx, word_10164 > seg000:0114 mov word_10154, bx > seg000:0118 mov bx, word_10168 > seg000:011C mov word_10156, bx > seg000:0120 mov bx, word_1016A > seg000:0124 mov word_10158, bx > seg000:0128 mov bx, word_1016C > seg000:012C mov bx, word_1015A > seg000:0130 mov bx, word_1016E > seg000:0134 mov bx, word_1015C > seg000:0138 mov bx, word_10170 > seg000:013C mov word_1015E, bx > seg000:0140 mov dx, 150h > seg000:0143 mov ah, 9 > seg000:0145 int 21h ; DOS - PRINT > STRING > seg000:0145 ; DS:DX -> string > terminated by "$" > seg000:0147 mov ah, 0 > seg000:0149 int 16h ; KEYBOARD - READ > CHAR FROM BUFFER, > > WAIT IF EMPTY > seg000:0149 ; Return: AH = > scan code, AL = > > character > seg000:014B mov ax, 4C00h > seg000:014E int 21h ; DOS - 2+ - QUIT > WITH EXIT CODE > > (EXIT) > seg000:014E start endp ; AL = exit code > seg000:014E > seg000:014E ; > > ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| > seg000:0150 word_10150 dw 0FFFFh ; DATA XREF: start > +4 w > seg000:0152 word_10152 dw 0FFFFh ; DATA XREF: start > +C w > seg000:0154 word_10154 dw 0FFFFh ; DATA XREF: start > +14 w > seg000:0156 word_10156 dw 0FFFFh ; DATA XREF: start > +1C w > seg000:0158 word_10158 dw 0FFFFh ; DATA XREF: start > +24 w > seg000:015A word_1015A dw 0FFFFh ; DATA XREF: start > +2C r > seg000:015C word_1015C dw 0FFFFh ; DATA XREF: start > +34 r > seg000:015E word_1015E dw 0FFFFh ; DATA XREF: start > +3C w > seg000:0160 word_10160 dw 6957h ; DATA XREF: > start r > seg000:0162 word_10162 dw 6174h ; DATA XREF: start > +8 r > seg000:0164 word_10164 dw 6Ah ; DATA XREF: start > +10 r > seg000:0166 db 20h > seg000:0167 db 0 > seg000:0168 word_10168 dw 7773h ; DATA XREF: start > +18 r > seg000:016A word_1016A dw 6569h ; DATA XREF: start > +20 r > seg000:016C word_1016C dw 6963h ; DATA XREF: start > +28 r > seg000:016E word_1016E dw 2165h ; DATA XREF: start > +30 r > seg000:0170 word_10170 dw 20h ; DATA XREF: start > +38 r > seg000:0172 db 24h ; $ > seg000:0173 db 0 > seg000:0173 seg000 ends > seg000:0173 > seg000:0173 > seg000:0173 end start > > dochodzę do wniosku, że próby zmiany wielkości uprzednio > zadeklarowanych zmiennych w > tablicy nie mają sensu ponieważ nie przynosi to pożądanego efektu, a > co za tym idzie > programista sam jest odpowiedzialny między innymi za ich rozmiar więc > skoro wcześniej > zmienna została już zainicjowana konkretnym rozmiarem to nie można > tego zmienić > później (dla mnie jest to dość logiczne jeśli chcieliśmy zmienną o > innym rozmiarze > trzeba było zrobić to wcześniej lub dopisać sobie dodatkową) no chyba > że się mylę. > Oczywiście nie ma zamiaru. Typowy troll, albo nierozgarnięty dzieciak. > Wydaje się, że to nie pierwszy jego występ. > > Remek Ponieważ temat wydawał mi się zamknięty od dłuższego czasu nikt nie odpowiadał a co do zmian i tak nie dawały odpowiedniego rezultatu. Wydaje mi się że prowadzę rozmowę z inteligentnymi ludźmi więc komentarze takiego typu są nie na miejscu co mnie nawet dziwi.
Technical Details
Message-ID:
<8451d5c3-2f94-47ad-a489-0bc165b16e99@q35g2000yqn.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!q35g2000yqn.googlegroups.com!not-for-mailReferences:
hvlmqm$ljb$1@mx1.internetia.pl <acaaee6e-5908-471b-a309-b7146d718425@b35g2000yqi.googlegroups.com> <i17lng$7gb$1@inews.gazeta.pl> <337ec0e6-4d8b-4496-a792-4503ce94e063@k39g2000yqb.googlegroups.com> <i19ceh$ahu$1@inews.gazeta.pl> <92331df0-601e-4a00-bf14-d0874270720c@z8g2000yqz.googlegroups.com> <i1ql6t$375$1@inews.gazeta.pl> <b8539f6f-01d2-4776-a032-c06d7081be8e@d8g2000yqf.googlegroups.com> <i1t4jv$jf7$1@inews.gazeta.pl> <i26vov$a5a$2@inews.gazeta.pl>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!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!q35g2000yqn.googlegroups.com!not-for-mail From: przemo12146 <przemo12146@gmail.com> Newsgroups: pl.comp.lang.asm Subject: Re: Tablica Date: Wed, 21 Jul 2010 08:37:48 -0700 (PDT) Organization: http://groups.google.com Lines: 242 Message-ID: <8451d5c3-2f94-47ad-a489-0bc165b16e99@q35g2000yqn.googlegroups.com> References: hvlmqm$ljb$1@mx1.internetia.pl <acaaee6e-5908-471b-a309-b7146d718425@b35g2000yqi.googlegroups.com> <i17lng$7gb$1@inews.gazeta.pl> <337ec0e6-4d8b-4496-a792-4503ce94e063@k39g2000yqb.googlegroups.com> <i19ceh$ahu$1@inews.gazeta.pl> <92331df0-601e-4a00-bf14-d0874270720c@z8g2000yqz.googlegroups.com> <i1ql6t$375$1@inews.gazeta.pl> <b8539f6f-01d2-4776-a032-c06d7081be8e@d8g2000yqf.googlegroups.com> <i1t4jv$jf7$1@inews.gazeta.pl> <i26vov$a5a$2@inews.gazeta.pl> NNTP-Posting-Host: 195.117.93.1 Mime-Version: 1.0 X-Trace: posting.google.com 1279726668 21665 127.0.0.1 (21 Jul 2010 15:37:48 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 21 Jul 2010 15:37:48 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: q35g2000yqn.googlegroups.com; posting-host=195.117.93.1; posting-account=vJlzHgoAAAB4VQEIaOfBd-KwI2yffTmo User-Agent: G2/1.0 X-HTTP-UserAgent: Opera/9.80 (Windows NT 5.1; U; pl) Presto/2.6.30 Version/10.60,gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit