This is the assembly language syntax extension.
Features
Describe specific features of your extension including screenshots of your extension in action. Image paths are relative to this README file.
For example if there is an image subfolder under your extension project workspace:
![Syntax highlighting for many different registers, and instructions (only supports x86). ]
![With built-in auto complete with not only the registers and instructions, but also it has snippets that allow you to do stuff like label that does.]
Built-in snippets
When installing the assembly language syntax extension you get auto complete with these auto complete snippets:
- The label snippet, use the 'label' auto complete and you get this:
newlabel:
; newlabel object
- The string snippet, use the 'string' auto complete and you get this:
myString: db 'This is my string!'
- The osboot snippet, use the 'osboot' auto complete (osboot gives you a completely working operating system, it only prints a message but it technically is an operating system since it boots) and you get this:
[org 0x7c00] ; Tell the assembler the BIOS loads us at memory address 0x7C00
mov ah, 0x0e ; BIOS teletype video service (print character to screen)
mov si, msg ; Move the memory address of our string into the SI register
print_loop:
lodsb ; Load the byte from [SI] into the AL register, then increment SI
cmp al, 0 ; Check if the character is the null-terminator (0)
je halt ; If it is 0, jump to the halt loop
int 0x10 ; Trigger BIOS Video Services interrupt to print the char in AL
jmp print_loop ; Repeat for the next character
halt:
cli ; Clear interrupts (disable them)
hlt ; Halt the CPU
jmp halt ; Infinite fallback loop if an interrupt wakes the CPU
msg:
db 'Hello, OS World!', 0
; --- Bootloader Padding & Signature ---
times 510 - ($-$$) db 0 ; Pad the remaining bytes up to 510 with zeros
dw 0xaa55 ; The 2-byte magic boot signature (bytes 511 and 512)