Hollosi Information eXchange /HIX/
HIX CODER 204
Copyright (C) HIX
1998-08-29
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Biztonsagos TSR (DOS) (mind)  13 sor     (cikkei)
2 Re: Onmodosito kod (mind)  35 sor     (cikkei)
3 Re: winsock (mind)  56 sor     (cikkei)
4 Re: date az int1c alatt. (mind)  26 sor     (cikkei)
5 Re: Onmodosito kod (mind)  23 sor     (cikkei)
6 Re: data1c - alvarez, onmodosito kod - Stenya (mind)  30 sor     (cikkei)
7 asm putpixel source (mind)  12 sor     (cikkei)
8 SZiasztok! RE: int 1Ch GetTime (mind)  66 sor     (cikkei)
9 Borland C/C++ 4.5 Win alatt (mind)  19 sor     (cikkei)

+ - Biztonsagos TSR (DOS) (mind) VÁLASZ  Feladó: (cikkei)

Udv Coderek!

Tobben irtatok a biztonsagos TSR hivasrol. Van egy kis asm forras:
; TSRDEMO2.ASM
; Thomas Brandenborg
; 87.02.11
;
; Sample demonstration of a safe approach for writing TSR programmes.
szerintem erdemes megnezni, jol fel van commentezve. HKK, <16K .zip (de
csak hetfon leszek ujra netkozelben).

Udv: 'Z.
{Kova'cs Zolta'n }
+ - Re: Onmodosito kod (mind) VÁLASZ  Feladó: (cikkei)

>Elmondana valaki, hogy mi az az onmodosito kod???

Pld. irsz egy egyenes rajzolo programot:

( forras:
http://graphics.lcs.mit.edu/~mcmillan/comp136/Lecture6/Lines.html )

public void lineSimple(int x0, int y0, int x1, int y1, Color color){
    int pix = color.getRGB();
    int dx = x1 - x0;
    int dy = y1 - y0;

    raster.setPixel(pix, x0, y0);
    if (dx != 0) {
        float m = (float) dy / (float) dx;
        float b = y0 - m*x0;
        dx = (x1 > x0) ? 1 : -1;
        while (x0 != x1) {
            x0 += dx;
            y0 = Math.round(m*x0 + b);
            raster.setPixel(pix, x0, y0);
        }
    }
}

A cikluson belul van egy x0+=dx utasitas, ami az egyenestol fuggoen vagy
x0++ vagy x0-- lesz egy konkret esetben.
Ha ezt a programot at akarod irni assemblerbe akkor jo otletnek tunik a
program kozepen az add x0,dx utasitast dec x0 vagy inc x0 utasitasra
cserelni, mert ezek gyorsabban hajtnak vegre. Amikor eldontod hogy a
ciklusban +1 vagy -1 kell, akkor atirod az utasitaskodot inc-rol dec-re. Ha
a programod igy mukodik, akkor futas kozben valtoztatja a sajat kodjat,
vagyis onmodosito.

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

On 27 Aug 98 at 4:49,  > wrote:

> Hello Coderek !

Szia
 
> Amire nekem szuksegem lenne, az egy nagyon egyszeru kis szerver forras
> C-ben, winsockhoz. Nem kell semmit tudnia, csak egy nagyon egyszeru dolog

A unix-os socket programozasrol (is, meg mindenfele masrol is) nagyon
jo leiras van a http://ullman.inf.elte.hu/ullman/os/os.html URL-en, a
socket-ekrol a Halozatok cimszo alatt van szo. Peldaprogramok is
vannak, ami talan leginkabb neked valo, az ilyen cimen van: "Példa
egy select-et használó összeköttetés-alapú szerverre". (Bennhagytam
az ekezeteket, remelem, mindenkihez eljut. -- apropo, ha valaki nem
latna jol, szoljon mar nekem --)

Kezdetnek jo alapot ad a "Beginning Linux Programming" cimu konyv is, 
a socket-ekrol szolo resz a net-en is olvashato: 
http://www.wrox.com/Store/Chapter.asp?Code=680 

Eddig unix-os dolgokrol irtam. Windows alatt majdnem minden ugyanugy 
megy, csak kell az elejen egy ilyen:

#include <winsock.h>

int main()     /* console application lesz mondjuk belole ... */
{
    WSADATA WSAData;
    int status;

    status = WSAStartup( MAKEWORD(1,1), &WSAData ); /* WinSock 1.1 */
    if( status ) { ...hibajelzes... }

A vegen kell egy masik hivas:

    WSACleanup();
    return 0;      /* csak, hogy meg ne szoljatok :))) */
}

Kozepen pedig a read() meg a write() nem hasznalhato (mert a 
windows-nal a winsock nem resze az operacios rendszernek, igy a 
standard file muveleteket nem lehet socket-re alkalmazni), helyette a 
szinten unix-os recv() es a send() socket-fuggveny hasznalhato, 0-as 
utolso parameterrel (flags).

Ugyanezen oknal fogva a close() fuggveny sem hasznalhato, a
WinSock-nal kitalaltak ra egy mas nevet: closesocket()

Egyebekben a winsock pont ugyanugy hasznalando, mint az "igazi" unix
Berkeley socket. (Mar amennyire az ms hajlado massal kompatibilis
dolgot csinalni ;)

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

On 27 Aug 98 at 12:08,  > wrote:
 
> interruptot interruptbol valoban nem lehet hivni, de meg lehet
> trukkozni ugy, hogy kiolvasod az interrupt cimet amit hasznalni
> akarsz, aztan egy pushf utan raugrasz.

Ne haragudj, de ez nem igaz. Termeszetesen lehet interrupt belsejebol
is int utasitast kiadni. Valoszinuleg arra gondolsz, hogy ha jon egy
interrupt, akkor az interrupt engedelyezes flag-je tiltodik, es ujabb
hardware interrupt csak akkor aktivalodhat, amikor a software a 
flag-et engedelyezi.

Az emlitett trukkozesre tehat nincs szukseg. Azert van 'ertelme' az 
ilyen trukkozesnek is, legalabbis windows dos box-aban, ahol is igy 
kikerulheto az, hogy a protected modu interrupt kezelo rutin fusson 
le a dos realmodu rutinja helyett. (Mellesleg ennek azt hiszem, lesz 
egy olyan mellekhatasa is, hogy az igy hivott int21 fuggvenyek nem 
fogjak ismerni a halozatrol map-pelt drive-okat, mert azokat a prot 
modu int21 kezeli csak le.) Szoval a trukkozes akkor lehet hasznos, 
ha win95 dos boxban a vincsire szektor szinten akarsz irni, amit a 
hosszu file-nevek vedelmeben a w95 nem enged meg, de persze a bios 
tudja.

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

>Felado :  [Hungary]

>Elmondana valaki, hogy mi az az onmodosito kod???

Kezdjuk az alapoktol:
Kezdetben valanak a szamitogepek, ahol meg elektroncsovek sokasaga futottte
az epuletet, es a nullak es egyesek piciny ferritkarikakon csucsultek (Jo
tudom, volt hamarabb is, de az egyszeruseg kedveert kezdjuk itt).
Akkoriban meg volt memoria bemeno adatoknak, kimeno adatoknak es
programnak.
Aztan jottek a korszerubb mikroproffesszorok, ahol mar minden egy rakason
volt, magyarul nem volt kulombseg adat es program kozott, mindegyik csak
bitek-byteok-szavak sorozata volt.
Es ekkor jott be az a huzas is, hogy ha nincs kulonbseg, akkor akar meg is
lehetne valtoztatni (pl. debuggeles ellen jo), sot ha az ember kihasznalja
azt, hogy a proci elore dolgozik, es a kod amit atirok, az esetleg mar a
proci agyaban van, csak meg nem dolgozta fel, akkor ugy el tudja szallitani
a debuggert, ahogy akarja tobb-kevesebb fejtorest okozva a kodtoroknek.
Hat ennyi volt a mese (ha valamit rosszul irtam javitsatok ki, mivel az
elejen meg igencsak ovodaba jartam, nem biztos hogy jol emlexem arra az
idore).

A'kos
+ - Re: data1c - alvarez, onmodosito kod - Stenya (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok,

Alvarez:
>interruptot interruptbol valoban nem lehet hivni, de meg lehet
>trukkozni ugy, hogy kiolvasod az interrupt cimet amit hasznalni
>akarsz, aztan egy pushf utan raugrasz.
Miert ne lehetne interruptot interruptbol meghivni?
Siman meg lehet... 
A problemajara szerintem Hali.Non valaszolt, ezert nem irom
le en is.

Stenya:
Onmodosito kod az, amikor egy program sajatmagat felulirja 
a memoriaban. Ezt szinte csak assembly-vel lehet megcsinalni.
Igy az ugyanazon a cimen levo rutin egyszer ezt, egyszer azt
csinalja. Nem tul egeszseges dolog (nagyok a hibalehetosegek,
bar csinaltam mar en is :) s vedett modban meg nem is
egyszeru kivitelezni.

Otti:
>Termeszetesen nem hivhatsz barmikor DOS funkciot,
>foleg megszakitasbol nem. Van egy un. DOS foglaltsagi
>flag, aminek a bebillentett allapotaban nem ajanlatos
>DOS funkciot hivni!
Igy van, ha jol tudom az elso 9(?) szolgaltatas reentrans,
azok, amelyek karakterkiiratast (beolvasast) vegeznek.


Sziasztok,
Juan
+ - asm putpixel source (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

Egyszeru problemam van:
a C programomban szeretnek felhasznalni egy olyan assembly prog.reszt, ami
640x480x4 bites felbontasban _minel gyorsabban_ kigyujt megadott szinure
egy pixelt. Ez feheren trivialisan megy, de a szinek allitasara nem tudok
magamtol rajonni, ha jol emlexem, a tobbi bitplane-re kellene atkapcsolni,
amit nem tudok. Ja, es tenyleg a sebesseg lenne a lenyeg. (Megirtam
bgi-vel is, szabvanyosan Borland C 3.1-ben, hat... nagyon lassuuuuuu.)

TIA,
	Tom
+ - SZiasztok! RE: int 1Ch GetTime (mind) VÁLASZ  Feladó: (cikkei)

SZia(sztok)!

> Felado :  [Hungary]
> Irok egy kis programkat es segitseg kellene.
> Szal van egy 1ch-s interrupt, ami a timer. Amikor fut ez a dolog,
> kellene tudom a datumot (honap, nap, hetnapja), de az almos konyv
> nem jo, ha akarmikor hivok dos szolgaltatast. (Fagy is rendesen).
> azon a gepen, amin futtatni kellene a programot a CMOS maskepp van
> szervezve, es onnan sem tudom kiolvasni. Az orat megtalaltam a 4. > >
Koszi!
> (c)LACA

 Nos gondolkoztan a dolgon, szerintem erdemesebb az in8h-t hasznalni azt
18x hivja meg a gep masodpercenkent, az boven eleg lesz egy ora
megjelenitesehez...
Most itt egy kis forras, ez a kepernyo elso karakteret valtoztatja a
masodpercek fuggvenyeben, a tobbit majd Te megirod... Ne feledd BCD!!!

 .386c ;386-os Real mod
SendMail SEGMENT PUBLIC USE16
ASSUME CS:SendMail, DS:SendMail
 ORG 100H
 BEGIN

Hidi
+ - Borland C/C++ 4.5 Win alatt (mind) VÁLASZ  Feladó: (cikkei)

Udv Codertarsak!

Egy rovid kerdest engedjetek meg nekem!
Miert van az, hogy  keszitettem egy Win alatti mp3 lejatszo
kezdemenyt(menu, hang ki/be kapcs.) es az csak a fejleszto rendszer
alatt fut.
Mit kell vele csinalni? Hol probalkozzak?
A futas akkor is megtortenik, ha a fejlsztorendszer benn van
a memoriaban, de egy masik progival inditom.... WINDOWS COMM. DOSNAVI
stb. Ha nem fut a fejlesztorendszer, akkor egyik sem hajlando
elinditani!!!  Mer' van ez? WATCOM alatt a fejlsztorendszer sem
hajlando futtatni, azert tertem at Borlandra!
DLL? valamit nem linkelt bele.
Segitsetek!

koszonettel:
 Kun  Jozsef
 ------------------------------------


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