The next site, "Writing Boot Sector Code, " is an example code that prints "A" on the screen when the system boots. From what I read, you don't need to use INT opcode to get the BIOS to do certain things? How does the code below, from the site referenced above, work without interrupts? What part of the code actually tells the machine to print “A” on the screen?
Code in question:
.code16
.section .text
.globl _start
_start:
mov $0xb800, %ax
mov %ax, %ds
movb $'A', 0
movb $0x1e, 1
idle:
jmp idle
ANNEX TO THE ORIGINAL QUESTION
If I use the following code, is the BIOS call written to the text buffer for me? Buffer starting at 0xb800?
.code16
.section .text
.globl _start
_start:
movb $0x0e, %ah
movb $0x00, %bh
movb $0x07, %bl
mov $'A', %al
int $0x10
_hang:
jmp _hang
.end
source
share