Skip to content

Лабораторная работа №3 по fasm

License

Notifications You must be signed in to change notification settings

IUTen/Yps_ASM_LR3

Repository files navigation

Static Badge

About

Лабораторная работа состоит из 3-х частей.

Часть 1.

- Задание: Разработать подпрограмму вывода одного символа в произвольную часть экрана, со следующими входными параметрами

- Краткое объяснение: В части "main" задаём сдвиги для строки и столбцов. Также настраиваем регистр DX, чтобы вывести определенный символ. После вызываем функцию по печати символа. Рассмотрим функцию печати. Настраиваем память для видеоадаптера, после просчитываем все сдвиги для нашего символа. В итоге записываем в память символ.

Часть 2.

- Задание: Разработать программу, которая выводит значения регистров общего назначения

- Пример вывода: AX=ba12 BX=de34 CX=34ef ...

- Краткое объяснение: Для начала нам необходимо сохранить все РОНы(Регистры Общего Назначения) в стек. Далее для каждого РОНа используем функцию вывода.

Функция вывода: В цикле использовать функцию вывода символа

Функция вывода символа: Смещаем значение регистра вправо, чтобы нужный оказался справа. С помощью маски и команды AND оставляем одну "цифру". Далее занимаемся выводом этого символа

Часть 3.

- Задание: Разработать программу, которая выводит на экран дамп памяти 256 байт, 16 на одну строку

- Пример вывода:

20 78 6f .. .. 4e 6a

bc f5 bb .. .. 1e aa

.. .. .. .. .. .. ..

00 00 08 00 00 f5 aa

- Краткое объяснение: Задаём начальный адрес памяти опираясь на свой порядковый номер в группе. Далее пробегаем по строкам и столбцам используя функцию вывода.

Функция вывода: Функцию делаем аналогично как во второй части, только количество "цифр" для вывода =2. В моём случае я происзводил запись на вывод в регистр AX

Developers

License

MIT License

About

Лабораторная работа №3 по fasm

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published