首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

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

2013-06-19 
新手汇编程序出错,求大神帮忙DATAS SEGMENTDAT1 DB 65HDAT2 DB ?DAT3 DB ? DATAS ENDSSTACKS SEGMENTSTACK

新手汇编程序出错,求大神帮忙
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

热点排行