Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Введение в программирование на языке Ассемблера x86

Автор:   •  Декабрь 23, 2018  •  Лабораторная работа  •  522 Слов (3 Страниц)  •  455 Просмотры

Страница 1 из 3

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО

ОБРАЗОВАНИЯ «НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ

МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИМ. Н.П. ОГАРЁВА»

(ФГБОУ ВО «МГУ им. Н.П. Огарёва»)

Направление: Информатика и вычислительная техника

ЛАБОРАТОРНАЯ РАБОТА

по курсу «Программирование на языке ассемблера»

ЛР – 02069964 –Ассемблер– 01 – 18

Лабораторная работа № 1

Выполнили:

студент 341 группы

Бакиров Р.М., Куряев Э.Р.

Проверила:

__________________

Плотникова Н.П.

Саранск 2018

Лабораторная работа № 1

Введение в программирование на языке Ассемблера x86

Задание 1

Создайте проект для программы из листинга 1.2, подключите стандартную библиотеку языка C, откомпилируйте программу и запустите ее на выполнение. Прокомментируйте результат.

 Код программы:

TITLE Использование стандартной библиотеки языка C Visual Studio

.686

.MODEL FLAT, C

.STACK 4096

; импортируемые функции из стандартной библиотеки языка C

printf PROTO format: PTR BYTE, args: VARARG

scanf PROTO format: PTR BYTE, args: VARARG

; экспортируемые функции

PUBLIC main

.CONST

strHello BYTE "Hello, world!", 0Ah, 0

strFormat BYTE "%d %d", 0

.DATA?

i DWORD ?

j DWORD ?

.CODE

main PROC

; выведем на экран приветствие

; printf("Hello, world!\n");

INVOKE printf, ADDR strHello

; введем с клавиатуры целочисленные значения,

; сохраним их в i и j

; scanf("%d %d", &i, &j);

INVOKE scanf, ADDR strFormat, ADDR i, ADDR j

; выведем на экран введенные значения

; printf("%d %d", i, j);

INVOKE printf, ADDR strFormat, i, j

mov eax, 0

ret

main ENDP

END

Результат работы программы представлен на Рисунке 1:

[pic 1]

Рисунок 1

Задание 2

Измените выводимое сообщение таком образом, чтобы программа печатала на экране имена, фамилии и номер группы студентов, выполнивших работу.

  Код программы:

TITLE Использование стандартной библиотеки языка C Visual Studio

.686

.MODEL FLAT, C

.STACK 4096

; импортируемые функции из стандартной библиотеки языка C

printf PROTO format: PTR BYTE, args: VARARG

scanf PROTO format: PTR BYTE, args: VARARG

; экспортируемые функции

PUBLIC main

.CONST

strHello BYTE "Bakirov Kuryaev 341 group", 0Ah, 0

strFormat BYTE "%d %d", 0

.DATA?

i DWORD ?

j DWORD ?

.CODE

main PROC

; выведем на экран приветствие

; printf("Hello, world!\n");

INVOKE printf, ADDR strHello

; введем с клавиатуры целочисленные значения,

; сохраним их в i и j

; scanf("%d %d", &i, &j);

INVOKE scanf, ADDR strFormat, ADDR i, ADDR j

; выведем на экран введенные значения

; printf("%d %d", i, j);

INVOKE printf, ADDR strFormat, i, j

mov eax, 0

ret

main ENDP

END

...

Скачать:   txt (5.2 Kb)   pdf (243.2 Kb)   docx (30.5 Kb)  
Продолжить читать еще 2 страниц(ы) »
Доступно только на Essays.club