Hollosi Information eXchange /HIX/
HIX CODER 100
Copyright (C) HIX
1998-05-06
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 [opt.sign] Elojel fuggveny optimalizalas (mind)  25 sor     (cikkei)
2 Ertelmes feladat ujra (mind)  32 sor     (cikkei)
3 Elojel problema (mind)  22 sor     (cikkei)
4 Re: Megszakitas hivas Windowsos programbol (mind)  35 sor     (cikkei)
5 [SIGN] [JUBILALUNK???] egy kicsit offtopic (mind)  27 sor     (cikkei)
6 Koszonet ! (mind)  6 sor     (cikkei)
7 RE: Signum fgv? (mind)  29 sor     (cikkei)

+ - [opt.sign] Elojel fuggveny optimalizalas (mind) VÁLASZ  Feladó: (cikkei)

Hi Coders!

> Felado :  [Hungary] CODER #98
>
> mov ax,number
> cmp ax,1
xor dx, dx; Hi!, ez lemaradt :)
> sbb dx,0  ; neg, poz -> 0,  0 -> -1
> sar ax,16 ; neg -> -1   poz,0 -> 0
> inc dx
> or ax,dx
Koszonom Marosi Istvannak (thanx**n).

Ez nagyon cool algoritmus ;), de a problemam meg! mindig! (esetleg!)
fennall: Ez -1,+1,0 es kombinacioira MINDIG azonos sebeseggel
fut le (nem mertem ki de cca. 7-10 orajel lehet, P%tsai meg jobb).

En mar hasznalom is, de +1,-1,0-ra opt. ill. -1,+1,0-ra opt. lehet
egyaltalan ennel gyorsabbat irni? Me ha nem akko csak kotozkodom:)

udv: XiX

       -=-  -=-
-=- Minden masodik szavam hazugsag -=-
-=- Az orokevalosagnak kell elni. Na bumm, legfeljebb nem sikerul -=-
+ - Ertelmes feladat ujra (mind) VÁLASZ  Feladó: (cikkei)

Hali !

Mivel ugy tunik, hogy most nagyobb erdeklodes mutatkozik a feladat
irant, megismetlem a feladat "kiirast" :


A feladat : 
Olyan TSR progit irni, ami kepes elore meghatarozott printerportra
kuldott adatfolyamot elfogni, es azon string cseret vegezve tovabb
kuldeni a portra.
A cserelendo stringeket egy TXT file-bol kellene venni, ami
szovegszekesztovel szerkesztheto.
A proginak a specialis karaktereket is tudni kell(lene) kezelni.
(ez utobbi egy komoly kitetel a txt file szerkezetenek megvalasztasa
szempontjabol !)
Kiindulasnak 16 stringpar kezelese elegendo. (de a bovithetoseg elonyt
jelent)
A stringekben a keresendo illetve a helyettesito stringek hossza 32
karakterben (byte) maximalhato.
Az elkepzelt inditasi szintaxis : TRANSLPT  <LPT portszam> <filenev>
ahol <LPT portszam> a hasznalni /elfogni kivant port szama
<filenev> a stringparokat tartalmazo config file neve
Keszulhet:  ASM, C, PASCAL-ban.

Gondolom nem kell elmagyarazni, hogy egy ilyen progi mire lenne jo ?!

Jutalom gyanant a kesz mu kozzetetlehez szukseges WEB lap elhelyezest
tudok felajanlani !

Ha valami esetleg nem lenne ertheto, szivesen valaszolok a kerdesekre.

Udv: Csiszar L.
+ - Elojel problema (mind) VÁLASZ  Feladó: (cikkei)

Szerintem a legegyszerubben igy lehet Pascalba:

{- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -}
Function elojel(x:longint):boolean;
{- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -}
  begin
    if x=abs(x) then elojel:=false else elojel:=true;
  end;

az osztasos eljaras :

{- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -}
Function elojel2(x:longint):byte;
{- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -}
  begin
    if x=0 then elojel2:=0 else elojel2:=x div abs(x);
end;

ez pont ketszer annyi idot vesz igenybe mint a 1. Megoldas.
Igaz nem jelzi kulon a nullat.

Szabolcs
+ - Re: Megszakitas hivas Windowsos programbol (mind) VÁLASZ  Feladó: (cikkei)

On  5 May 98 at 15:37,  > wrote:

> Egy olyan fuggvenyt kellene csinalnom, amely meghivja
> a DOS 21h megszakitast. Ezt egy 16 bites Windows
> programhoz kellene hozzaszerkesztenem, tehat .obj-ba
> kellene forditani a fuggvenyt. Viszont nem tudom, hogy
> itt kell-e valamilyen specialis hivasi konvenciot alkalmazni.

Nem kell semmi kulonos, szinte minden ugyanugy megy, mint real
modban, a windows leszimulalja (nem igazan jo szo, nem baj) a
majdnem teljes int21 APIt. Szoval:

 _asm {
    mov ah, kod
    mov dx, cim
    ..stb...
    int 21h
    mov retAX,ax
    sbb ax,ax
    mov retCY,ax
  }
  if (retCY) ...ciki, cy volt...

Ja, vigyazz, ha kell a si vagy a di (nem is beszelve a bp-rol) 
parameteratadasra, akkor azokat persze push-olni pop-olni kell!

Ami esetleg nincs leszimulalva (nem tudom, mik azok, talan a nem 
dokumentalt fuggvenyek), es megis hasznalni kell, akkor kicsit 
bonyolultabb a helyzet, a pufferek szamara GlobalDosAlloc-kal kell 
helyet foglalni, es a DPMI int hivo hivasaval kell az int21-et 
meghivni, stb. stb.

Istvßn
--  Istvan Marosi  --  http://www.sch.bme.hu/~marosi  --
--  Recosoft Ltd.  --  mailto:  --
+ - [SIGN] [JUBILALUNK???] egy kicsit offtopic (mind) VÁLASZ  Feladó: (cikkei)

Udvozollek dicso Koder !
Egyebkent mar megint milyen szemetet olvasol???

  Gondoltam, nem maradhatok ki a 100. szambol, ugyhogy egy kis
adag a elojel temahoz (avagy erdekes, de nem kivanok az optimizerek
dolgaba beleszolni :)

Function Sign(Number:Integer):Integer;
;

Arrrrrrrgggggggghhhh, valamit tudok :)
Meg a Commodore-s idokben volt az a divik, hogy lassu az
IF kiertekelese, s minden ilyet jo volt atalakitani valami
kifejezesse. Pl: egy jateknal mondjuk iranyitunk egy figurat,
s egy valtozot attol fuggoen kell novelni vagy csokkenteni
egyel, hogy az X vagy az Y billentyut nyomta le. (ha valaki
nem jott volna ra, ez mind basic)
Azok voltak az regi szep idok! Na nem a bezik, inkabb a assemblyre
gondolok, ott nem volt gond, hogy milyen geped volt, mindegyiken
ugyanolyan gyorsan (lassan) futott.
Bezzeg itt: ahany gep annyi tempo (ez nem rimel, ki kolti at?)
Na jol van, mara eleg a lelkizesbol :)

Hastalavista Koder!
                     BUMMMMMMMM! <---fejloves
+ - Koszonet ! (mind) VÁLASZ  Feladó: (cikkei)

Hi CODERek !

Nagyon koszono mindenkinek aki segitett megoldani
a "gotoxy()" problemam !!!!

Pati
+ - RE: Signum fgv? (mind) VÁLASZ  Feladó: (cikkei)

>From: 	Istvan Marosi[SMTP:]
>
>A LongInt szerintem nem lebegopontos szam!!! :))
Igaz, igaz... Bocs.
Viszont lebegopontosra lenne erdekes igazan gyors, low-level 
megoldas ami nem hasznal FPUt.
>
>> Ennel gyorsabb elojelszamitas szerintem nem letezik, persze assemblyben
>> v. C-ben jo megirni.
>Egyebkent az eredeti kerdes mar asm-ben volt valamikor par napja, 2
>db. ugrassal, mint ahogy Te is csinalnad, es a srac azt kerdezte, 
>hogy hogyan lehetne ezt tovabb optimalni. En is valaszoltam mar ra 2 
>ujsaggal ezelott, ami egyetlen ugras nelkul csinalta meg ezt asm-ben.
Olvastam, az is egesz szamokra vonatkozik, teljesen egyetertek
Veletek.

De az en megoldasomban -sajna- van egy hiba amit Te sem vettel eszre:

Amikor a legalso byteot vizsgalom es nulla, meg nem biztos hogy az 
egesz mantissza nulla, ahhoz sorra kell venni mind a nyolc byte-ot.
Helyesen, ha az elojelbit 0, el  kell kezdeni a mantissza byte-okat
vizsgalni
es az elso nemnulla-nal meg lehet allni azzal, hogy >0 es signum=1, 
ha mind a 8 byte nulla akkor signum=0.

Bar, lehet ez mar reg bele van drotozva az FPU-ba es kar vele
vacakolni...

VAti

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