Hilfe!! Assembler!

Dieses Thema im Forum "Programmieren" wurde erstellt von paranoiaddc, 31. August 2004.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. paranoiaddc

    paranoiaddc Byte

    Registriert seit:
    31. August 2004
    Beiträge:
    14
    Also hier is ein kleiner Auszug aus nem Assembler prog, des ich versuche zu schreiben. Ich hab mir auch schon andere ähnliche angeschaut, es sind natürlich kleine unterschiede aber ich wüsste ned was falsch sein soll...Der Fehler muss in diesem Teil sein!!! :aua: :aua: :aua:

    Danke für jede Antwort!

    cmp eax, 061h ; compare eax with 61h (a)
    jb capital
    cmp eax, 07Ah ; compare eax with 7Ah (z)
    ja capital
    sub eax,20h
    capital:

    Code Segment Byte Public
    Asume Ds:Code,Cs:Code
    Org 10h
    P386
    Start:


    mov ah,09
    mov dx,offset Intro
    int 21h ; Show intro msg


    mov ah,0Ah
    mov dx,offset Namesto
    int 21h ; Get name


    xor edi,edi
    mov di,offset Namesto+2
    mov ecx, 0FFFFFFFFh
    sub eax, eax
    repnz
    scasb
    not ecx
    dec ecx
    dec ecx
    xor edi,edi
    mov di,offset Namesto+3
    movsx eax, byte ptr [edi]
    cmp eax, 061h
    jb capital
    cmp eax, 07Ah
    ja capital
    sub eax,20h
    capital:
    imul ecx, eax
    shl ecx, 0Ah
    add ecx, 2F8CCh



     
  2. paranoiaddc

    paranoiaddc Byte

    Registriert seit:
    31. August 2004
    Beiträge:
    14
    :heul:

    Warum antwortet denn keiner?
     
  3. lefg

    lefg Halbes Megabyte

    Registriert seit:
    16. Dezember 2003
    Beiträge:
    640
    Wahrscheinlich, weil niemand weiss, was das soll. Was soll das Programm bewirken, was die einzelnen Zeilen.
    Die Hellseherin ist in der Klinik, die Kristallkugel streikt.

    :)
     
  4. specialist7

    specialist7 Kbyte

    Registriert seit:
    29. Juli 2002
    Beiträge:
    490
    :confused: :jump: :eek:

    welcher normale mensch programmiert denn heute noch in assembler????? oder entwickelst du gerade ein os?
     
  5. kalweit

    kalweit Hüter der Glaskugel

    Registriert seit:
    18. April 2000
    Beiträge:
    31.476
    ...zu wenige, sonst gäbe es bessere Software ;)

    Gruss, Matthias
     
  6. franzkat

    franzkat CD-R 80

    Registriert seit:
    16. Juni 2002
    Beiträge:
    9.246
    Vor allem schnellere :)
     
  7. ProXtLiner

    ProXtLiner Byte

    Registriert seit:
    20. Dezember 2003
    Beiträge:
    54
    Hi Paranoia!
    Hm... ich denke Folgendes:

    cmp eax, 061h ; compare eax with 61h (a)
    jb capital
    cmp eax, 07Ah ; compare eax with 7Ah (z)
    ja capital
    sub eax,20h
    capital:

    Was macht es genau nicht? Macht kein Sprung?
    Diese Sprünge sind jeweils abhängig von: jb von Carry-Bit(muss gesetzt werden), ja von Carry und Zero-Bit (beide müssen rückgesetzt werden). Beim cmp findet ja immer interne Subtration statt, also rechne es aus (eax (byte pointer[edi]) - 61h ) auf Papier (am besten binär) und schau was rauskommt, wenn höchste Bit 1 ist, dann wird es gesprungen, sonst nicht. Teste das auch bei ja, wenn Carry auf 0 ist, setze noch Zero-Flag auf 0, dann wird gesprungen.
    Cya

    @ specialist7: ich glaube nicht, dass man Kaffeeautomaten, Zapfseulen o.a. mit c/c++ o.a programmiert. Überleg doch mal.
     
  8. lefg

    lefg Halbes Megabyte

    Registriert seit:
    16. Dezember 2003
    Beiträge:
    640
    Ein Bekannter studiert hier an der Uni Medizienische Informatik. Im Seminar Technische Informatik mussten er einen Microcontorller zum Auslesen von Chipkarten programmieren. In Assembler.
     
  9. paranoiaddc

    paranoiaddc Byte

    Registriert seit:
    31. August 2004
    Beiträge:
    14
    @ ProXTliner...
    danke hab es ausgerechnet, hat aber nix gebracht...weiss nicht weshalb,
    dann hab ichs nochmal genau gleich gemacht und es ging plötzlich...weshalb weiß ich aller dings immer noch ned!
     
  10. pcschröder76

    pcschröder76 Megabyte

    Registriert seit:
    16. Oktober 2003
    Beiträge:
    1.026
    Das ist Programmieren... :)
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen