主题:小菜把字节转化成字遇到的问题~
DSEG SEGMENT
DATAA DB 1
DATAB DB 2
DATAC DB 3
DATAX DB 4
DATAAX DW ?
DATAY DW ?
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG
MOV DS,AX
MOV AL,DATAX
MOV BL,DATAX
MUL BL
MOV DATAAX,AX
MOV AL,BYTE PTR DATAAX
MOV BL,DATAA
MUL BL
MOV BX,AX
MOV DL,DATAB
MOV AL,DATAX
MUL DL
XOR CH,CH
MOV CL,DATAC
ADD BX,AX
ADD BX,CX
MOV DATAY,BX
MOV AH,4CH
INT 21H
CSEG ENDS
END START
是自己编的程序,为了求A*X*X+B*X+C~ 结果放在DATAY中~
貌似可以得到正确结果[em2]~
但这里 XOR CH,CH
MOV CL,DATAC
我原来是直接 MOV CX,WORD PTR DATAC~
得到的结果DATAY的高位总是有数~
不知道为啥,请大虾们帮帮忙,谢先[em2]~~
DATAA DB 1
DATAB DB 2
DATAC DB 3
DATAX DB 4
DATAAX DW ?
DATAY DW ?
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG
MOV DS,AX
MOV AL,DATAX
MOV BL,DATAX
MUL BL
MOV DATAAX,AX
MOV AL,BYTE PTR DATAAX
MOV BL,DATAA
MUL BL
MOV BX,AX
MOV DL,DATAB
MOV AL,DATAX
MUL DL
XOR CH,CH
MOV CL,DATAC
ADD BX,AX
ADD BX,CX
MOV DATAY,BX
MOV AH,4CH
INT 21H
CSEG ENDS
END START
是自己编的程序,为了求A*X*X+B*X+C~ 结果放在DATAY中~
貌似可以得到正确结果[em2]~
但这里 XOR CH,CH
MOV CL,DATAC
我原来是直接 MOV CX,WORD PTR DATAC~
得到的结果DATAY的高位总是有数~
不知道为啥,请大虾们帮帮忙,谢先[em2]~~