我写的C++ 与汇编混合的函数,不知那错了?
char Getchar(char **CodeGroup,char FX,char FY,char TX,char TY)
{
char MX,MY;
register char i,j,x,y,m,n,DeSum;
/*产生单个字符*/
MX = TX - 12;
MY = TY - 14;
char chResult = '$';
// ;x = CL,y=CH,i=BL,j=BH,m=dl,n=dh,Desum=al
_asm
{
PUSHAD
LEA AL,[TX-14]
MOV MX,AL
LEA AL,[TY-9]
MOV MY,AL
MOV SI,Dig_ONE_91879
MOV DI,CodeGroup
MOV AL,0
MOV CL,FX
lop1:
MOV CH,FY
lop2:
MOV DeSum,0
MOV BL,CL
lop3:
MOV BH,CH
MOV DL,0
MOV DH,0
lop4:
MOV al,byte ptr SI[DL + DH]
CMP al,byte ptr DI[BL + BH]
JZ lop5
INC AL
lop5:
INC DH
INC BH
CMP DH,9
JB lop4
INC BL
INC DL
CMP DL,14
JB lop3
CMP AL,7
JG lop6
MOV chResult,'9'
JMP lope
lop6:
INC CH
CMP CH,MY
JBE lop2
INC CL
CMP CL,MX
JBE lop1
lope:
POPAD
}
return chResult;
}