diff options
author | kato <kato@FreeBSD.org> | 2000-08-03 09:00:19 +0000 |
---|---|---|
committer | kato <kato@FreeBSD.org> | 2000-08-03 09:00:19 +0000 |
commit | 003617e8868577352cd857a1a0ae11fd936a6f1e (patch) | |
tree | 288ff9167a7c989426b3c78a381ff6ad31df8ba3 /sys/boot/pc98/boot0.5 | |
parent | 14d2d4059ba4fa376a78b10fc3de0c2d0ae662a2 (diff) | |
download | FreeBSD-src-003617e8868577352cd857a1a0ae11fd936a6f1e.zip FreeBSD-src-003617e8868577352cd857a1a0ae11fd936a6f1e.tar.gz |
- Fixed pointer to the partition table in the buffer.
- Use shift by %cl instead of five shifts by 1.
Diffstat (limited to 'sys/boot/pc98/boot0.5')
-rw-r--r-- | sys/boot/pc98/boot0.5/disk.s | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/sys/boot/pc98/boot0.5/disk.s b/sys/boot/pc98/boot0.5/disk.s index c1eb916..e4f7506 100644 --- a/sys/boot/pc98/boot0.5/disk.s +++ b/sys/boot/pc98/boot0.5/disk.s @@ -61,35 +61,30 @@ setup_partition: movw %di, %bx # %bx = offset to partition table xorw %dx, %dx # %dx = partition number setup_partition_loop: + push %cx movw %dx, %si - shlw %si - shlw %si - shlw %si - shlw %si - shlw %si + movb $5, %cl + shlw %cl, %si addw %bx, %si movb iplbuf(%si), %al orb %al, %al jz unused_partition + addw $iplbuf, %si movw npartition, %ax movw %ax, %di - shlw %di - shlw %di - shlw %di - shlw %di - shlw %di + movb $5, %cl + shlw %cl, %di addw $parttable, %di - push %cx movw $32, %cx rep movsb - pop %cx movw %ax, %di addw $partnum, %di movb %dl, (%di) incw npartition unused_partition: incw %dx + pop %cx loop setup_partition_loop ret |