Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Solution for biosless
- bits 32
- org 0x91e4
- _start:
- mov dx, 0x3f2
- mov ax, 0x80 + 0
- out dx, ax
- mov dx, 0x3f4
- in ax, dx
- ; ISSUE READ
- ; 1)
- mov dx, 0x3f5
- mov ax, 6
- out dx, ax
- ; 2)
- mov ax, 0 ; specify head and drive
- out dx, ax
- ; 2)
- mov ax, 0 ; specify cyl
- out dx, ax
- ; 3) specify head
- mov ax, 1
- out dx, ax
- ; 4) specify sector
- mov ax, 17
- out dx, ax
- ; 5) specify sector size code
- mov ax, 3 ; this means 512
- out dx, ax
- ; 6) specify num sectors
- mov ax, 0
- out dx, ax
- ; 7) specify gap
- mov ax, 0
- out dx, ax
- ; 8) specify data len
- mov ax, 0xff
- out dx, ax
- ; READ
- xor ax, ax
- mov dx, 0x3f5
- mov ebx, 0xb8000
- print_flag:
- cmp ebx, 0xb8000 + 256
- jg endless_loop
- in ax, dx
- mov byte [ebx], al
- add ebx, 2
- jmp print_flag
- endless_loop:
- jmp endless_loop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement