second stage boot loader now loads the main program
[bootcensus] / src / boot / boot.s
index f17766b..50817a3 100644 (file)
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
        .code16
-       .section .boot,"a"
+       .section .boot,"ax"
 
        .set stack_top, 0x7be0
        .set read_retries, 0x7be8
@@ -65,15 +65,16 @@ boot:
        call read_sectors
        jmp boot2_addr
 
-       .set ARG_NSECT, 6
-       .set ARG_SIDX, 4
-
 loading_msg: .asciz "\nLoad "
 driveno_msg: .asciz "Drv:"
 
+       .global sect_per_track
 sect_per_track: .short 18
+       .global num_cylinders
 num_cylinders: .short 80
+       .global num_heads
 num_heads: .short 2
+       .global heads_mask
 heads_mask: .byte 1
 
 get_drive_chs:
@@ -118,6 +119,10 @@ ok:        xor %eax, %eax
        call print_num
        ret
 
+
+       .set ARG_NSECT, 6
+       .set ARG_SIDX, 4
+
 # read_sectors(first, num)
 read_sectors:
        push %bp