Hollosi Information eXchange /HIX/
HIX CODER 666
Copyright (C) HIX
1999-12-09
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 C++ new operator es a selectorok (mind)  24 sor     (cikkei)
2 Sziasztok! (mind)  9 sor     (cikkei)
3 Van ilyen? (mind)  11 sor     (cikkei)
4 RE: sz@r nyelv & goto (mind)  47 sor     (cikkei)
5 Re: proci tortenelem (mind)  14 sor     (cikkei)
6 Re: proci tortenelem (mind)  47 sor     (cikkei)

+ - C++ new operator es a selectorok (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

A minap jutott eszembe egy regi problema, amit annak idejen
sikerult is megoldanom, azota viszont C helyet mar C++-t
hasznalok, es kivancsi vagyok, hogy a problema itt is letezik-e.

Windows programban a memoria foglalasokhoz a GlobalAlloc
eljarast alkalmaztam, ami mint kiderult, minden handlehez egy
kulon selectort rendelt, ami annak korlatossaga miatt
(emlekeimben 2048 386-os processzorral, 3.1-es Windows)
sok tul apro foglalassal el tudott fogyni. Megoldaskent akkor
megfejeltem az eredeti eljarast annyival, hogy kis meretu
foglalasok eseten joval nagyobbat harapott, es azt tobb foglalas
kozt szetosztotta.

A kerdesem az lene, hogy a new operator megvalositasa
az altalam hasznalt Borland C++ 5.02 eseten, illetve altalaban
okozhat-e hasonlo problemat tobb tizezer egyideju, kis meretu
foglalas eseten, illetve mas programokkal konkuralva adodhat-e
ilyen jellegu problema.

udv.
Joco

+ - Sziasztok! (mind) VÁLASZ  Feladó: (cikkei)

A tegnapi CODER-ben errol a cimrol kertek segitseget maganba:
>>Felado :  [Romania]
>>Temakor: SOS DELPHI ( 16 sor )

Engem is erdekelne a tema, ha tud valaki segiteni, ha lehet, ne csak maganba
kuldjeted.

Koszi,
Salamon Sandor
+ - Van ilyen? (mind) VÁLASZ  Feladó: (cikkei)

> Van olyan asm fordito is, aminek meg tudod mondani, ez a nasm:
> (Netwide Assembler)
> 
>   add cx,1       ; imm16
>   add cx,byte 1  ; imm8

Nem pont ehhez kapcsolodik, de tenyleg van ilyen? Hozza lehet adni 16-bites
regiszterhez 8-bites operandust??? Szerintem nem. Mar a MOV helyett is
MOVZX/MOVSX kellett, de ADDZX/ADDSX utasitasokrol meg nem hallottam.

Andras
+ - RE: sz@r nyelv & goto (mind) VÁLASZ  Feladó: (cikkei)

>>Az olyan sz@r nyelvekben, mint pl. a C, nem a goto hasznalata a ...
>>Kulturaltabb nyelevekben meg ott van a strukturalt exception handling

>"Kulturaltabb" nyelven mire gondolsz?
>(irtam korabban hogy vannak olyanok akik el vannak kenyeztetve... ;>))))))
MODULA-3. Vagy ha valami "light"-abb kell. akkor az OBERON.
"Tokeletes" nyelv azonban nincs.

>1. Ne nezd le a C-t, mert mar tobb, mint 25 eve bizonyit
Nincs lenezes. Sot, hasznalom is. A problema ott van, hogy mar regen tul
kellett volna lepni rajta. Volt alternativa: Objectiv C.

>2. C++ -ra, vagy Delphire vagy masra gondolsz, mint minden idok legjobb
>nyelvere? Tenyleg kinavcsi vagyok ra, es nem kotozkodeskeppen.
A Delphi nem rossz, bar, ha jobban megnezzuk, tkp. OBJECT PASCAL.
Szvsz a C++ legnagyobb elonye a C kompatibilitias. Egyben ez a legnagyobb
hatranya is (jo, lehet hogy kicsit sarkos a fogalmazas.)

>> Kulturaltabb nyelevekben meg ott van a strukturalt exception handling
>Lattad mar, hogy milyen ASM kod van mogotte? Valoszinuleg a programozo
>szamara kenyelmes megoldas, es biztosan attekinthetobb a forras...
Viszont a hibakezeleseket egy helyen el lehet intezni, nem kell minden hivas
utan a return code-ot elemezgetni, kiugrani, stb...
A mai gepeken az alkalmazasok 99%-anal ez nem okozhat gondot.

Marosi Pista irta (mertem volna fogadni, hogy ismered):
>Pontosabban Goto statement considered harmful. Ez volt a kezdete az
>elso flame war-nak :) A lap kesobb el is hatarozta, hogy ezentul nem
>kozol ennyire sarkitott cikket, mert nem kell neki meg egyszer egy
>ilyen felbolydulas :)
Egeszen pontosan: 
Dijkstra, E.W.: Go to statement considered harmful
CACM Vol11, N3, March 1968

>Mindenesetre poenbol egy torteneti adalek: a Dijsktra cikke utani
>vitaban felmerult az otlete annak, hogy aki nem akar goto-t
>hasznalni, azok szamara hasznos lenne egy comefrom nevu utasitas
>egyes atlathatatlanul strukturalt programokban valo eligazodashoz :)
Dijkstra egyszer izekre szedte harom amerikai cikke't valamely
folyoiratban, majd befejezesul kozolte, hogy az angolsaguk is pocsek.
A harom amerikai pontonkent megvalaszolta a kritikat, majd ugy fejeztek
be, hogy D. ur (aki azt hiszem holland) bizonyara a pocsek angolsaguk
miatt nem ertette meg a cikket ....

Na mind1, nem flame-t akartam, mindenki olyan nyelvet hasznal, amit
rakenyszeritenek.
--Udv: szm
+ - Re: proci tortenelem (mind) VÁLASZ  Feladó: (cikkei)

On  7 Dec 99 at 5:57,  wrote:

> Csak egy megjegyzes: Ha jol emlexem, akkor a 80286-os nem volt teljesen
> komptabilis a 8086-ossal. Ha minden igaz, akkor a stack-re pakolgatasnal a
> masolas es a SP valtoztatasa mas sorrendben tortent...

Ez azert durva lett volna, nem ott volt a kulonbseg. Volt valami
hasonlo tenyleg, ha jol remlik, akkor egy exception-nel (talan div0)
volt kulonbseg, hogy a push-olt IP az utasitasra, vagy az utasitas 
moge mutat-e.

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

On  7 Dec 99 at 6:26,  wrote:

> > Nekem pedig csak egy apro pontositasom lenne: igenis (felulrol)
> > kompatibilis a 80386+ procik vedett modja a 80286-osokeval.
> 
> Azert vannak kulonbsegek. A 286-os nem tudott kilepni vedett modbol,
> ahhoz egy kulso aramkor reset-elte a procit. A 386-os mar tudja, de

Ez nem jelenti azt, hogy nem felulrol kompatibilis.

> ha ezt egy (286-os) program onmaga akarja vezerelni, abbol lehet
> gubanc.

Ebbol gubanc torvenyszeruen meg nem lesz. A reset-elos modszer 
mukodik ugyanis 386-osnal is.

Gond ott lehet, hogy volt a 286-osnak egy nem dokumentalt utasitasa,
loadall volt a neve, ami arra szolgalt, hogy az intel maga
tesztelhesse a procit ugy, hogy egy bedrotozott memoriacimrol betolt
a _belso_ regiszterekbe valami adatot. Igy el lehetett erni olyan
regisztereket is, amiket normal utasitasokkal kozvetlenul nem
lehetett. Lehetett pl. sima _real_ modban is betolteni egy
szegmensregiszter belso implementaciojaba olyan cimet, ami 1 mega
fole mutatott! (Ez hasonlit a 386-os nehany eve divatos "unreal"
vagy "flatreal" modjara) Igy real->protected modvaltas nelkul is el 
lehetett erni mind a 16 megat.

Nos, ez a loadall utasitas a 386-osnal eltunt (mar nem emlekszem 
pontosan, talan lett helyette hasonlo mas, de ez mindegy). Ha egy 
progi hasznalta ezt a loadall-t, abbol mar lehetett gubanc, bar ugy 
emlekszem, jobb bios-okban leszimulaltak.

Egyebkent erdekes az, hogy a real->prot illetve prot->real valtas 
tortenete hogyan alakult. A 286-osbol tenyleg 'kifelejtette' az intel 
a real-be visszavalto utasitast. Igazibol nem felejtesrol volt szo, 
hanem a proci tervezoi ugy kepzeltek, hogy minden oprendszeriro 
(ertsd: ms) orulni fog neki, hogy a procinak van protected modja, es 
real modban csak addig fut a gep, amig bekapcsolodik, es a bios 
leteszteli a gep legfontosabb elemeit. Rogton utana az opsys atvalt 
prot-ba, es hurra.

Nem igy tortent, a dos, illetve a real modu driverek meg ma is elnek. 
Ugyhogy az intel korrigalta a 'hibat', es a 386 mar megprobalt minel 
jobban egyutt elni a dos-szal (ide-oda mod valtas, V86 modban 
parhuzamosan futtathato virtualis gepek (tobb dos box)).

István

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