Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: Another Stupid Coder am 14. April 2004, 20:55

Titel: Sorry ich finds nimmer...
Beitrag von: Another Stupid Coder am 14. April 2004, 20:55
Tut mir echt leid ich weis das ich schon mal gefragt habe aber ich finde den Thread einfach nimmer. Wo finde ich memset und memcpy?
Titel: Sorry ich finds nimmer...
Beitrag von: chr15 am 14. April 2004, 21:09
Guck mal unter
Resource Center -> Assemblerfunktionen  
Dann bisschen runterscollen.

Ein Tip: Es gibt in diesem Forum eine Suchfunktion!
Titel: Sorry ich finds nimmer...
Beitrag von: TeeJay am 14. April 2004, 22:05
www.jay-code.de
Da unter Code - > ASM
Titel: Sorry ich finds nimmer...
Beitrag von: Another Stupid Coder am 15. April 2004, 14:44
Ein Tip: Es gibt in diesem Forum eine Suchfunktion! <--Die sucht aber nur nach Überschriften und Nicknames ...
Titel: Sorry ich finds nimmer...
Beitrag von: caga am 15. April 2004, 14:48
voll nicht war!!!
ich hab grade nach "linux kernel" gesucht und auch den entsprechenden threat gefunden!
Titel: Sorry ich finds nimmer...
Beitrag von: chr15 am 15. April 2004, 17:43
Man muss sich auch mal die Optionen angucken ;)
(Wir haben hier ein umfangreiches Forum)
Titel: Sorry ich finds nimmer...
Beitrag von: Another Stupid Coder am 16. April 2004, 21:41
Jaja...verbündet euch nur gegen mich ;)
Naja, nächstes mal weis ich's danke!
Titel: Sorry ich finds nimmer...
Beitrag von: Another Stupid Coder am 18. April 2004, 11:23
So, ich hätte noch eine Frage. Wie lautet die Syntax mit der ich setmem (oder memcpy? bin mir gerade nicht sicher) in C aufrufen muss. auf der Website von Teejay steht da nur die GetMemSize Syntax. (schreibfehler?)

void long GetMemSize(void *Dest, unsigned char cValue, unsigned int iByteCount);
Titel: Sorry ich finds nimmer...
Beitrag von: TeeJay am 18. April 2004, 13:02
hehe ja das ist falsch. Ich war so faul und hab das einfach kopiert und vergessen es zu ändern :P

die korrekten Prototypen für C lauten:

void setmem(void *pDest, char cValue, unsigned int iByteCount);
void memcpy(void *pSrc, void *pDest, unsigned int iByteCount);
Titel: Sorry ich finds nimmer...
Beitrag von: Another Stupid Coder am 18. April 2004, 16:12
Danke schön! Und schon habe ich meine nächste Anfänger Frage: Wie macht man unter Linux .img Dateien (die dann zum Beispiel von Bochs benutzt werden können?) Diese Frage ist sehr wichtig da mein Floppy nimmer so richtig funzt.
Titel: Sorry ich finds nimmer...
Beitrag von: chr15 am 18. April 2004, 17:37
Von einer Diskette?
dd if=/dev/fd0 of=image.img
Titel: Sorry ich finds nimmer...
Beitrag von: Another Stupid Coder am 18. April 2004, 20:33
Nein! das ist ja das Problem. sondern aus einfachen Dateien. Gibt's da eine Möglichkeit?
Titel: Sorry ich finds nimmer...
Beitrag von: kleiner am 18. April 2004, 22:48
Also bei flat-binary sollte es reichen, wenn Du den Bootloader, den Kernel und alle anderen Teile einfach per cat Datei1 Datei2 Datei3 > image.img.
Dann ist aber die Diskette nicht formatiert. Ansonsten sollte ein Loopback-Device auf der Datei image.img helfen, dass Du entsprechend formatierst und dann mountest.
Als erste muss der Kernel Loop-Devices unterstützen.
Dann musst Du die image.img-Datei erstellen:
dd if=/dev/zero of=/home/user/image.img bs=512k count=2
(müsste ne 1024Byte Datei anlegen)
dann
losetup /dev/loop0 /home/user/image.img
und dann /dev/loop0 formatieren und mounten.
Jetzt Dateien einspielen und dann wieder unmounten.
Und jetzt solltest Du eine Image.img-Datei haben, die einer Diskette entspricht. Glaub ich jedenfalls.
(Hab es nicht ausprobiert!)