Lines Matching +full:0 +full:x7c00
42 .set MEM_PAGE_SIZE,0x1000 # memory page size, 4k
43 .set MEM_ARG,0x900 # Arguments at start
44 .set MEM_ARG_BTX,0xa100 # Where we move them to so the
46 .set MEM_ARG_SIZE,0x18 # Size of the arguments
47 .set MEM_BTX_ADDRESS,0x9000 # where BTX lives
48 .set MEM_BTX_ENTRY,0x9010 # where BTX starts to execute
50 .set MEM_BTX_CLIENT,0xa000 # where BTX clients live
54 .set AOUT_TEXT,0x04 # text segment size
55 .set AOUT_DATA,0x08 # data segment size
56 .set AOUT_BSS,0x0c # zero'd BSS size
57 .set AOUT_SYMBOLS,0x10 # symbol table
58 .set AOUT_ENTRY,0x14 # entry point
63 .set SEL_SDATA,0x8 # Supervisor data
64 .set SEL_RDATA,0x10 # Real mode data
65 .set SEL_SCODE,0x18 # PM-32 code
66 .set SEL_SCODE16,0x20 # PM-16 code
70 .set INT_SYS,0x30 # BTX syscall interrupt
74 .set ERROR_TIMEOUT,0x80 # BIOS timeout on read
76 .set SECTOR_SIZE,0x800 # size of a sector
78 .set BUFFER_LEN,0x100 # number of sectors in buffer
79 .set MAX_READ,0x10000 # max we can read at a time
81 .set MEM_READ_BUFFER,0x9000 # buffer to read from CD
84 .set VOLDESC_LBA,0x10 # LBA of vol descriptor
88 .set DIR_LEN,0 # Offset of Dir Record length
95 # We expect to be loaded by the BIOS at 0x7c00 (standard boot loader entry
100 .org 0x0, 0x0
126 mov %dl,0x4(%bx) # in kargs->bootdev
127 orb $KARGS_FLAGS_CD,0x8(%bx) # kargs->bootflags |=
156 mov $0xffff,%cx # path name by
215 or $0x1,%al # protected
239 movzwl 0xa(%esi),%ecx # %ecx -> length of BTX
248 and $~0x1,%al # protected
250 ljmp $0,$pm_end # Long jump to clear the
258 mov %ax,%es # to segment 0
283 ljmp $0,$MEM_BTX_ENTRY # Jump to the BTX entry point
289 # Returns: CF = 0 (success), BX = pointer to record
303 cmp $0,%al # Are we done?
324 # Returns: CF = 0 (success), BX = pointer to record, SI = next path item
338 cmp $0,%al # Nul?
356 ff.scan.1: cmpb $0,DIR_LEN(%bx) # Last record in block?
360 ff.checkver: cmpb $'0',DIR_NAME-1(%bx,%si) # Less than '0'?
386 adc $0,%bh
411 mov %ax,edd_addr+0x2 # and store
417 mov $0x42,%ah # BIOS: Extended Read
418 int $0x13 # Call BIOS
455 putc: mov $0x7,%bx # attribute for output
456 mov $0xe,%ah # BIOS: put_char
457 int $0x10 # call BIOS, print char in %al
489 in $0x64,%al # Get status
490 test $0x2,%al # Busy?
492 mov $0xd1,%al # Command: Write
493 out %al,$0x64 # output port
494 seta20.2: in $0x64,%al # Get status
495 test $0x2,%al # Busy?
497 mov $0xdf,%al # Enable
498 out %al,$0x60 # A20
506 shrb $0x4,%al # Do upper
509 hex8.1: andb $0xf,%al # Get lower 4
510 cmpb $0xa,%al # Convert
511 sbbb $0x69,%al # to hex
513 orb $0x20,%al # To lower case
533 mov $0x1,%eax # 'exec' system call
542 gdt: .word 0x0,0x0,0x0,0x0 # Null entry
543 .word 0xffff,0x0,0x9200,0xcf # SEL_SDATA
544 .word 0xffff,0x0,0x9200,0x0 # SEL_RDATA
545 .word 0xffff,0x0,0x9a00,0xcf # SEL_SCODE (32-bit)
546 .word 0xffff,0x0,0x9a00,0x8f # SEL_SCODE16 (16-bit)
556 edd_packet: .byte 0x10 # Length
557 .byte 0 # Reserved
558 edd_len: .byte 0x0 # Num to read
559 .byte 0 # Reserved
560 edd_addr: .word 0x0,0x0 # Seg:Off
561 edd_lba: .quad 0x0 # LBA
563 drive: .byte 0
568 rec_lba: .long 0x0 # LBA (adjusted for EA)
569 rec_size: .long 0x0 # File size
570 name_len: .byte 0x0 # Length of current name
572 twiddle_index: .byte 0x0
578 msg_badread: .ascii "Read Error: 0x"
590 .byte 0