跳过了未知的操作码:62,而不是8086指令-目前尚不支持

时间:2018-12-03 02:50:47

标签: assembly x86

我正在为某个项目使用emu 8086,当我创建“ mensaje 2 dw”时,出现此错误“跳过了未知的操作码:62,而不是8086指令-目前尚不支持”,我没有任何意义在代码开头出现这样的错误...

PD:我缺少打印功能,当我弄清楚为什么出现此错误时,该问题将得到解决。

name proyecto
org 100h 
caso dw 0
x dw 0
y dw 0
a dw 1
p dw 0
b dw 1
seed dw 1
mensaje1 dw 'Ostacle is in the position [ $'
mensaje2 dw 'Object is in the position [ $'
mensaje3 dw 'Object moved to [ $'
mensaje4 dw ' with an angle of $'
mensaje41 dw 'grades$'
mensaje5 dw 'Returned to its normal way in the position [ $' 
        ; Pseudo random number x = (seed*4 + 99) % 6;
        jmp random
        random :
        mov ax, seed
            mov cx, 4
            mul cx
        ; x = seed*4
        mov x,ax
        mov ax,x
        add ax,99
        ; x = x+c
        mov x,ax
        mov ax,x
        mov cx,6
        div cx
        ; x = x%6
        mov x,dx
        mov y,dx
        mov ax,seed
        ; Add one to seed to generate a different number next time
        add ax,1
        mov seed,ax
        ; Add generated number to the actual position of the object
        mov ax, x
        add ax, a
        mov x, ax
        mov ax, y
        add ax, b
        mov y, ax
        cmp ax, 15
        ; *Print position of the obstacle, i'm missing some stuff here*

        lea dx,mensaje1
        mov ah,09h
        int 21h


        jmp recorrido
        recorrido :
        ; Object will move until position 15
            mov ax, a
            cmp ax, 15
            ja fin
            cmp caso, 1
            je cumple
            mov ax, a
            jmp comparar_x
        ; If actual position is equal to obstacle position the object will move
            comparar_x :

        mov ax, a
        add ax, 1
        mov a, ax
        mov cx, b
        add cx, 1
        mov b, cx
        mov bx, x
        cmp bx, ax
        jz comparar_y
        ja resultado_zero
        jb resultado_zero

        comparar_y :
        mov bx, y
            cmp bx, cx
            jz resultado
            ja resultado_zero
            jb resultado_zero

            resultado :
            mov caso, 1
            jmp recorrido

            resultado_zero :
            mov caso, 0
            jmp recorrido

            cumple :
            ; Moves object
            mov cx, b
            add cx, 1
            mov b, cx      



        jmp producto_escalar

        jmp recorrido
        producto_escalar :
        ; Producto escalar(a, b) and (a - 1, b - 2)
        ; Operation between the position before and after moving
            mov cx, a
            dec cx
            mov ax, x
            mul cx
            mov p, ax
            mov ax, b
            mov cx, y
            sub cx, 1
            mul cx
            add p, ax
            mov caso, 0
        ; Angle = ( producto escalar * 10 ) % 360
        mov cx, 10
        mov ax, p
        mul cx
        mov p, ax
        mov ax, p
        mov cx, 360
        div cx
        mov p, dx
        ;Object returns to its normal course (y=x)
        jmp continuar
        continuar :
        mov ax, a
            add ax, 1
            mov a, ax
            mov b, ax

        mov ax, a
        cmp ax, 15
        jz fin
        ja fin
        jb random
        fin :
ret

0 个答案:

没有答案