Hi there
Not a specific FreeDos question, but related. I recently disassembled a DOS
.COM utility using "IDA Free", to see if I could make some minor mods.
I am brand new to 8086 assembly language and looking for an answer.
In the example test code below, I want to replace the instruction "cmp
byte_369, 18h"
with "cmp byte ptr [addr], 18h" or similar. I get an error message of
"Illegal immediate".
Do I need to use an intermediate instruction to achieve this?
The assembler is Borland's TASM.
Any help appreciated.
Thanks, John
; ------------------------------------------
SOURCE:
.386
.model tiny
addr equ 369h
seg000 segment byte public 'CODE' use16
assume cs:seg000
org 100h
assume es:nothing, ss:nothing, ds:seg000, fs:nothing, gs:nothing
public start
start proc near
jmp here
org 369h
byte_369 db 18h
org 1234h
here:
cmp byte ptr [addr], 18h
cmp byte_369, 18h
start endp
seg000 ends
end start
; ------------------------------------------
EDITED ASSEMBLER OUTPUT: (for brevity)
8 org 100h
13 0100 E9 1131 jmp here
14
15 org 369h
17 0369 18 byte_369 db 18h
18
19 org 1234h
21 1234 here:
22 1234 80 3E 0369 18 cmp byte ptr [addr],18h
**Error** test.ASM(22) Illegal immediate
23 1239 80 3E 0369r 18 cmp byte_369,18h
; end doc
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user