Article View: pl.comp.lang.asm
Article #1516Re: Longhand Division in Binary
From: Bogdan (bogdro)
Date: Mon, 22 Oct 2007 16:18
Date: Mon, 22 Oct 2007 16:18
94 lines
4440 bytes
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-mailReferences:
<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