Простенькая программа на fasm - Assembler

Узнай цену своей работы

Формулировка задачи:

format PE console 4.0
include 'win32a.inc'
 
mov EAX, 500d
mov [b], 600d
add EAX, [b]
cinvoke printf, a, EAX
invoke sleep, 3000
 
invoke exit, 0
a db 'EAX is ', 0
b dd ?
 
data import
library msvcrt, 'MSVCRT.DLL',\
        kernel32, 'KERNEL32.DLL'
 
import kernel32,\
       sleep, 'Sleep'
 
import msvcrt,\
    printf,'printf',\
    exit,'exit'
 
end data
Помогите, что не так, пожалуйста объясните подробно, что не хватает, почему не выводит значение?

Решение задачи: «Простенькая программа на fasm»

textual
Листинг программы
a db 'EAX is %u', 0

Объяснение кода листинга программы

  1. Переменная EAX используется в качестве регистра общего назначения в коде ассемблера.
  2. Значение переменной EAX увеличивается на единицу.
  3. Затем значение переменной EAX выводится на консоль с помощью функции printf.
  4. Значение переменной EAX затем сбрасывается обратно в ноль.
  5. Цикл повторяется до тех пор, пока значение переменной EAX не достигнет 10.
  6. После достижения значения 10 цикл прекращается и программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.333 из 5