CoderZ.cc

Zurück   CoderZ.cc > Programmierung > Assembler


 
Themen-Optionen Ansicht
21.05.2013, 15:20   #1
peppy (Offline)
Coderz Mitglied
 
Registriert seit: 13.06.2024
Beiträge: 22
Thanks: 20
Thanked 1 Time in 1 Post
Standard C Function in Assembler

Moin,

habe in Assembler (MIPS32 in Mars) ein kleines Programm zum berechnen des ggT geschrieben.
#Berechnung  ggT.
    ori $4,$0,30
    ori $5,$0,25
    add $2,$0,$5
    beq $4,$0,end
restart:
    beq $5,$0,step9
    slt $10,$5,$4
    beq $10,$0,else
    sub $4,$4,$5
    j restart
else:
    sub $5,$5,$4
    j restart
step9:    
    add $2,$4,$0
end:
Würde gerne wissen wie ich es auch mit C Funktionen verfeinern könnte.
Oder wäre das im Vergleich zu meiner Source schwachsinn...?

Bräuchte auch mal bitte einen Tipp zur Umsetzung dieser Aufgabe.

void strtolower(char *str)
Die Routine soll in einem C-String an der Adresse
str alle Großbuchstaben in Klein-
buchstaben verwandeln.

Ich habe keine Ahung wie ich dies mit Assembler ausführen soll....
Auch nach ewig langem hin und her probieren kam nichts brauchbares raus..

gruß
  Mit Zitat antworten
21.05.2013, 16:14   #2
easysurfer (Offline)
Third Level User
 
 
Registriert seit: 31.10.2024
Beiträge: 430
Thanks: 69
Thanked 245 Times in 133 Posts
Standard

Zu Deinem ASM-Source kann ich nix sagen, zu Deiner zweiten Frage hab ich allerdings einen Tipp für Dich:
Dies ist eine ASCII-Tabelle. Chars wegen so repräsentiert.
Wenn Du nun siehst, das der Char im Bereich 0x61 - 0x7A (Kleinbuchstaben) ist, so bringst Du den Char durch eine Subtraktion zu einem Großbuchstaben. Wieviel Du abziehn musst, darfst Du selbst ausrechenn
__________________
Gamehacking, Reversing and Security
  Mit Zitat antworten
The Following User Says Thank You to easysurfer For This Useful Post:
peppy (28.05.2024)
21.05.2013, 16:39   #3
nSinus-R (Offline)
Coderz Mitglied
 
Registriert seit: 20.07.2024
Beiträge: 3
Thanks: 1
Thanked 4 Times in 1 Post
Standard

Und, falls dir "einfach nur" Substraktion zu langweilig ist: Einfach das 3.te Bit vom oberen Halfbyte kippen und du hast es. (Letztlich ist es jedoch genau dasselbe wie die substraktion, falls du aufgepasst hast, musst du dir nun nichtmal mehr den Wert berechnen. )
Allerdings sei dazu angemerkt, dass du durch das kippen sowohl "charToLower" als auch "charToUpper" in einer Funktion hast.
  Mit Zitat antworten
The Following 4 Users Say Thank You to nSinus-R For This Useful Post:
b1te (21.05.2024), Dr.ChAoS (21.05.2024), inherited (21.05.2024), peppy (28.05.2024)
28.05.2013, 12:14   #4
peppy (Offline)
Coderz Mitglied
 
Registriert seit: 13.06.2024
Beiträge: 22
Thanks: 20
Thanked 1 Time in 1 Post
Standard

ok cool vielen dank das werd ich mal mal austesten
  Mit Zitat antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:15 Uhr.

Powered by vBulletin®
Copyright ©2008 - 2017
Template-Modifikationen durch TMS