summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhpa <hpa>1998-05-07 22:39:08 +0000
committerhpa <hpa>1998-05-07 22:39:08 +0000
commitdc304c18ec29ce7116fbc6a0e8d1f4a2362208ef (patch)
tree5677e776aba32af8491dc97d9924e7e7cd1ee29d
parenta997b40f03992888aa3512a91ff11df95ba13e18 (diff)
downloadsyslinux-dc304c18ec29ce7116fbc6a0e8d1f4a2362208ef.tar.gz
- Fix new division code.
- Make new "prerel" target to make "unofficial" release packages.
-rw-r--r--Makefile13
-rw-r--r--ldlinux.asm18
2 files changed, 24 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 093304b7..e355e9ab 100644
--- a/Makefile
+++ b/Makefile
@@ -109,3 +109,16 @@ release:
gzip -9 > syslinux-$(VERSION).tar.gz
cd release/syslinux-$(VERSION) ; \
zip -9r ../syslinux-$(VERSION).zip *
+
+prerel:
+ -rm -rf release/syslinux-$(VERSION)-$(DATE)
+ -rm -f release/syslinux-$(VERSION)-$(DATE).*
+ mkdir -p release/syslinux-$(VERSION)-$(DATE)
+ cp $(SOURCES) $(DOCS) $(OTHER) release/syslinux-$(VERSION)-$(DATE)
+ make -C release/syslinux-$(VERSION)-$(DATE) clean
+ make -C release/syslinux-$(VERSION)-$(DATE) DATE="$(DATE)"
+ make -C release/syslinux-$(VERSION)-$(DATE) dist
+ cd release ; tar cvvf - syslinux-$(VERSION)-$(DATE) | \
+ gzip -9 > syslinux-$(VERSION)-$(DATE).tar.gz
+ cd release/syslinux-$(VERSION)-$(DATE) ; \
+ zip -9r ../syslinux-$(VERSION)-$(DATE).zip *
diff --git a/ldlinux.asm b/ldlinux.asm
index d447b92f..d55268c7 100644
--- a/ldlinux.asm
+++ b/ldlinux.asm
@@ -651,6 +651,11 @@ getonesec:
; The "stupid patch area" gets replaced by the code
; mov bp,1 ; nop ... (BD 01 00 90 90...) when installing with
; the -s option.
+;
+; Stylistic note: use "xchg" instead of "mov" when the source is a register
+; that is dead from that point; this saves space. However, please keep
+; the order to dst,src to keep things sane.
+;
getlinsec:
mov si,[bsSecPerTrack]
;
@@ -658,18 +663,17 @@ getlinsec:
; up to 2^18 tracks, so we need to do this in two steps
; to produce a 32-bit quotient.
;
- xchg di,ax ; DI <- LSW of LBA
+ xchg cx,ax ; CX <- LSW of LBA
xchg ax,dx
xor dx,dx ; DX:AX now == MSW of LBA
push dx
div si ; Obtain MSW of track #
- xchg ax,di ; Save MSW of track, AX <- LSW of LBA
- add ax,dx ; Add remainder from high word
- pop dx ; DX <- 0, flags preserved!
- adc dx,dx ; DX == 0, so DX <- CF ? 1 : 0
+ xchg ax,cx ; Remainder -> MSW of new dividend
+ ; LSW of LBA -> LSW of new dividend
+ ; Quotient -> MSW of track #
div si ; Obtain LSW of track #, remainder
xchg cx,dx ; CX <- Sector index (0-based)
- xchg dx,di ; MSW of track #; DX:AX now == track #
+ ; DX <- MSW of track #
div word [bsHeads] ; Convert track to head/cyl
;
; Now we have AX = cyl, DX = head, CX = sector (0-based),
@@ -2308,7 +2312,7 @@ enable_a20:
out 060h, al
kbc_delay: call empty_8042
push cx
- mov cx,14h
+ mov cx, delaytime
.delayloop: io_delay
loop .delayloop
pop cx