Search code examples
x86-16instruction-setassemble

emu8086 mistake:unknown opcode skipped: 65 not 8086 instruction


org 200h

data segment



;upper_case

sA      db 'Alpha', 20h, '$' 
sB      db 'Bravo', 20h, '$'
sC      db 'Charlie', 20h, '$'
sD      db 'Delta', 20h, '$'
sE      db 'Echo', 20h, '$'
sF      db 'Foxtrot', 20h, '$'
G       db 'Golf', 20h, '$'
H       db 'Hotel', 20h, '$'
I       db 'India', 20h, '$'
J       db 'Juliet', 20h, '$'
K       db 'Kilo', 20h, '$'
L       db 'Lima', 20h, '$'
M       db 'Mike', 20h, '$'


;lower_case



;digits:

zero    db 'zero', 20h, '$' 
one     db 'one', 20h, '$'
two     db 'two', 20h, '$'
three   db 'three', 20h, '$'



lower dw la, lb, lc, ld, le, lf, lg, lh, li, lj, lk, ll, lm, ln, lo, lp ,lq, lr, ls, lt, lu, lv, lw, lx, ly, lz

upper dw sA,sB,sC,sD,sE,sF,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z

num dw zero, one, two, three, four, five, six, seven, eight, nine

myname    db  0dh, 0ah, 'name: Meng Zhao', 0dh, 0ah, '$'
myid      db  0dh, 0ah, 'ID:1300062809', 0dh, 0ah, '$'

  data ends

;stack segment stack
    ;sta db 50 dup(0)
    ;top equ length sta
;stack ends

code segment
......
disp_upper:
      ......
code ends

it compiles OK, but when I run it, the emu8086 says:unknown opcode skipped: 65 not 8086 instruction - not supported yet. at sE db 'Echo', 20h, '$'. I am just wondering why this would happen?I have tried to change the name of my variables but it just doesn't work.

The code is too long to paste.


Solution

  • Without seeing more of your code my best guess is that you are executing data. All seems to execute well up to the point that the emulator finds a character that has an ASCII code that does not correspond to any opcode defined on the 8086 cpu.

    org 200h
    

    This ORG seems odd. Usually to generate a .COM executable we write ORG 100h and explicitely jump to where the code starts (or fall through in the code section). You seem to fall through in the data section.
    If you were trying to make a .EXE executable the ORG directive makes no sense.