Mail Archives: opendos/2003/12/08/12:06:42
My assembler isn't too good. I am having problems getting the line "not
dword [es:bx + di]" to compile in MASM6.11. I am getting a syntax error :(
Is it the same as "not [es:bx + di]"
-----Original Message-----
From: Michal H. Tyc [mailto:mht AT bttr-software DOT de]
Sent: Friday, December 05, 2003 5:58 PM
To: opendos AT delorie DOT com
Subject: Re: DR Dos on a P4
Oh, my first message to the list was rejected too...
Let's try again:
; CLRVDISK.COM
; Clear VDISK signature in HMA if A20 enabled at boot time,
; which happens on some systems (as Toshiba Satellite 300CDS)
; and causes memory manager initialization error
; Add INSTALL=CLRVDISK.COM in [D]CONFIG.SYS before the memory
; manager; this works under DR-DOS only, as MS-DOS processes
; INSTALL= directives too late
; Intel syntax (NASM), 80386+
org 100h
xor bx, bx
mov ds, bx ; ds = 0
dec bx
mov es, bx ; es = 0FFFFh
mov bx, 200h ; word to compare: unused INT 80h vector
mov di, 10h ; offset of HMA in segment 0FFFFh
mov ax, [bx]
cmp ax, [es:bx + di] ; 20-bit address wrap test
jne clear ; words differ, A20 enabled
not dword [es:bx + di] ; not sure yet, try modifying HMA
cmp ax, [bx]
jne done ; 0:200h changed, so A20 is disabled
clear:
cld
mov cx, di ; length = 10h words, dest = HMA start
xor ax, ax
rep stosw ; clear VDISK header (if any)
done:
ret ; return via INT 20h
The binary is attached in a private message.
Hope this helps,
Michal
- Raw text -