Решение задач по математике | Написать программу по ассемблеру | Matematiku5
Вузы по математике Готовые работы по математике Как писать работы по математике Примеры решения задач по математике Решить задачу по математике online

Написать программу по ассемблеру


Задание 5.1. Напишите программу в формате EXE, которая выводит строки символов (последовательно букв A-M) с разными атрибутами. В каждой строке по 60 символов, начальная позиция вывода 5:10.

Текст программы

.model small

.stack 100h

.186

.data

;Определение переменных:

row db 5 ;row – строка, в которой находится курсор, начальное значение равно 5

col db 10 ;col – столбец, в котором находится курсор, начальное значение равно 10

mode db (?) ;mode – номер режима, начальное значение не определено (равно?)

char_ctr db 41h ;char_ctr – счетчик ASCII-символов, начальное значение равно 41h

.code

start:

mov ax,@data

mov ds, ax

call B10MODE ;получение/установка видеорежима

call C10CLEAR ;очистка экрана

mov bl, 1 ; начальное значение цвета

label1:

call D10CURSOR ;установка курсора

call E10DISPLAY ;вывод символа на экран

inc col ;перемещение курсора вправо

cmp col, 65 ;конец строки?

jc label1

inc char_ctr ;переход к следующему символу

inc row ;пересод в следующий столбец

mov col, 10 ;переход на начало строки

inc bl ; переход к следующему цвету

cmp char_ctr, 4Eh ;достигнут последний символ?

jc label1

mov ah, 10h ;Запрос на получение символа с клавиатуры

int 16h

mov ax,4C00h ;Завершение программы

int 21h

;Определение подпрограмм

B10MODE proc ;Получение/установка видеорежима

mov ah, 0Fh

int 10h

mov mode, al

mov ah, 0

mov al, 3

int 10h

ret

B10MODE endp

C10CLEAR proc ;Очистка экрана

pusha

mov ah, 06h

int 10h

mov ah, 06h

mov al, 10h

mov bh, 23h

mov cx, 04:24

mov dx, 19:54

int 10h

popa

ret

C10CLEAR endp

D10CURSOR proc ;Установка курсора

pusha

mov ah, 02h

mov bh, 0

mov dh, row

mov dl, col

int 10h

popa

ret

D10CURSOR endp

E10DISPLAY proc ;Вывод символа на экран

pusha

mov ah, 9h

mov al, char_ctr

mov bh, 0

mov cx, 1

int 10h

popa

ret

E10DISPLAY endp

end start ;Конец программы

Наташа

Автор

Наташа — контент-маркетолог и блогер, но все это не мешает ей оставаться адекватным человеком. Верит во все цвета радуги и не верит в теорию всемирного заговора. Увлекается «нефрохиромантией» и тайно мечтает воссоздать дома Александрийскую библиотеку.

Распродажа дипломных

 Скидка 30% по промокоду Diplom2020

А ты боишься COVID-19?

 Пройди опрос и получи промокод