summaryrefslogtreecommitdiffstats
path: root/sys/boot/pc98/boot0.5
diff options
context:
space:
mode:
authorkato <kato@FreeBSD.org>2000-08-03 09:00:19 +0000
committerkato <kato@FreeBSD.org>2000-08-03 09:00:19 +0000
commit003617e8868577352cd857a1a0ae11fd936a6f1e (patch)
tree288ff9167a7c989426b3c78a381ff6ad31df8ba3 /sys/boot/pc98/boot0.5
parent14d2d4059ba4fa376a78b10fc3de0c2d0ae662a2 (diff)
downloadFreeBSD-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.s19
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
OpenPOWER on IntegriCloud