Frage zu Assembler aufgabe ?
-
Hallo , ich bin ganz neu in Assembler und habe folgende Frage.
wir haben folgende Aufgabe in unserem Grundstudium in Informatik bekommen.
Schreiben Sie in Assembler eine Funktion
typedef struct mac_t { usigned char mac[8]; } mac_t;usigned computeMAC (mac_t *mac ,usigned char * data, usigned data_len);
die aus den übergebenen daten ein Kartenkomando zur Mac berechnung zusammenbaut , die so gewonnene Datenstruktur an die Funktion.
void handleAPDU (usigned char *rapdu, usigned char *capdu); übergibt und den ermittelten MAC nach *mac kopiert . Der rückgabewert von computeMac sei das im RAPDU enthaltene Statuswort.
so irgenwie hab ich probleme das ganze zu verstehen was macht die handleAPDU dann eigendlich hab mal so angefangen und mein code sieht so aus:
.text
.global handleAPDUhandleAPDU:
pushl %ebp
movl %esp,%ebp
movl 8(%ebp),%ebx
movl 12(%ebp)%ebx.text
.globl computeMACcomputeMAC:
pushl %ebp
movl %esp,%ebp
movl (%ebp),%eax
movl 4(%ebp),%eax #rücksprungadresse
movl 8(%ebp),%eax #mac
movl 12(%ebp),%eax #data
movl 16(%ebp),%eax #data_len
subl 16,%eax # platz reservieren
subl 16(%ebp),%eax # grösse von data_len
call handleAPDUleave
retvielleicht kann mir jemand tips geben und dqa helfen vielen dank
wolfram