![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Du hast im obigen Post zweimal den dritten Schritt O.o(Bzw. auf den 3. folgt der 3.)
Stimmt, da hab ich wohl tatsächlich zweimal "Schritt 3" als Überschrift, aber der Inhalt geht schon chronologisch korrekt weiter. Leider hab ich keine Editierfunktion gefunden zum das verbessern.darksider3 hat geschrieben:Sehr interessant, ich wollte mir das eh mal ein bisschen zu gemüte führen, da kommst Du mir gerade recht
Du hast im obigen Post zweimal den dritten Schritt O.o(Bzw. auf den 3. folgt der 3.)
Man kann hier die Postings nur eine Stunde lang überarbeiten, danach verschwindet der Editierbutton. Der Grund liegt darin, damit man eine Aussage, auf die reagiert wurde, nicht einfach entfernen kann - ansonsten wird der Thread ja unlogisch.osculumobscenum hat geschrieben:Stimmt, da hab ich wohl tatsächlich zweimal "Schritt 3" als Überschrift, aber der Inhalt geht schon chronologisch korrekt weiter. Leider hab ich keine Editierfunktion gefunden zum das verbessern.darksider3 hat geschrieben:Sehr interessant, ich wollte mir das eh mal ein bisschen zu gemüte führen, da kommst Du mir gerade recht
Du hast im obigen Post zweimal den dritten Schritt O.o(Bzw. auf den 3. folgt der 3.)
Klar. Der Chef-Admin guckt sich den Thread auch an und überlegt sich, wie er ihn am Laufen halten kann, bzw. ob und wann er Zeit hat, diesen Thread ins Wiki zu kopieren.osculumobscenum hat geschrieben:Wiki-Einträge oder gar Tutorials zu schreiben scheint mir bedeutend mehr Aufwand zu sein, und den zeitlichen Rahmen zu sprengen, den ich investieren kann. (Leider.)
Können die Posts ggf. auch ohne offizielle Editierfunktion von den Admins korrigiert werden?
Code: Alles auswählen
; zum testen von Sprüngen direkt in Opcodes
; nasm -f elf64 [dateiname.asm]
; ld -s -o [dateiname] [dateiname.o]
[bits 64]
global _start ; Programmstart
section .text
_start:
nop
nop
mov rax, 4 ; schreiben
mov rbx, 1 ; an die Konsole /stdout
mov rcx, message
mov rdx, length
int 80h ; Ausführung
nop
nop
jmp ex2+1 ; Sprung
nop
nop
ex2:
mov rax, 000005ebh
jmp ex2
nop
nop
ex:
mov rax,1 ; Programmende
int 80h
section .data
message: db 'Hello, world!',0x0A ; message and newline
length: equ $-message
Code: Alles auswählen
jmp ex2+1
Code: Alles auswählen
mov rax, 000005ebh
Code: Alles auswählen
; 64-bit ...demonstriert Umgang mit Dateien
; Netzfund, modified by myself
; nasm -f elf64 file.asm
; ld -s -o file file.o
[bits 64]
global _start ; global entry point export for ld
section .data
_start:
;create the file
mov eax, 8
mov ebx, file_name
mov ecx, 0777 ; read, write and execute by all
int 0x80 ; call kernel
mov [fd_out], eax ; store file-handle
; write into the file
mov edx,len ; number of bytes
mov ecx, msg ; message to write
mov ebx, [fd_out] ; file descriptor
mov eax,4 ; system call number (sys_write)
int 0x80 ; call kernel
; close the file
mov eax, 6 ; close ...
mov ebx, [fd_out] ; ... via handle
int 0x80
; write the message indicating end of file write
mov eax, 4 ; write...
mov ebx, 1 ; ...to console / stdout
mov ecx, msg_done ; text
mov edx, len_done ; textlength
int 0x80
;open the file for reading
mov eax, 5
mov ebx, file_name ; which file
mov ecx, 0 ; for read only access
mov edx, 0777 ; read, write and execute by all
int 0x80
mov [fd_in], eax ; store handle
;read from file
mov eax, 3 ; read from file
mov ebx, [fd_in] ; via handle
mov ecx, info ; where to store the read text
mov edx, 27 ; bufferlength
int 0x80
; close the file
mov eax, 6 ; close ...
mov ebx, [fd_in] ; ... via handle
int 0x80
; print the info
mov eax, 4 ; write ...
mov ebx, 1 ; to console / stdout
mov ecx, info ; text
mov edx, 27 ; textlength
int 0x80
mov eax,1 ;system call number (sys_exit)
int 0x80 ;call kernel
section .data
file_name db 'myfile.txt',0
msg db 'Testtext to write.........',0xa
len equ $-msg
msg_done db 'Written to file', 0xa
len_done equ $-msg_done
section .bss
fd_out resb 1
fd_in resb 1
info resb 27