🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Z ciekawosci...

#505
From: Matuzalem
Date: Thu, 10 Aug 2006 12:55
105 lines
3635 bytes
Wiktor S. napisal(a):
> > Dobra wiem o co chodzi, tylko bylem ciekaw jak to ktos inny widzi.
> > Jeszcze jedna sprawa:
> >
> > _TEXT segment
> > start:
> >
> > main proc
> > main endp
> >
> > _TEXT ends
> >
> > end mian
>
> > Czemu TASM pozwala cos takiego skompilowac? (MASM nawet nie zaczyna)
>
> Powinien sie wywalic na "mian", bo nie ma takiej etykiety.
> Zakladajac, ze to literówka i tam jest "main", to dlaczego nie? Kod jest jak
> najbardziej prawidlowy.
>
> > _TEXT segment
>
> poczatek segmentu _TEXT
>
> > start:
>
> etykieta start
>
> > main proc
>
> poczatek procedury "main", co wiaze sie m.in. z ustawieniem etykiety "main"
> w tym miejscu (start i main staja sie równowazne)
>
> > main endp
>
> koniec procedury main
>
> > _TEXT ends
>
> koniec segmentu _TEXT
>
> > end main
>
> koniec programu, punkt wejscia: etykieta (procedura) main.
>
> --
> Azarien

Jednak nie powienie tego kompilowac (tak jak MASM) z prostej
przyczyny: main nie jest etykieta "poczatkowa" i z tego powodu
program wiesza sie zaraz po uruchomieniu.

Gdyby bylo tak jak mówisz, to, to tez powinno byc dobrze:

;------------------------------------------
_TEXT segment
start:

main proc
main endp

_TEXT ends

end moze_koniec
;------------------------------------------

A nie jest.
Definiujmy sobie byle co i pszmy odwolanie na koncu 'end cos'.
Taki przykladzik:

;------------------------------------------
_TEXT segment
start:

  mov ax, 0
  mov bx, 0
jmp short dalej ;jmps
  mov dx, 0
  xor ax, ax
dalej:
  xor bx,bx
  add ax, 2

main proc
main endp

_TEXT ends

end dalej
;------------------------------------------

W TASM kompiluje sie idealnie co wiecej program dziala, ale czy
poprawnie? odp. nie
Czemu?
Wystarczy zdebugowac to cudenko i co sie okazuje? Program rozpoczyna
swoje dzialanie od etykiety "dalej:", a wszystko to co jest "przed"
etyieta, wogule nie jest wykonane.
Jedynie gdy dodamy (TASM) LOCALS i '@@' to kompilator wypluwa ze
etykieta 'dalej' jest mu nie znana - poprawnie. MASM tego wogule nie
zaczyna kompilowac tylko pisze, ze jest nieznana etykieta (dlatego
ze 'problem' globalnych i lokalnych etykiet/danych jest tam wykonywany
automatycznie).

Pozdrawiam
Technical Details
Message-ID: <1155214554.774457.206850@m79g2000cwm.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!news.germany.com!postnews.google.com!m79g2000cwm.googlegroups.com!not-for-mail
References: <1154992159.298894.75050@75g2000cwc.googlegroups.com> <eb8odv$t18$1@news.onet.pl> <1155028585.369046.93050@m79g2000cwm.googlegroups.com> <ebc9c1$67a$1@news.onet.pl> <1155119601.053155.206900@i42g2000cwa.googlegroups.com> <ebf91r$3bd$1@news.onet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!news.germany.com!postnews.google.com!m79g2000cwm.googlegroups.com!not-for-mail
From: "Matuzalem" <codemaster_@op.pl>
Newsgroups: pl.comp.lang.asm
Subject: Re: Z ciekawosci...
Date: 10 Aug 2006 05:55:54 -0700
Organization: http://groups.google.com
Lines: 108
Message-ID: <1155214554.774457.206850@m79g2000cwm.googlegroups.com>
References: <1154992159.298894.75050@75g2000cwc.googlegroups.com>   <eb8odv$t18$1@news.onet.pl>   <1155028585.369046.93050@m79g2000cwm.googlegroups.com>   <ebc9c1$67a$1@news.onet.pl>   <1155119601.053155.206900@i42g2000cwa.googlegroups.com>   <ebf91r$3bd$1@news.onet.pl>
NNTP-Posting-Host: 212.244.115.33
Mime-Version: 1.0
X-Trace: posting.google.com 1155214560 20189 127.0.0.1 (10 Aug 2006 12:56:00 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Thu, 10 Aug 2006 12:56:00 +0000 (UTC)
In-Reply-To: <ebf91r$3bd$1@news.onet.pl>
User-Agent: G2/0.2
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: m79g2000cwm.googlegroups.com; posting-host=212.244.115.33;   posting-account=HFFdEQ0AAACI08bdAnMScVqwVEj2ucOg
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit