This is the code:
;------------------------
DOSSEG
.MODEL SMALL
.STACK 200h
.386
.DATA
.CODE
START:
MOV EAX,CR0
OR AX,1
MOV CR0,EAX
MOV AX,4C00h
INT 21h
END START
;----------------------------
I've also tried this code:
DOSSEG
.MODEL SMALL
.STACK 200h
.386
.DATA
.CODE
START:
SMSW
OR AX,1
LMSW
MOV AX,4C00h
INT 21h
END START
;---------------------------------
This is the error message that TASM gives me.
The currently selected processor doesn't support this function
SMSW and LSMW should work on al CPUs above 186
Why do I get this message when I have a 486?
It looks like you're new here. If you want to get involved, click one of these buttons!
Comments
you need to enable priviliged instructions. instead of
typing .386 (or .486) at the start of your code, use
.386p (or .486p) instead.
assassin@reality.halo.nu
: you need to enable priviliged instructions. instead of
: typing .386 (or .486) at the start of your code, use
: .386p (or .486p) instead.
: assassin@reality.halo.nu
Really...? I thought that it depended on that Jasminko had an old version of tasm(?).
MOV ES:[DI],AL in NASM is MOV [ES:DI], AL
MOV AX, VAR in NASM is MOV AX, WORD [VAR]
NASM lets you use the floating-point commands, 64-bit vars (QWORDs), 80-bit vars (TWORDs), and it compiles to .COM format just by doing
NASM file.asm -o file.com at the DOS prompt
Lastly, it's free, downloadable from cryogen.com/NASM
If you really want to be picky, I should aslo state that the real command could be "p486" which is the IDEAL mode equalent, TASM's "native" mode.