Как создать неинициализированную глобальную переменную размером в 4 байта?

Здраствуйте, подскажите, верно ли выполнено первое задание и как можно реализовать второе задание? Использую Fasm и X64dbg.

  1. Вычислить арифметическое выражение ab+a(c+d)+d*(-1) . Переменные a, b, c, d в начале выполнения программы должны быть расположены в регистрах eax, ebx, ecx и edx соответственно. Численные значения можно взять произвольными.
  2. Создать неинициализированную глобальную переменную размером в 4 байта, программно инициализировать ее таким образом, чтобы в окне дампа можно было увидеть AA BB CC DD.
format PE GUI
entry start
 
a dd 2
b dd 3
c dd 4
d dd 5
e dd ?
 
start:
                            
mov eax,[a]                 
mov ebx,[b]                
mov ecx,[c]                
mov edx,[d]
add ebx,ecx
add ebx,edx
mul eax
sub edx,eax
mov [e],edx
 
ret

Ответы (0 шт):