tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
1012
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Skini Skini ist offline Mitglied Gold
    Registriert seit
    Jun 2008
    Beiträge
    173
    Hi,
    ich bin totaler Assembler-, brauche aber ein Kleines Programm um
    !MB von Floppy oder Festplatte in den RAM zu kopieren.
    Die Daten sollen nach 0x100000 Kopiert werden, um dort ausgeführt zu werden.
    Mein Größtes problem liegt bei CHS umrechnung. Ich Nutze bisjetzt den Bios interrupt 13h. Mein bisheriger Code:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    resetd;
    mov ax, 0
    mov dl, 0
    int 13h
    jc resetd
     
    copyd:
    mov es, 1000h
    mov bx, 0
     
    mov ah, 2
    mov al, 800h
    mov cl, 2
    mov ch, 0
    mov dh, 0
    mov dl, 0
    int 13h
    jc copyd

    Hier Gibt es eine Erläuterung zudem Interrupt, von intersse sind ja nur die funkrionen 0 und 2.
    Vielen Danke Im Vorraus,
    Skini
     
    Neulich im IRC:
    <a> Da scheine ich selbst in Assembler besser zu runden als du in C. ;-)
    <b> for(rounded_data_size = data_size; rounded_data_size & 3; rounded_data_size++);
    <a> b löst das also brav iterativ, nur daß man dann Fortran nimmt, muß er noch lernen.
    <b> fortran(rounded_data_size = data_size; rounded_data_size & 3; rounded_data_size++);

    Ich bin eine Fee:
    Wenn ich die Hex-werte der Buchstaben meines Namens addiere, bin ich 1FE.

  2. #2
    Avatar von exitboy
    exitboy exitboy ist offline Mitglied Brokat
    Registriert seit
    Sep 2004
    Ort
    irgendwo in Deutschland
    Beiträge
    443
    wenn Du das nicht unbedingt jetzt die naechsten Tage brauchst kann ich mich auch dem Thema mal annehmen. Haenge aber noch bis kommende Woche in anderen Projekten.
     
    --- EOF ---?

  3. #3
    Skini Skini ist offline Mitglied Gold
    Registriert seit
    Jun 2008
    Beiträge
    173
    Hi,
    wär wirklich nett. Kmmende Woche ist noch lange Ok :P
    Bevor ich es vergesse, dass sollte 1MB nicht !MB heißen(also 1048576 Byte, nicht 1000000!)
    Fals es irgendwie von relevanz ist: Wenn ich ein FS verwende, dan wäre das FAT12 für das floppy bzw. FAT32 für die Platte.
    Das File würde dann auf jeden im Stammverzeichniss liegen.
    Greetz Skini.
    Geändert von Skini (07.12.08 um 20:24 Uhr)
     
    Neulich im IRC:
    <a> Da scheine ich selbst in Assembler besser zu runden als du in C. ;-)
    <b> for(rounded_data_size = data_size; rounded_data_size & 3; rounded_data_size++);
    <a> b löst das also brav iterativ, nur daß man dann Fortran nimmt, muß er noch lernen.
    <b> fortran(rounded_data_size = data_size; rounded_data_size & 3; rounded_data_size++);

    Ich bin eine Fee:
    Wenn ich die Hex-werte der Buchstaben meines Namens addiere, bin ich 1FE.

  4. #4
    TheAlchimist TheAlchimist ist offline Mitglied
    Registriert seit
    Jun 2006
    Ort
    Blomberg
    Beiträge
    13
    Wenns noch von Interesse ist, bitte kurz melden, ich hab hier noch die Assembler-Sourcen von einem sebstgebastelten Bootsektor, der eine Datei von einer FAT12-formatierten Diskette einliest.

    MfG TheAlchimist
     

Ähnliche Themen

  1. Vom Flash ins RAM kopieren ->Assembler
    Von hoizfuchs im Forum Sonstige Sprachen
    Antworten: 0
    Letzter Beitrag: 22.09.10, 13:48
  2. Festplatte kopieren
    Von Mako im Forum Linux & Unix
    Antworten: 8
    Letzter Beitrag: 22.11.07, 10:01
  3. file auf festplatte kopieren
    Von philphil im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 1
    Letzter Beitrag: 29.04.05, 15:11
  4. Antworten: 5
    Letzter Beitrag: 31.08.04, 07:19
  5. Knoppix: Kopieren von Festplatte zu Festplatte
    Von Useeu im Forum Linux & Unix
    Antworten: 11
    Letzter Beitrag: 15.08.04, 10:51