与 C++ 链接的汇编语言 XOR

问题描述 投票:0回答:0

问题是关于用伽马序列加密字符串的函数。

函数调用:

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);
c++ assembly bit xor
© www.soinside.com 2019 - 2024. All rights reserved.