🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Longhand Division in Binary

#1516
From: Bogdan (bogdro)
Date: Mon, 22 Oct 2007 16:18
94 lines
4440 bytes
Remek pisze:
> > Użytkownik "Bogdan (bogdro)" napisał:
> >
>> >>  Czyli zmienne środowiskowe PATH, LIB, HLAINC i HLALIB?
> >
> > W ten sposób:
> >
> > set hlainc=c:\hla\include
> > set hlalib=c:\hla\hlalib\hlalib.lib
> >
> > itd.

 No i dobrze.

>> >> Na stronie z instrukcjami widzę np.
> >
>> >> hla -v hw.hla
> >
>> >> hla /?, hla /h, hla -h ani hla --help nie działają?
> >
> > Akurat żadna z podanych nie działa  :)  Działa hla -?.

 To było takie zgaduj-zgadula z mojej strony, bo nie mam HLA.

> > Nie działa natomiast
> > przekierowanie do pliku tekstowego (to osobny problem). Zrobiłem
zrzuty z
> > ekranu.

 Programik bodajże 'rerror' się nazywa. Przekierowuje wyjście stderr
na stdout, które to da się przekierować do pliku nawet w czymś tak
zaawansowanym jak command.com  :)  No chyba że pomijana jest warstwa
systemowa (w co wątpię).

> > Prawdę mówiąc liczyłem na gotowca, bo chodzi mi o sprawdzenie
> > tylko tej jednej procedury dzielenia.

 Gotowca dostaniesz, jak znajdziesz osobę używającą HLA i chcącą się
podzielić wiedzą. Ja to mogę tylko parę ogólnych rad podać, resztę
musisz doczytać w instrukcjach.

> > Jakoś póki co nie bardzo mnie ten
> > HLA przekonuje. Udało mi się zmusić go do zrobienia z z pliku
*.hla plik
> > *.asm. I co widzę? Jest to prosty meesagbox.

 Jak na windowsowy 'hello, world' przystało  :)  To przeszkadza?
Przecież sam piszesz progsy 32-bitowe z takimi messageboksami. Czy
chodzi o długość?

> > Plik .asm pod Masm 32 ma 21
> > linijek ze wszystkimi includami i deklaracjami. W C i Pascalu taki
plik
> > źródłowy ma jedną linijkę

 Choćbyś całe main() upakował w jedną linię, to #include musi być w
osobnej.  :)  Wiem, to miało być wyolbrzymienie. Zapominasz jednak, że
coś generowane przez automat czasem bywa nadmiarowe, bo nie sposób
wszystkiego przewidzieć.

> >, a .asm wygenerowany przez HLA ma ich po
> > dodaniu niezbędnych includów 151.

 Mnie to nie dziwi. Nie dość, że asemblerze w ogóle kod często jest
dłuższy, to jeszcze widać w nim np. sprawy związane z obsługą
wyjątków, prawda?

> > Coś jest nie tak. Masm32 robi z tego
> > pliku .obj, a linker wyrzuca komunikat:
> >
> > LINK : error LNK2001: unresolved external symbol _start
> > tut02.exe : fatal error LNK1120: 1 unresolved externals

 Tak nie powinno być. Ten symbol pewnie jest z bibliotek HLA. Jeśli
chcesz exe, pozwól, by HLA wykonał całą robotę - od przetwarzania po
linkowanie.

> > Plik tut02.asm wygenerowany z HLA jest tutaj:
> >
> > http://remek62.republika.pl/Tymcz/tymcz.html
> >
> > Linie z includami dodałem, bo było więcej błędów. Widocznie zmienne
> > środowiskowe są nie do końca dobrze zadeklarowane w Autoexec'u

 Możliwe. Albo nie dodajesz na linii poleceń wszystkiego, co potrzeba
linkerowi. Ale skoro już "kompilacja" działa, to czemu nie najedziesz
HLA na procedurę dzielenia, by zobaczyć wynik? To jest (chwilowo)
główny cel, co nie?

-- 
Pozdrawiam/Regards - Bogdan                         (Linux & FreeDOS)
Kurs asemblera x86  (DOS & Linux):  http://rudy.mif.pg.gda.pl/~bogdro
Grupy dyskusyjne o asm:  pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
Rozmawiaj bezpiecznie: www.JabberPL.org Surfuj anonimowo: tor.eff.org
Technical Details
Message-ID: <ffiige$kqg$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <feggr4$9v0$1@inews.gazeta.pl> <fej2ar$7u6$1@inews.gazeta.pl> <fejgi7$j05$1@inews.gazeta.pl> <felgkn$3ij$1@inews.gazeta.pl> <femf27$40d$1@inews.gazeta.pl> <fesp0c$roh$1@inews.gazeta.pl> <ffd1l6$atm$1@inews.gazeta.pl> <ffdif3$b66$1@inews.gazeta.pl> <fff4vu$mfg$1@inews.gazeta.pl> <ffft54$f7h$1@inews.gazeta.pl>

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: Longhand Division in Binary
Date: Mon, 22 Oct 2007 18:18:18 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 94
Message-ID: <ffiige$kqg$1@inews.gazeta.pl>
References: <feggr4$9v0$1@inews.gazeta.pl> <fej2ar$7u6$1@inews.gazeta.pl> <fejgi7$j05$1@inews.gazeta.pl> <felgkn$3ij$1@inews.gazeta.pl> <femf27$40d$1@inews.gazeta.pl> <fesp0c$roh$1@inews.gazeta.pl> <ffd1l6$atm$1@inews.gazeta.pl> <ffdif3$b66$1@inews.gazeta.pl> <fff4vu$mfg$1@inews.gazeta.pl> <ffft54$f7h$1@inews.gazeta.pl>
NNTP-Posting-Host: g6.chorche.net
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1193069905 21328 80.188.120.29 (22 Oct 2007 16:18:25 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Mon, 22 Oct 2007 16:18:25 +0000 (UTC)
X-User: bog.d
In-Reply-To: <ffft54$f7h$1@inews.gazeta.pl>
User-Agent: Thunderbird 2.0.0.6 (X11/20070728)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit