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.
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.