Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 / МУ_ЭВМ+ПУ_ч1 / 5-МУ_ЭВМ+ПУ-арифм.docx
Скачиваний:
23
Добавлен:
28.05.2015
Размер:
38.98 Кб
Скачать
    1. Пример программы

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

Разработать программу вычисления Z по формуле

z = 2d - gm

Исходные данные - дата рождения студента в формате ДД-ММ-ГГ - соответственно значения переменных d, m, g (тип - байт);

Для вывода полученных значений Z использовать модуль IO.ASM [7], листинг которого представлен в приложении А.

5.9.2 Постановка задачи

Для определения типа величины Z проанализируем формулу ее расчета. Произведение чисел-байтов (отдельно 2d и gm) имеет тип слово. Разность двух слов – слово, следовательно, тип результата Z – слово. С учетом величин исходных данных можно утверждать, что величина Z будет отрицательной. Этот факт следует учесть при выборе конкретного макроса модуля IO.ASM - outint z.

5.9.3 Листинг программы

model small

Include io.Asm ; подключение макроса io.Asm

.stack 100h

.data

d db 28

m db 3

g db 92

z dw ? ; для результата

.code

start: ; точка входа в программу

mov ax, @data ; загрузка адреса сегмента данных

mov ds, ax

mov al, 2 ; 2 → al

mul d ; ax := al * d (=2d)

mov z, ax ; 2d → z

mov al, g ; g → al

mul m ; gm → ax

sub z, ax ; z := z – ax, в z - результат вычисления

outint z ; вывод z

mov ah, 1 ; остановка для обозрения результата

int 21h

mov ax,4C00h ; завершение работы

int 21h

end start

    1. Задания для самостоятельной работы

Исходные данные:

  • дата рождения студента в формате ДД-ММ-ГГ - числа – d, m, g (байт);

  • возраст студента ( количество полных лет ) – число v (байт).

Формулы для расчета:

  1. y = 4m + 3d – gv + 5

  2. y = -7 + dg + 2v + 5m

  3. y = v + 2m + 8 - gd

  4. y = gm - 4d – 7 + 8v

  5. y = 2 - 3g + 5v + m

42