Я программирование на ассемблере и произошла следующая ошибка мне:Доступ место нарушения Сочинения встречающееся в Ассамблее
Exception брошенного в 0x00B71792 в Application1.exe: 0xC0000005: нарушение прав доступа письменность местоположение 0x00B76BED.
Необработанное исключение в 0x00B71792 в Application1.exe: 0xC0000005: место записи нарушения доступа 0x00B76BED.
Я использую Visual Studio для программирования. Далее следует мой код:
char *strCat(char *dest, char *src) {
__asm {
xor eax, eax
mov ecx, 0xffffffff
mov esi, src
mov edi, dest
mov al, 0
cld
repne scasb
dec edi
L0 :
lodsb
stosb
test al, al
jne L0
mov eax, edi
};
}
ocurr ошибка в stosb
инструкции по отладку.
С моей точки зрения, код верен. Не удалось найти ошибку.
активизировали вас через встроенный ассемблер в Visual C Studios в ++ отладчик смотреть что происходит? –
Значение 0xffffffff выглядит подозрительно. Для чего это? –
Нам нужно знать, какие параметры вы использовали для вызова этой функции. Вы не можете просто конкатенировать персонажей по своему усмотрению. 'strCat (« abc »,« 123 »)' например, скорее всего, приведет к сбою. – PaulMcKenzie