Ausgabe von Hexzahlen



  • @schnelldurchreisender: Ich sehe es positiv, bin aber natürlich kein Pädagoge. Die Grundlagenkenntnisse kommen ja nicht von alleine und müssen irgendwie erarbeitet werden. Man stellt sich eine Aufgabe und versucht, die Aufgabe zu lösen. Das hat nichts mit "nach aufmerksamkeit heischen" zu tun.



  • Mh, naja. Ich wuerde dir normalerweise zustimmen, learning by doing ist eine feine Sache und ein Hobby-OS sicher ein gutes Studienprojekt. Fuer sowas legt man dann aber normalerweise nicht online ein Projekt an und wirbt dafuer in Foren Entwickler, vor allem offenbar ohne selbst ueber nennenswertes Grundlagenwissen und damit die Moeglichkeit zu verfuegen, selbst wirklich etwas erarbeiten zu koennen. 🙄



  • kommt ihr nicht irgendwie auf den Gedanken, dass man nicht alles perfekt kann?
    und ihr müsst ja nicht mitmachen, wenn ihr nicht wollt

    und hier MEIN SELBER erarbeiteter Code

    48 ;print_hex
    
      49 ;ebp=the hexnumber of edx is printed on the screen
    
      50 global print_hex
    
      51 print_hex:
    
      52     mov dh,8;times of the repitition of the loop
    
      53     mov bh,0x10;16 is the base of hexadecimal system
    
      54     rol ebp,4
    
      55     print_hex.loop:
    
      56     mov eax,ebp
    
      57         xor ah,ah;if ah is not zero ax is to big
    
      58     div bh
    
      59         mov bl,ah
    
      60         call get_hex
    
      61             mov ax,0x0100;the printchar function of the darkblackAPI
    
      62         int 0x31
    
      63     rol ebp,4
    
      64     dec dh
    
      65     test dh,dh
    
      66     jnz print_hex.loop
    
      67 ret
    
      68 print_hex.function:
    
      69     get_hex:
    
      70             cmp bl,0x0A
    
      71         jae get_hex.ifABCDEF
    
      72         ;if bl is a number not a char
    
      73         add bl,0x30
    
      74         jmp get_hex.end
    
      75         
    
      76         get_hex.ifABCDEF:
    
      77             add bl,0x37
    
      78 
    
      79         get_hex.end:
    
      80     ret
    


  • Damit der Quellcode perfekt wird, musst Du noch die unnötig leeren Zeilen löschen und nach dem Komma gehört ein Leerzeichen hin 🙂

    Zum Beispiel, nicht

    mov dh,8
    

    sondern

    mov dh, 8
    

    👍



  • tev schrieb:

    kommt ihr nicht irgendwie auf den Gedanken, dass man nicht alles perfekt kann?
    und ihr müsst ja nicht mitmachen, wenn ihr nicht wollt

    Niemand ist Perfekt, also keine Schande. Und keine Sorge, ich habe noch nicht einmal Zeit an Erhards OS-Projekt mitzuarbeiten, und der hat hier sogar sein eigenes Unterforum. 😃

    Allerdings, falls du es noch nicht bemerkt hast, sry dir das so deutlich sagen zu muessen: Du erweckst hier gerade etwas den Eindruck, in Sachen OS-Entwicklung deutlich naeher an gar nicht als an perfekt koennen zu sein. Bei dir mangelt es scheinbar noch selbst an grundlegendsten mathematischen und logischen Kniffen.
    Es ist eine gute Idee, sich mit Anderen zum Lernen in einem Projekt zusammen zu tun. Dabei aber mit deinen Faehigkeiten so zu tun, als waerst du ein Foll-Provieh, ist etwas unfair...

    tev schrieb:

    und hier MEIN SELBER erarbeiteter Code

    ... Naja, wie gesagt ...
    Du solltest dich schon entscheiden: Willst du nun Bitoperationen oder die Divisionsoperation benutzen. Beides gleichzeitig ist hier nun wirklich unsinnig.
    Tipp: x modulo 16 == x & 15



  • tev schrieb:

    kommt ihr nicht irgendwie auf den Gedanken, dass man nicht alles perfekt kann?
    und ihr müsst ja nicht mitmachen, wenn ihr nicht wollt

    und hier MEIN SELBER erarbeiteter Code

    [asm ...

    naja, es ist auch manchmal schwierig, wie man antwortet, die meisten hier kennen den spaß am selber ausknobeln, und den lerneffekt, also wo die grenze ziehen?

    und hier eine alternative:

    mov cl,8
    
    wiederholungstäter:
    rol ebp,4
    mov ebx,ebp
    and ebx,0000000f
    call ausgabe
    loop wiederholungstäter
    

    du solltest aber unbedingt noch verstehen, warum deine voherige ausarbeitung, die so schlecht nicht war, den genannten ausgabefehler produzierte.
    eine möglichkeit, verständnis zu gewinnen wäre, den wert 7fffffff nach eax und den wert 1 nach ebx zu laden und add eax,ebx zu machen und dabei zu schauen, was die flags anzeigen. und natürlich, was die beiden befehle shr und sar unterscheidet.

    Nobuo T schrieb:

    ... Naja, wie gesagt ...
    Du solltest dich schon entscheiden: Willst du nun Bitoperationen oder die Divisionsoperation benutzen. Beides gleichzeitig ist hier nun wirklich unsinnig.
    Tipp: x modulo 16 == x & 15

    ...rein lerntechnisch vielleicht gar kein nachteil, man lernt ja beides - aber der begriff "Foll-Provieh" ist echt klasse *rotfl* 😃
    wir könnten durchaus etwas zur humorecke beitragen, in dem wir eine top-ten der abstrusesten behauptungen aufstellen.
    Der vorgängerthread
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-274303-and-sid-is-78bcea662dbc6b77effc87cf427907a7.html
    ist auch so ein kandidat...😮



  • Heh, welche abstrusen Behauptungen meinst du jetzt konkret?
    Nichts gegen ein wenig Humor auf Kosten einiger Beteiligter, aber bei mir fuehrt sowas hier schon bald zu Fremdschaemen... und bei solcher Comedy gehe ich immer an die Decke, und zwar nicht vor Vergnuegen. 🤡



  • OK, dann tut es mir leid, dass es rüberkam, dass ich mich als Vollprofi sehe, was aber eigentlich nicht so ist 😕

    Ich hatte eigentlich nur nach ein paar Mitstreitern für mein OS gesucht 😞

    Dann sage ich es noch einmal, ich bin kein Vollprofi, aber ich schreibe trotzdem an meinem eigenen OS, auch wenn ich vielleicht öfters hängen bleibe als andere, weil ich eben kein Profi bin. Aber was nicht ist, kann ja noch werden :p



  • Nobuo T schrieb:

    Heh, welche abstrusen Behauptungen meinst du jetzt konkret?
    Nichts gegen ein wenig Humor auf Kosten einiger Beteiligter, aber bei mir fuehrt sowas hier schon bald zu Fremdschaemen... und bei solcher Comedy gehe ich immer an die Decke, und zwar nicht vor Vergnuegen. 🤡

    Na, ich bin auch nicht so der Freund von Beleidigungsrethorik oder Supertalentruntermache(im TV) o.ä. (Aber was ist Fremdschämen?)

    Fassen wir uns also lieber erstmal an die eigene Nase, dieser Thread fängt schon spannend an:

    Nobuo T schrieb:

    Ich sehe da jetzt keinen gravierenden Fehler, der irgendein abweichendes Verhalten bei Ziffern > 7 ausloesen koennte (was genau passiert ueberhaupt?), aber: WTF?

    oder

    nachtfeuer schrieb:

    sal edx,cl             ;arithmeitscher Linksshift - aber in cl steht 0,
                           ;also wozu?
    sar 28                 ;vorher edx=F000 0000, nacher edx=0000 000F, bzw.1000000F
    
    mov bl,dl              ;bl = 0F
    

    wieder mal so halbschlafantworten...🙄

    abc.w schreibt gar nicht viel, rückt nicht mal ein paar unix-kennerschaftdebugginginsiderhints heraus, kann ich mir nur damit erklären, dass abc.w sich das monatskontingent für brauchbare antworten beim RC4 verschlüsselungsthread völlig aufgebraucht hat...:D



  • nachtfeuer schrieb:

    abc.w schreibt gar nicht viel, rückt nicht mal ein paar unix-kennerschaftdebugginginsiderhints heraus, kann ich mir nur damit erklären, dass abc.w sich das monatskontingent für brauchbare antworten beim RC4 verschlüsselungsthread völlig aufgebraucht hat...:D

    Nein, ich sehe halt keine "Herausforderung", ist zu "easy" 😉


Anmelden zum Antworten