Использование памяти отведенной malloc - Assembler
Формулировка задачи:
Выделяю память и хочу инициализировать всё байтовой единицей. Что я делаю не так ?
mov dword [number], 21 create_array: sub dword [number], 1 ;;; push dword [number] call _malloc add esp, 4 test eax, eax je .fail jne .fail_continue .fail: push error_malloc call _printf add esp, 4 mov edx, 1 jmp end .fail_continue: mov ecx, [number] mov edx, eax .for: mov byte [edx], 1 inc edx loop .for
Решение задачи: «Использование памяти отведенной malloc»
textual
Листинг программы
mov edi, eax mov eax, 1010101h rep stosd
Объяснение кода листинга программы
В данном коде на языке Assembler происходит следующее:
- mov edi, eax — в данном выражении происходит копирование регистра eax в регистр edi.
- mov eax, 1010101h — в данном выражении в регистр eax записывается значение 1010101 в шестнадцатеричной системе счисления.
- rep stosd — это команда, которая выполняет повторенное чтение-запись блоков данных из памяти. В данном случае, она будет записывать в память значения, которые находятся в регистре eax.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д