Compare commits

..

2 Commits

Author SHA1 Message Date
fa1b26ef10 Use correct chs order in floppy programs 2025-09-25 11:54:12 +02:00
2120df695e polmon: bp in clobber list works not 2025-09-25 11:53:47 +02:00
3 changed files with 9 additions and 7 deletions

View File

@@ -54,12 +54,14 @@ uint8_t getc() {
void putc(uint8_t c) { void putc(uint8_t c) {
asm volatile ( asm volatile (
"push %%bp \n\t"
"movb %0, %%al \n\t" "movb %0, %%al \n\t"
"movb $0x0e, %%ah \n\t" "movb $0x0e, %%ah \n\t"
"movb $0, %%bh \n\t" "movb $0, %%bh \n\t"
"int $0x10 \n\t" "int $0x10 \n\t"
"pop %%bp \n\t"
:: "r" (c) :: "r" (c)
: "ax", "bh", "cc", "bp" : "ax", "bh", "cc"
); );
} }

View File

@@ -14,11 +14,11 @@ mov es, dx ; es = 0
mov bx, 0xf000 ; store the read sector there mov bx, 0xf000 ; store the read sector there
mov ax, 0x0201 ; read, 1 sector mov ax, 0x0201 ; read, 1 sector
; params: head, cylinder, sector, out ; params: cylinder, head, sector, out
mov si, [bp+14] mov si, [bp+14]
mov dh, [si]
mov si, [bp+12]
mov ch, [si] mov ch, [si]
mov si, [bp+12]
mov dh, [si]
mov si, [bp+10] mov si, [bp+10]
mov cl, [si] mov cl, [si]

View File

@@ -14,11 +14,11 @@ mov es, dx ; es = 0
mov bx, 0xf000 ; store the read sector there mov bx, 0xf000 ; store the read sector there
mov ax, 0x0301 ; write, 1 sector mov ax, 0x0301 ; write, 1 sector
; params: head, cylinder, sector, out ; params: cylinder, head, sector, out
mov si, [bp+14] mov si, [bp+14]
mov dh, [si]
mov si, [bp+12]
mov ch, [si] mov ch, [si]
mov si, [bp+12]
mov dh, [si]
mov si, [bp+10] mov si, [bp+10]
mov cl, [si] mov cl, [si]