问题是关于用伽马序列加密字符串的函数。
函数调用:
cout << "\ncipher with code: ";
for (register int i = 0; i < str.length(); i++) {
str[i] = fun_cipher_gamma(str[i], gamma[i]);
cout << str[i];
}
cout << endl;
函数本身:
char fun_cipher_gamma(register char simbol, register char gamma)
{
char result = ' ';
funct();
return result;
}
汇编代码:
.MODEL FLAT, C
.STACK 256
.DATA
.CODE
EXTRN gamma : BYTE
EXTRN simbol : BYTE
EXTRN result : BYTE
PUBLIC funct
funct PROC far
mov al, simbol
mov bl, gamma
xor al, bl
mov result, al
retn
funct ENDP
END
使用调试器我发现汇编语言函数不返回结果,但我不明白如何修复它。
使用调试器我发现汇编语言函数不返回结果,但我不明白如何修复它。 我假设我需要使用推送,但我不确定而且我迷路了,因为我的汇编语言技能几乎不存在
这个函数在C++中运行成功,我们需要在汇编程序中重做它的逻辑
return btowc(simbol) ^ btowc(gamma);