当前位置: 代码迷 >> 汇编语言 >> 生手汇编程序出错,求大神帮忙
  详细解决方案

生手汇编程序出错,求大神帮忙

热度:414   发布时间:2016-05-02 04:53:35.0
新手汇编程序出错,求大神帮忙
DATAS SEGMENT
    DAT1 DB 65H
    DAT2 DB ?
    DAT3 DB ? 
DATAS ENDS

STACKS SEGMENT
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    LEA SI,DAT1
    MOV AL,[SI]
    CMP AL,99
    JBE BCD
    LEA DI,DAT3
    MOV [DI],0FFH   
    JMP EXIT
BCD:
CBW
MOV CL,10
DIV CL
MOV CL,4
SHL AL,CL
OR AL,AH
LEA DI,DAT2
MOV [DI],AL
EXIT:
MOV AH,4CH
INT 21H
CODES ENDS
    END START

编译之后该行MOV [DI],0FFH出错,
错误提示是invalid instruction operands
还有求解释一下MOV [DI],0FFH是什么意思?
汇编

------解决方案--------------------
额,程序太长,没看完,应该是类型问题,MOV [DI],0FFH,是把offh值传给ds:[di]内存单元。
而编译器不知道是对一个字节处理呢还是字处理,这样试下mov byte ptr【di】,0ffh