Suchergebnisse für Anfrage "nasm"
Erstellung eines einfachen Multiboot-Kernels mit grub2
Ich versuche den Anweisungen hier zu folgen, um einen einfachen Betriebssystemkernel zu erstellen:http: //mikeos.sourceforge.net/write-your-own-os.htm [http://mikeos.sourceforge.net/write-your-own-os.html] Anstatt von einer Diskette zu booten, ...
x86-Speicherzugriffssegmentierungsfehler
Ich lerne x86-Assembly aus Neugier. Ich verwende derzeit ein Linux-basiertes Betriebssystem mit dem NASM-Assembler. Es fällt mir schwer zu verstehen, warum SECTION .text global _start _start: nop mov ebx, 25 mov [0xFFF], ebx ;Exit the program ...
BIOS int 10h Druckmüll auf QEMU
Ich habe ein Problem beim Schreiben eines x86-Real-Mode-Assembly-Programms, das als Bootloader in @ ausgeführt wir QEMU. Ich versuche, Text über den BIOS-Interrupt 0x10 zu drucken. Mein Code ist: print: pusha .loop: mov AL, [SI] cmp AL, 0 je ...
Zweite Phase des Bootloaders druckt den Müll mit Int 0x10 / ah = 0x0e
Ich versuche, Assembly zu lernen und einen Bootloader zu schreiben. Der folgende Code lädt den Inhalt eines Diskettenlaufwerks in den Speicher und springt dorthin (beginnt mit dem Laden bei Adresse 0x1000). Dieser Code soll "X" auf dem ...
Lesen aus dem Speicher im 8086-Real-Modus unter Verwendung von 'ORG 0x0000'
Ich habe mit der x86-16-Assembly rumgespielt und sie mit VirtualBox ausgeführt. Wenn ich aus dem Gedächtnis lese und versuche, es als Zeichen auszudrucken, erhalte ich aus irgendeinem Grund ganz andere Ergebnisse als erwartet. Wenn ich das ...
Real mode Interrupt-Behandlungsroutine funktioniert nicht wie erwartet
Ich habe es geschafft, einen kleinen Kernel über einen Bootloader in den Speicher zu laden, der einen Weitsprung nach @ ausführ0x0090:0x0000. Der Kernel wird erfolgreich geladen, wenn ich von dort aus ein Zeichen drucke, um es zu testen, und es ...
Nahe Call / Jump-Tabellen funktionieren in einem Bootloader nicht immer
Allgemeines Problem Ich habe einen einfachen Bootloader entwickelt und bin auf ein Problem in einigen Umgebungen gestoßen, in denen Anweisungen wie diese nicht funktionieren: mov si, call_tbl ; SI=Call table pointer call [call_tbl] ; Call ...
Verknüpfung eines Assembler-Programms: Fehler "undefinierter Verweis auf` printf '"
Ich versuche das zu kompilieren x86-Assemblycode [https://github.com/xorpd/asm_prog_ex_yasm/blob/master/3_basic_yasm/4_exercises/1_read_code/0_strange_calc.asm] unter x64 Debian: BITS 32 %include 'training.s' global main extern exit ...
Kann nicht springen oder den Kernel aufrufen, der bei 0x8000 geladen ist
Ich versuche ein Betriebssystem zu entwickeln. Das Design ist folgendes: Ich habe einen Bootloader mit 0x7c00 geladen, der die zweite Stufe lädt und mit 0x7e00 dorthin springt. Die zweite Stufe befindet sich ebenfalls im Real-Modus und erledigt ...
nasm / ld "Umzug abgeschnitten, um zu passen: R_386_16"
Versammlung [BITS 16] global _start _start: mov ax, 0x07C0 mov ds, ax mov si, hw call print_string jmp $ print_string: mov ah, 0x0E .char: lodsb cmp al, 0 je .exit int 0x10 jmp .char .exit: ret times 0x100-($-$$) db 0 hw: db "Hello, World!", ...