Tag: att
AT&T-Syntax ist eine assembly-syntax in UNIX-Umgebungen, der stammt von AT&T Bell Labs. Es stammt aus der MIPS-assembly-syntax.
1
Antworten
Möchte ich kopieren Sie den Wert an eine bestimmte Adresse im Speicher zu einem register, mit AT&T-Stil-Montage. Ich weiß, das sollte nicht zu schwierig sein, und ich denke, im Intel-Stil, es ist etwas wie: mov rdi, [0xdeadbeef]
1
Antworten
Schrieb ich dieses einfache kernel-Modul: #include <linux/module.h> //for printk() int init( void ) { printk( "n Kello, everybody! nn" ); return 0; } void exit( void ) { printk( "n Goodbye now... nn" ); } MODULE_LICENSE("GPL"); module_init(init);
1
Antworten
Bitte geben Sie mir ein sehr einfaches Beispiel von erstellen einer Funktion und Aufruf in x86 Assembler (AT&T-syntax). Actaully, ich bin versucht, zu erstellen eine Funktion, die berechnet factorial einer Zahl. Dies ist, was ich getan habe
3
Antworten
Habe ich genug gegoogelt, konnte aber nicht herausfinden, was die Halterung () bedeutet. Außerdem sehe ich einige syntax als movl 8(%ebp), %eax Könnte jemand einige empfehlen mir ein paar gute Referenz? Ich habe nicht in der Lage
2
Antworten
Habe ich einige gnu-assembler-code für die x86_64-Architektur von einem tool generiert und es gibt diese Anleitung: movq %rsp, %rbp leaq str(%rip), %rdi callq puts movl $0, %eax Kann ich nicht finden eigentlichen Dokumentation auf der "callq" -
5
Antworten
Ich versuche zu verstehen, wie der Assembler arbeitet für ein Mikro-computer-Architektur ist Klasse, und ich immer wieder vor unterschiedliche Syntax in Beispielen: sub $48, %esp mov %eax, 32(%esp) Was diese codes bedeuten? Was ist der 32 Operanden
5
Antworten
Gibt es eine Möglichkeit, die ich einbetten kann ein URL-link, d.h. <a href='www.google.com'>google</a> in eine SMS-Nachricht senden durch [myphonenumber]@txt.att.net ? Meine E-mail-Konfiguration ist auf "text/html", aber der link zeigt sich als un-anklickbar im Klartext in den SMS...
2
Antworten
movl %ebx, %esi movl $.LC1, %edi movl $0, %eax call printf Verwende ich die folgenden asm-code zu drucken, was ist in EBX registrieren. Wenn ich movl $1,%eax int 0x80 und die echo $? bekomme ich die korrekte
1
Antworten
Kapitel 3 Computer-Systeme, A Programmer ' s Perspective (2. Auflage) erwähnt, dass cltq entspricht movslq %eax, %rax. Warum haben Sie das erstellen einer neuen Anweisung ( cltq ), anstatt einfach movslq %eax,%rax? Ist das nicht redundant? Zuerst
2
Antworten
Derzeit arbeite ich an einem Auftrag im AT&T Montage-und nun muss ich anfügen, zwei Streicher: message: .asciz "String 1" before: .asciz "String 2" Ich habe wirklich keine Ahnung, wie dies zu tun, oder wie, um zu beginnen.
3
Antworten
Habe ich genug gegoogelt, konnte aber nicht herausfinden, was die Halterung () bedeutet. Außerdem sehe ich einige syntax als movl 8(%ebp), %eax Könnte jemand einige empfehlen mir ein paar gute Referenz? Ich habe nicht in der Lage
2
Antworten
Ich möchte Nur sicherstellen, lese ich das richtig: movl 12(%ebp), %edx leal (%edx, %edx, 4), %eax Lese ich die erste Zeile als: edx = [epb + 12], und die zweite Zeile wie: eax = edx + edx*4
3
Antworten
Sind wir mit gdb-debugger zu Lesen Montage-Funktionen. In der Montage, haben wir die folgenden Hinweise: mov 0xc(%rsp),%eax jmpq *0x402390(,%rax,8) At memory location *0x402390 haben wir den Wert 0x8e. Im register rax, wir haben den zweiten integer-Eingabe für
2
Antworten
Las ich einige code und war sich nicht sicher, was diese Zeile macht: movq (%rsp), %rsp InformationsquelleAutor der Frage jamesatha | 2010-10-04
6
Antworten
EDIT: ich habe herausgefunden, das problem, denke ich. ADB fand heraus, ich war nicht auf dem neuesten updates (at&t veröffentlicht eine stagefright Aktualisierungs-und ich wusste nicht,) also ADB ließ mich nicht Debuggen. Alles ist jetzt gut. Ich
2
Antworten
Was genau die Anweisung movzbl 0x01(%eax,%ecx),%eax ? InformationsquelleAutor der Frage | 2012-02-16
4
Antworten
0x0000000000400553 <main+59>: mov -0x4(%rbp),%eax 0x0000000000400556 <main+62>: cltq 0x0000000000400558 <main+64>: shl $0x3,%rax 0x000000000040055c <main+68>: mov %rax,%rdx In der Tat mein Programm ist so einfach wie : 5 int main(int argc, char *argv) { 6 int i = 0;