Hollosi Information eXchange /HIX/
HIX CODER 558
Copyright (C) HIX
1999-08-23
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Re: C++ + assembly (mind)  22 sor     (cikkei)
2 Re: Hali!! (mind)  26 sor     (cikkei)
3 Re: Hali!! (mind)  5 sor     (cikkei)
4 Re: win & assembly (mind)  75 sor     (cikkei)
5 Re: UUEncode, XXEncode, BinHex... (mind)  12 sor     (cikkei)

+ - Re: C++ + assembly (mind) VÁLASZ  Feladó: (cikkei)

On 19 Aug 99 at 17:56,  > wrote:

> Sziasztok!
>
> Szeretnék C++ programot assembly rutinokkal gyorsítani Linux/g++ alatt.
> Van valami olyasmi modszer itt is, mint a DOS-os forditoknal az
> asm{...}?

Van,  __asm__ (...)
AT&T (nem pedig Intel) asm szintaktikaval!

Bovebben pl. innen: http://www.rt66.com/~brennan/djgpp/djgpp_asm.html
Van egy masik leiras is, de nem talalom az URL-jet. A cime "DJGPP
QuickAsm Programming Guide" es  irta, szoval
valahol a rutgers-en erdemes keresni. Regen neztem oket, voltak
bennuk ellentmondasok, ugyhogy valoszinu erdemes mindkettot
elolvasni. Peldakat talalhatsz a Linux forrasaban illetve include
file-jaiban, az asm konyvtar alatt tipikusan.

István
--  Istvan Marosi  --  http://www.sch.bme.hu/~marosi  --
--  Recosoft Ltd.  --  mailto:  --
+ - Re: Hali!! (mind) VÁLASZ  Feladó: (cikkei)

Szia!

Azt hiszem a vedett modu szegmensek kezelesevel lesz gondod.
Most hirtelen nem tudom azok a kapcsolok mit allitanak be,
(veletlenul keveredtem ide) de gondolom tudod, hogy azert
a vedett modu programozas kicsit mas :-)))
Remlik egy /3 kapcsolo is...

Szkirodalomkent a Mo.-n megjelent (tudomasom szerint) a legjobb
konyv a Horvath Gabor : Assembly vedett modu programozas
(floppy v. CD melleklet - nem emlekszm, de jo).

En Windows alatt nem irtam tiszta assembly programot, anno
DOS-ban a GDT feltoltese utan vedett modba kapcsoltam, utana
4Gb-ra allitiotta a szelektorokat, es vissza a valos modba.
A teljes memoriatartomany lecimezheto...
Viszont valahol, van egy egyszeru windowsos programom, ha kered
megkeresem (ha megtalalom).

Ja, es meg valami a forditonak is tudatni kell, hogy a szegmenst
32 bites vedett modu... USE32, es a .386P -t gondolom ismered.

Udv.
ZsZs.

(webes bekuldes, a bekuldo gepe: duna-123.dialin.datanet.hu)
+ - Re: Hali!! (mind) VÁLASZ  Feladó: (cikkei)

Ha valaszolsz a mail cimemre irj, en is most vagyok itt
eloszor, az megerkezik...  :-)


(webes bekuldes, a bekuldo gepe: duna-123.dialin.datanet.hu)
+ - Re: win & assembly (mind) VÁLASZ  Feladó: (cikkei)

Hello huKepi & Coderok!

>Nagyon sokaig csak DOS op. alatt nyomultam assembly-ben.
>Az lenne a kerdesem, hogy a Windows(3.1/95/98)
>ala szeretnek irni egy prg.-ot, ami nem DOS modban futna(!),
>ehhez milyen dolgokat kell a prg.-nek teljesiteni,
>forditasi parameterek, program fejlec, segment table stb.
>(DOS-ban ok, de win alatt mi, hogyan, mettol, meddig?)
>(TASM 5.1)
>Ertem ezalatt forditási opciok.
>Probalkoztam amde:
>[Fatal: Cannot generate COM file: segment-relocatable item present]
>Annak ellenere hogy az opciokent nem COM hanem EXE-adtam meg.
>[TLINK xxx.OBJ /TWE]


TASM-el nekem sem ment. Ami nekem bejott a NASM - ALINK kombinacio,
mindketto free.
A fejleccel nem kell foglalkozni, a linker belerakja. Ami kell hozza, egy
Win32API help vhonnan, (ha kell elkuldom) a funkciok parametereit forditott
sorrenben el kell push-olni , az eredmenyt az eax-ben kapod vissza. Ezt a
help nem irja, mert a C meg egyeb compilerek elintezik a parameteratadast. A
NASM-ALINK-hez van 1 Win32.lib, ebben vannak a Win32 funkciok belepesi
pontjai.
No kovetkezzek 1 teljes w32 apllikacio forrasa ASM-ben (Neeemm kell
megijedni rovid lesz):
[extern MessageBoxA]
[segment .code] ; itt a szegmens
[global main] ; ez azert kell, hogy a linker eltalalja a
              ;belepesi pontot
main:
        push dword 64+4 ; "i"ikon+igen-nem gomb
        push dword title
        push dword hello
        push dword 0
        call MessageBoxA
        cmp eax,6       ;igent nyomott?

        push dword 0    ;csak ok gomb
        push dword title
        mov eax,igszov
        je tovabb
        mov eax,nemszov
tovabb: push eax
        push dword 0
        call MessageBoxA

        ret     ; kilepes

[segment .data]
hello: db 'hello!',13,10,'Ez 1 win32Asm progi!',0
title: db 'Hello',0
igszov: db 'igent nyomtal',0
nemszov db 'nemet nyomtal',0
end
**** no itt a vege ****
forditas:
nasm -fwin32 hello.asm
link:
alink -oPE hello.obj win32.lib -entry main
***
a biztonsag kedveert idecopyzom a NC extension menujebol is->
obj: alink -oPE !.! win32.lib -entry main
asm: nasm -fwin32 -l !.lst !.!

****es kesz az application <3kB Nem eliras! kilobyte! es nem 300 hanem
harom. Ebbol 2.99 a PE (portable executable) fejlec, amit a linker beletesz.
(ezt csak Visual XYZ-ben programozok kedveert hangsulyozom, ahol egy 1 soros
progi leforditva minima calcula 20-50 kB, es hogy fusson, telepiteni kell
meg melle 1-2MB dll-t is .)

W95 alatt biztos jo, kiprobaltam, 3.1 alatt is mennie kene.

Udv
-banjo-
+ - Re: UUEncode, XXEncode, BinHex... (mind) VÁLASZ  Feladó: (cikkei)

On Sat, Aug 21, 1999 at 06:39:16AM +0000,  wrote:
> Szuksegem lenne az UUEncode, az XXEncode, es esetleg
> a BinHex kodolo, dekodolo algoritmusara.
> Elfogadok szoveges leirasokat, forraskodokat (leginkabb
> Pascal, de C is jo).
> A segitseget elore is koszonom.

ftp://mlf.linux.rulez.org/pub/debian/dists/slink/main/source/utils/uudeview*
This is a decoder for uuencoded, xxencoded, Base64 and BinHex encoded
files.  It also includes a similarly powerful encoder.

:-* :\n_tgz\n-- \nPremature... de ugyis tudjatok. <-- ez egy 0soros .sig

AGYKONTROLL ALLAT AUTO AZSIA BUDAPEST CODER DOSZ FELVIDEK FILM FILOZOFIA FORUM GURU HANG HIPHOP HIRDETES HIRMONDO HIXDVD HUDOM HUNGARY JATEK KEP KONYHA KONYV KORNYESZ KUKKER KULTURA LINUX MAGELLAN MAHAL MOBIL MOKA MOZAIK NARANCS NARANCS1 NY NYELV OTTHON OTTHONKA PARA RANDI REJTVENY SCM SPORT SZABAD SZALON TANC TIPP TUDOMANY UK UTAZAS UTLEVEL VITA WEBMESTER WINDOWS