mov dx, firstNum
загружает значение из памяти вместо адреса, по крайней мере, если ассемблировать tasm'ом. mov надо заменить на lea чтобы работало правильно:mov ah, 0ah
lea dx, firstNum
int 21h
mov ah, 02h
mov dx, 10
int 21h
lea bx, firstNum
.A2:
xor dx, dx
mov dl, [bx+si]
sub dl, '0'
add ax, dx
mul di
inc si
loop .A2
.A2:
mul di
xor dx, dx
mov dl, [bx+si]
sub dl, '0'
add ax, dx
inc si
loop .A2
нет
одно из требований - конструктор по умолчанию.
Square_matrix(unsigned int size = 1)
этому требованию полностью соответствует. Square_matrix::Square_matrix()
, объявление конструктора Square_matrix::Square_matrix(unsigned int size)
сделать таким: Square_matrix(unsigned int size = 1)
, выкинуть из его кода обработку специального случая size == 1
. И я правильно понимаю так как код выполнения и стековые данные лежат в одной программной памяти, можно столько записать в стек что перезапишется область кода?
И если я приделаю к микроконтроллеру клавиатуру для получения кода от пользователя и напрямую запихаю все эти полученные данные в стек то возможно ситуация что пользователь может взять и хакнуть микроконтроллер методом "переполнения буфера" и открыть мой сейф?
программу для ARM 64
Сделать A1 нормальной подпрограммой, а не как у тебя сейчас.