mul al,5
idiv cx,4
sar cx, 2
выдает ошибку Segmentation fault (core dumped).
В чем причина данной ошибки?
class Car { ... private: std::string Availability; std::string brand; int carAge; }; ... Car machine; while (fin.read((char*)&machine, sizeof(Car)))
mov al,x cmp al,a jg sled1 mov bl,a ...
как сделать разветвление от условия, если это условие не удовлетворяет.
jg sled1
не совершает перехода и ты просто выполняешь следующую за ней инструкцию -- mov bl, a
. Ветвления и переходы в твоём коде выглядят правильно. copy_from_user(ips[i], buffer,256); printk(KERN_INFO "ips: %s \n", ips[i]); i++; if(strncmp(ips[0],"wh",2)==0){
почему он работает,
как его можно переписать, чтобы было удобнее читать?
Почему выводит только первую строку а остальные что-то непонятное?
int print_arr(int str, int stlb, int matr[][stlb]){ ... } int mass[10][10]; ... print_arr(N, L, &mass[k][i]);
int main()
{
int L = 0, N = 0, k, i;
scanf("%d", &N);
L=N;
int mass[N][L];
for(k = 0; k < N; k++){
printf("[%d]\n", k);
for(i = 0; i < L; i++){
scanf("%d", &mass[k][i]);
}
}
printf("matrix NxN\n");
print_arr(N, L, mass);
return 0;
}
RSP: 0x00007FFFFFFFEA78
) указывает примерно в то же место, где находится код программы (0x7fffffffea75: push rbx
). Код обычно защищён от записи, соответственно записать в стек может быть нельзя по этой причине. Кроме того, если записать в стек таки можно, push rbx как раз перепишет саму себя и следующую инструкцию. Без отладчика это может работать за счёт конвейера, но под отладчиком это работать не будет. Правильный ли ход мыслей?
только проблема в том, что в gcc формат ассемблерных вставок другой
int main() {
int a = 1;
int b = 3;
int c;
asm (
"mov %[a], %[c]\n\t"
"add %[b], %[c]\n\t"
: [c] "=mr" (c)
: [a] "mr" (a), [b] "mr" (b));
printf("a + b = %x + %x = %x\n", a, b, c);
}
process[i] = OpenProcess(PROCESS_ALL_ACCESS, false, proc.th32ProcessID);
scanf("%d", &d);
имелось в виду scanf("%d", &nUm);
.nUm = nUm % d;// делим на него
nUm = nUm / d;// делим на него
d=2; //обнуляем переменную d
printf(file, "\nОшибка, недопустимые значения");
он записал обрывок сообщения:
"стимые значения"
а почему?
fprintf(file, "\nОшибка, недопустимые значения");
fscanf(file, "%f", &num) == true
== 1
. fscanf возвращает число (отсканированных полей), а не признак успеха.