Hollosi Information eXchange /HIX/
HIX CODER 669
Copyright (C) HIX
1999-12-12
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 ASM: 80x30 textmode (mind)  13 sor     (cikkei)
2 Re: BIOS es MHz (mind)  13 sor     (cikkei)
3 Clipper Help! (mind)  18 sor     (cikkei)
4 Re: Valoszinuseg (mind)  7 sor     (cikkei)
5 Re: BIOS es MHz (mind)  24 sor     (cikkei)
6 RE: klikk-klikk-kesz a program (mind)  8 sor     (cikkei)
7 Ne keverjuk ossze a szezont a fazonnal ... (mind)  47 sor     (cikkei)
8 Re: Valoszinuseg (pontosabban permutacio) (mind)  64 sor     (cikkei)
9 Re: BIOS es MHz (mind)  65 sor     (cikkei)

+ - ASM: 80x30 textmode (mind) VÁLASZ  Feladó: (cikkei)

Udv Coderek!

Tudja valaki, hogy a Dos Navigator "Custom Video Mode 1"
(256) alneven hogyan allitja be a 80x30-as textmodot?
Elegge megtetszett ez a felbontas es szivesen hasznalnam
az assembly-s progijaimban. Megprobaltam a forrasban
megkeresni, de valami miatt mindig elkutyulodok...
Egyelore (!) meg nem adtam fel, de nagyon jol jonne,
ha valaki tudna segiteni.
Orulnek neki, ha a kompatibilitasrol is irnatok...

Udv: Zoli

+ - Re: BIOS es MHz (mind) VÁLASZ  Feladó: (cikkei)

>Minek a roviditese a BIOS, es mi az tulajdonkeppen?
>A szamitogepben a MHz mire vonatkozik pl
>300MHz-es egy proci, teszem azt, azt jelenti, hogy
>maximalisan 300millio bit adatforgalom lehet a
>processzorban a regiszterek es a kulonbozo periferiak
>kozott egyuttesen masodpercenkent?Es pl a RAM-nal a 100
>MHz azt jelenti, hogy masodpercenkent max
>100millio bit "aramolhat" ki vagy be a memoriaba?
Szoval megis csak sajnalod a penzt a konyvre, mi?! ;)
Ha mar ennyire fukar vagy, akkor legalabb nezz mar el a
http://prog.pmmf.hu/ cimre! Talan talalsz egy-ket erdekes dolgot...

Gabor
+ - Clipper Help! (mind) VÁLASZ  Feladó: (cikkei)

Udv!

Clipper 5.3-al dolgozom, es az lenne a kerdesem, hogy
letezik-e hozza Class(y) lib.

Ha megadom az #include-nal a 'Class(y).ch'-t, es
a LIB-nek a Classy.lib-et, akkor kiabal, hogy
a CLIPPER520 igy meg ugy, ugyhogy
gyanus, hogy ami nalam van, csak 5.2-vel
jo.

Nagyon fontos lenne maganba, mert
nincs idom olvasni a Coder-t!

Elore is koszi:
____________________
Ágoston Lajos

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

>Ha csak keves elemrol volna szo akkor egyszeruen ciklusokkal kivitelezheto a 
>dolog, de mar 10 ciklus 1 kicsit sok. 

Rekurzio?
--
JimBoo >
Suse 6.0 v2.2.7
+ - Re: BIOS es MHz (mind) VÁLASZ  Feladó: (cikkei)

>Minek a roviditese a BIOS, es mi az tulajdonkeppen? 
>A szamitogepben a MHz mire vonatkozik pl
>300MHz-es egy proci, teszem azt, azt jelenti, hogy
>maximalisan 300millio bit adatforgalom lehet a
>processzorban a regiszterek es a kulonbozo periferiak
>kozott egyuttesen masodpercenkent?Es pl a RAM-nal a 100
>MHz azt jelenti, hogy masodpercenkent max
>100millio bit "aramolhat" ki vagy be a memoriaba? 

Bios: Basic Input Output System (a system nem biztos, majd ugyis
kijavit vki, ha nem jo)
Mint a neve is mutatja, az alapveto I/O muveleteket tartalmazza.
A Mhz -nek nem sok koze van ahoz amit leirtal.
A gepben van egy orajelgenerator ami pl 300 Mhz -es negyszogjelet
general (persze ez nem tokeletes negyszog, de ez most mind1).
Ez eddig ok? Szal, a proci csak akkor hajt vegre utasitast, amikor
a negyszogjelnek FELFUTO ele van, azaz egy periodus alatt 1 utasitas.
Az AMD K6/K7 valamit kavar, igy ez rajuk nem teljesen igaz (asszem a PII is).
Tehat nem annyi millio bit, hanem utasitas az elmeleti hatar. Gyakorlatilag
elofordulhat periodusonkent 1,5/2 (talan meg tobb is) utasitas is, de ezt AMD
berkekben biztos jobban tudjak....
--
JimBoo >
Suse 6.0 v2.2.7
+ - RE: klikk-klikk-kesz a program (mind) VÁLASZ  Feladó: (cikkei)

>modula-3? oberon? ezeket eszik,vagy isszak?
> (ugye ezek a klikk-klikk-kesz a program tipusu nyelvek?)
Neeeem, ez nem a klikkelj batran katagoria ....

>legyszives irj url-t a fenti nyelvekkel kapcsolatban,talan nem vagyok
Ird be a keresobe, es valogass..

--Udv: szm
+ - Ne keverjuk ossze a szezont a fazonnal ... (mind) VÁLASZ  Feladó: (cikkei)

>>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.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>Ezt mar nem birom....  pont az ilyen hozzaallas alazza verig azokat a
>programozokat, akik hatekony progikat akarnak irni (sajnos ok vannak
>kissebbsegben).

Biztos sokmindenben igazad van, de talan nem ugyanarra gondolunk.

A modern magasszintu nyelvek strukturalt exception handling-jerol volt szo ...
Valoban, ez plusz koddal jarhat. Ezt azonban a compiler generalja,
a forraskod rendszerint csokken. Az attekinthetosege, megbizhatosaga,
KARBANTARTHATOSAGA pedig egy bonyolult, nagy programrendszerben
akar nagysagrendekkel is nohet. (Nagy program: >300.000 forrassor,
C eseten a pontosvesszoket szoktuk szamolni).

A hatekonysaggal meg torodjon az okos compiler, arra talaltak ki. A programozo
meg koncentraljon az algoritmikus kerdesekre. Amugy a mai gepeken
akar assemblerbol sem lehet _szvsz_ sokkal jobb kodot elerni, mint
amit _egy_jo_compiler_ general, mert a programozok 99%-a nem ismeri
az adott processzor belso architekturajat. A rengeteg parallel feldolgozas,
pipeline optimalizalasok,  stb. kovetese pedig kezzel lehetetlen, es processor
fuggo.

>A mai mentalitas az, hogy 5 perc alatt osszedobunk
>valamit egy vizualis nyelven, ami annyit tud, hogy kirak egy ablakot meg egy
>gombot. Az egesz 3 mega, es egy erogep kell neki....
>Persze minek ilyen aprosagokkal torodni, hiszen a mai gepek legalabb

Modula-3 es Oberon volt emlitve.
Egyik sem "vizualis" nyelv. Amugy az MS C++ sem az. Mas kerdes,
hogy a kornyezet tamogatja a fennt emlitett "klikk-klakk-kesz" dolgot.

Azert a helyzet nem olyan rossz.
Osszedobtam teszt keppen egy ablakot, ami kirak 2 gombot
"klikk-klakk-keeeesz" -el. 3perc sem kellett. Az exe 20480 byte.

A problema szerintem elsosorban nem technikai. A piaci versenyorulet
altal kikenyszeritett tempo nem teszi lehetove az igenyes munkat,
meg olyan cegeknel sem, ahol pedig a munkatarsak igenyesek.
Hataridot lekesni _egyszeruen_nem_lehet, maximum a speckobol
huzunk (kicsit). Igy is ott tartunk, hogy az a program, ami amerikaban 2het,
itt europaban 2honapig keszul. Igy kimegy a program felig
letesztelve, tele hibakkal. Vagy nem megy ki, de akkor mar nem is fog:
az uzlet eluszott.
--Udv: szm
+ - Re: Valoszinuseg (pontosabban permutacio) (mind) VÁLASZ  Feladó: (cikkei)

On  9 Dec 99 at 3:41,  wrote:

> az osszes kombinacioban pl. kiirni. Azt tudom, hogy a lehetosegek szama n!
> (faktorialis). Ha jol tudom akkor ez a permutacio. Pl.: 123, 132 ,213 ,231 ,
> 312 ,321 .
> Ha csak keves elemrol volna szo akkor egyszeruen ciklusokkal kivitelezheto a
> dolog, de mar 10 ciklus 1 kicsit sok.
> Tehat otletek ?

Pl. rekurzioval:
(A pp rutinnak csak az utolso parametere (int most) igazan erdekes a 
rekurzio szempontjabol, a tobbi 4 lehetne globalis valtozoban is)

-----------------8<---------------------
#include <malloc.h>
#include <stdlib.h>
#include <stdio.h>

static void pp(int tomb[], int used[], int sor[], int n, int most)
{
    if (most < n) {
        for (int i=0; i<n; i++)
            if (!used[i]) {
                sor[most] = i;  /* lerakjuk az uj elemet */
                used[i] = 1;
                pp(tomb, used, sor, n, most+1); /* ... a folytatas */
                used[i] = 0;
            }
    } else {
        /* kesz a permutacio, kiirjuk sor[] szerinti sorrendben */
        for (int i=0; i<n-1; i++)
            printf("%d, ", tomb[sor[i]]);
        printf("%d\n", tomb[sor[n-1]]);
    }
}

void print_permutacio(int tomb[], int n)
{
    int *sor = (int*)malloc(n * sizeof(int));
    int *used = (int*)calloc(n, sizeof(int));  /* nullazva allokal */
    if (!used || !sor) {
        if (used) free(used);
        if (sor) free(sor);
        fprintf(stderr, "No mem\n");
        exit(1);
    }
    pp(tomb, used, sor, n, 0);
    free(used);
    free(sor);
}
-----------------8<---------------------

Egy kis tesztprogi a kiprobalashoz:

int main()
{
    int tomb[] = {1,2,3,4};
    print_permutacio(tomb, sizeof(tomb)/sizeof(tomb[0]));
    return 0;
}

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

On  9 Dec 99 at 17:03,  wrote:

> Minek a roviditese a BIOS, es mi az tulajdonkeppen?

Basic IO System, alapveto periferiakezelesi rendszer.
Mielott az IO-t megkerdezed: Input Output

Az volt az IBM otlete a legelso IBM-PC-nel, hogy egy nyilt rendszert
csinal, ami bovitheto mindenfele periferiakkal, es ezeknek meg
maganak az alaplapnak is az IO szintu mukodteteset a sokfeleseg
miatt nem az oprendszerre bizza, hanem azt a PC gyartoja egy
szabvanyositott interface-en (a BIOS feluleten) keresztul nyujtja a
geppel egyutt. Arra is van lehetoseg, hogy az egyes kartyakban is
legyen BIOS (szoval egy program), ami lefut bekapcsolaskor,
inicialja a kartyat, es a kesobbiekben is vezerli a kartya IO-jat.
Tipikusan ilyenek a VGA kartyak.

Vegul nem teljesen igy alakultak a dolgok, mert egyreszt a gep
osszeszerelok nem alltak neki egyedi BIOS-t irni, hanem nehany BIOS
gyarto lepett a piacra, akiknek viszont mindenfele alaplapra es
periferiara fel kellett keszulniuk. Masreszt meg amikor valami
rendesebb oprendszer kerult a gepre (Linux, NT), akkor azok nem
bizhattak olyan fontos dolgot, mint az IO, egy toluk fuggetlenul
alakulo hatekonytalan programra, igy ezeknel a BIOS gyakorlatilag
csak nehany masodpercig el, amig a gep bekapcsolodik.

> A szamitogepben a MHz mire vonatkozik pl

Az orajelnek a frekvenciaja ennyi. Orajelbol van sok egyebkent egy
mai gepben, amit leginkabb emlegetni szoktak, az a processzor belso
orajele. Ez a 486DX2 ota a kulso orajelnek valahanyszorosa (2x,
2.5x, 3x, stb.), es a prociban egy kulon aramkor alakitja ki. 

A legelso processzorok egy utasitast nehany orajel alatt hajtottak
vegre (pl. a Z80-as tipikusan 4 orajel alatt). Kesobb bevezettek a
processzoroknal az utasitas-pipe (cso) szervezest, igy az egyebkent
szukseges tobb orajelet tobb utasitasnal 1-1 orajellel elcsusztatva 
"kapja" meg az utasitas, aminek eredoje az, hogy a tipikus utasitasok 
ugy latszanak, mintha 1 orajel alatt vegrehajtodnanak. (Mar a Z80-as 
is csinalt olyat, hogy nehany utasitasnal az utolso orajel muvelete 
atlapolodott a kovetkezo utasitas elso orajelevel.)

A mai processzorok raadasul tobb parhuzamos pipe-ot is alkalmaznak, 
igy egy orajel alatt jo esetben 2 vagy meg tobb utasitast is vegre 
tudnak hajtani. Sot, van olyan utasitas is, amit annyira parhuzamosan 
hajtanak vegre a tobbivel, hogy latszolag arra mindig 0 orajel jut!

Tehat pl. 300 MHz-es orajel es 2 utasitas/orajel azt jelenti, hogy 
elvileg 600 millio olyan muveletet tud a processzor csinalni 
masodpercenkent.

Ez volt a belso orajel. A kulso orajellel fut a fo memoria (a
processzor belsejeben levo cache memoria jobb prociknal a teljes
belso orajellel megy). Ez azert sok esetben nem jelenti azt, hogy
100 MHz kulso orajelnel 100 millio szo (ahol a szo pl. 32 vagy 64
bitet jelent) mozgatasa tortenhet, mert lehet wait ciklusokat
iktatni kozbe, ha lassabb a memoria.

Ezen kivul is van meg egy meg lassabb orajel, amikkel a periferiak 
mennek a PCI buszon (33 MHz), meg egy meg annal is lassabb, amivel 
az ISA buszon levo periferiak mennek (12 MHz).

István
--  Istvan Marosi  --  http://www.sch.bme.hu/~marosi  --
--  Recosoft Ltd.  --  mailto:  --

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