проблема с int 13h. Хочу прочитать с флопа 2-й сектор и загрузить всё в 0000h:09000h, а потом прыгнуть туда.
Вот bootsect.asm:
org 07C00h
main:
cli
mov ax,cs
mov ds,ax
mov ss,ax
mov sp,main
sti
mov si,msg
L:
lodsb
test al,al
jz exit
mov ah,0Eh
int 10h
jmp L
mov ax,00h
mov es,ax
mov ch,00h
mov ah,02h
mov bx,09000h
mov al,01h
mov cl,02h
mov dl,00h
mov dh,00h
int 13h
mov si,msg_sl
L1:
lodsb
test al,al
jz exit
mov ah,0Eh
int 10h
jmp L1
jmp 09000h
exit:
ret
msg: db "Starting bootsect",0Dh,0Ah,0Dh,00h
msg_sl: db "Jumping",0Dh,0Ah,0Dh,00h
times 510-($-$$) db 0
db 055h, 0AAh
А вот code.asm:
code:
mov sp,code
mov si,msg_c
S:
lodsb
test al,al
jz halt
mov ah,0Eh
int 10h
jmp S
halt:
cli
hlt
msg_c: db "code loaded", 0Dh, 00h
По тому же принципу хочу из code загрузить чистый бинарник после code. Но проблема в том, что загружается bootsect, а jumping уже не пишется.
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от UUUU
Ответ на:
комментарий
от drish
Ответ на:
комментарий
от drish
Ответ на:
комментарий
от UUUU
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум разница между as86 и nasm (2005)
- Форум Проблема с выбором пунктов меню (2018)
- Форум разработка загрузчика (2008)
- Форум asm 16bit + dos + es:ds (2008)
- Форум работа с дисками только через int 13h (2005)
- Форум nasm macro (2015)
- Форум nasm+макросы (2008)
- Форум gas && nasm (2009)
- Форум is_assignable<int, int> == false (2019)
- Форум [C++] int *i и int* i; int &i и int& i (2011)