sveni
15-01-2007, 12:57
hi zusammen,
ich befasse mich gerade ein bissle mit der assembler programmierung. Ich benutzer dafür nasm & ld unter linux. Hab da ein paar alte bücher und ein paar tutorials aus dem netz.
Das ausgeben von texten ist auch kein problem, z.B. einen string in der variable msg mit der länge len:
mov edx,len ; length of string to print
mov ecx,msg ; pointer to string
mov ebx,1 ; STDOUT
mov eax,4 ; write
int 0x80 ; call kernel
Jetzt möchte ich aber eine einfache zahl ausgaben, welche ich in binär
schreibweise angebe, z.B. 63 = 00111111b mit 8 Bits (1 Byte) dargestellt.
Aber wenn ich nun den vorherigen Code abänder :
mov edx,1 ; length: 1 byte
mov ecx,00111111b ; number
mov ebx,1 ; STDOUT
mov eax,4 ; write
int 0x80 ; call kernel
dann sagt mir nasm, dass ich die zuweisung der binär zahl so nicht vornehmen kann. Kann ich eine binärzahl nicht direkt ausgeben? Muss dass erst mit hilfe der ascii-tabelle umgerechnet werden?
Vermutlich eine einfache frage, aber ich konnte kein beispiel finden in dem eine einfache zahl ausgeben wird.
danke und grüssle
sveni
PS: Warum gebe ich die zahl überhaupt in binär an? Weil ich ein bissle mit dem bit-shiften
experimentieren möchte und mich natürlich interessiert, was sich dabei verändern, z.B. negieren einer zahl ....
ich befasse mich gerade ein bissle mit der assembler programmierung. Ich benutzer dafür nasm & ld unter linux. Hab da ein paar alte bücher und ein paar tutorials aus dem netz.
Das ausgeben von texten ist auch kein problem, z.B. einen string in der variable msg mit der länge len:
mov edx,len ; length of string to print
mov ecx,msg ; pointer to string
mov ebx,1 ; STDOUT
mov eax,4 ; write
int 0x80 ; call kernel
Jetzt möchte ich aber eine einfache zahl ausgaben, welche ich in binär
schreibweise angebe, z.B. 63 = 00111111b mit 8 Bits (1 Byte) dargestellt.
Aber wenn ich nun den vorherigen Code abänder :
mov edx,1 ; length: 1 byte
mov ecx,00111111b ; number
mov ebx,1 ; STDOUT
mov eax,4 ; write
int 0x80 ; call kernel
dann sagt mir nasm, dass ich die zuweisung der binär zahl so nicht vornehmen kann. Kann ich eine binärzahl nicht direkt ausgeben? Muss dass erst mit hilfe der ascii-tabelle umgerechnet werden?
Vermutlich eine einfache frage, aber ich konnte kein beispiel finden in dem eine einfache zahl ausgeben wird.
danke und grüssle
sveni
PS: Warum gebe ich die zahl überhaupt in binär an? Weil ich ein bissle mit dem bit-shiften
experimentieren möchte und mich natürlich interessiert, was sich dabei verändern, z.B. negieren einer zahl ....