Assembler:Problem 带有初始化变量

Assembler:Problem with initializing variable

我试着找出最大重复数。

尝试初始化变量时出现错误:

unknown opcode byte: Fh
Not supported yet. Not 8086 instruction.

这就是我的代码:

#make_COM#
    ORG 100H
    ARRAY DB 5,2,7,12,8,2,8,3,5,2,3,2,13,2
    ARRAYcnt DW 13
    ARRAYmax DW 0
    MOV AH,0
    MOV CX,ARRAYcnt
    MOV BX,0
    MOV AL,0
    MOV DL,ARRAY[BX] 
    xor si,si  

    External:  
    push CX
    MOV AH,0
    MOV DL,ARRAY[BX]
    MOV CX,ARRAYcnt
    Internal:
    CMP DL,ARRAY[si]
    JE label1
    continiue:
    INC si
    LOOP Internal
    xor si,si
    CMP AH,AL
    JG label2:
    continiue1:
    pop CX 
    INC BX
    LOOP External  

    HLT

    label1:INC AH
           JMP continiue
    label2:MOV AL,AH
           push BX  
           MOV BX,ARRAY[BX]
           MOV ARRAYmax,BX
           pop BX
           JMP continiue1

之后是错误:ARRAYcnt DW 15

我把 DW 改成了 DB。

我也试过写 15 作为 0Fh.No 结果。

请帮忙

您遇到的问题是代码执行从位置 100h 开始,但您的程序有数据,而不是那里的代码。因此,处理器会尝试将您的数据作为代码执行,从而导致您观察到的问题。要解决此问题,请将您的数据移出执行路径,例如到节目结束。