Найти сумму двух чисел (MASM) - Assembler
Формулировка задачи:
Ввести с клавиатуры два числа и вывести их сумму. На Масм.
Я никак не могу понять как создавать и что.
на Тасм умею, а тут не получается. помогите пожалуйста. чтоб с заголовками понятно стало
Решение задачи: «Найти сумму двух чисел (MASM)»
textual
Листинг программы
.586 .model flat,stdcall option casemap:none include msvcrt.inc includelib msvcrt.lib .data A dd ? B dd ? fmt db '%d',0 .code _start: invoke crt_scanf,offset fmt,offset A invoke crt_scanf,offset fmt,offset B mov eax,A add eax,B invoke crt_printf,offset fmt,eax invoke crt__getch ret end _start end
Объяснение кода листинга программы
- Объявление сегмента и модели памяти - .586 .model flat,stdcall
- Отключение отображения регистров в дамме - option casemap:none
- Включение библиотеки msvcrt.lib - includelib msvcrt.lib
- Объявление двух переменных типа double - .data A dd ? B dd ?
- Объявление строки формата для работы с функцией printf - fmt db '%d',0
- Начало кода - .code
- Вызов функции scanf для ввода двух чисел - invoke crt_scanf,offset fmt,offset A invoke crt_scanf,offset fmt,offset B
- Передача суммы двух чисел в функцию printf - mov eax,A add eax,B invoke crt_printf,offset fmt,eax
- Вызов функции getch для ввода символа - invoke crt__getch
- Конец кода - ret
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д