#assembly #visual-c #reference #x86 #inline-assembly
# #сборка #visual-c #ссылка #x86 #встроенная сборка
Вопрос:
Итак, вот мой код, я пытаюсь установить для a_character значение ecx, мое зашифрованное письмо. я не получаю никаких ошибок, но переменная не изменится.
void get_char(charamp; a_character)
{
a_character = (char)_getwche();
if (a_character == 'r' || a_character == 'n') // allow the enter key to work as the terminating character too
{
a_character = dollarchar;
}
__asm
{
cmp ecx, '[';
jb RANGE_C;
jge RESUME;
RANGE_C: cmp ecx, '@';
ja LOWER;
jle RESUME;
LOWER: ADD ecx, 32
JMP RESUME;
RESUME:
mov a_character, ecx
}
}
Комментарии:
1.
char amp;a_character
вероятно, работает как указатель из asm. Возможно, было бы проще вернутьchar
значение by .2. Кроме того,
ecx
даже ничего не установлено, а achar
— это 1 байт, а не 4.