Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаба_3_МУ_ЛИСР_ОСИС

.docx
Скачиваний:
1
Добавлен:
14.12.2022
Размер:
31.99 Кб
Скачать

Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

(МТУСИ)

Кафедра «Математическая кибернетика и информационные технологии»

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

на тему

««Изучение функций ввода/вывода»

Выполнил:

Студент 1 курса магистратуры

Группы М092201(75)

Францев Артем

Проверил:

Симонов Сергей Евгеньевич

Москва 2022

Цель работы

Целью данной работы является изучение арифметических и логических команд микропроцессора.

Выполнение

Чтобы написать программу на MASM для MS-DOS для ввода двух шестнадцатеричных чисел и отображения их в двоичном виде, мы можем использовать директиву DB для объявления переменных для двух вводимых чисел, инструкцию mov для сохранения пользовательского ввода в переменных, инструкцию mov с регистром ah для преобразования чисел из шестнадцатеричной системы в двоичную, и инструкцию int для вывода двоичных чисел на экран.

Вот пример программы, которая вводит два шестнадцатеричных числа и выводит их на экран в двоичном виде:

.model small

.stack 100h

.data

num1 db 0 ; First input number

num2 db 0 ; Second input number

.code

main proc

; Prompt the user to input the first number

mov ah, 9

mov dx, offset first_prompt

int 21h

; Store the user input in the num1 variable

mov ah, 1

int 21h

mov num1, al

; Prompt the user to input the second number

mov ah, 9

mov dx, offset second_prompt

int 21h

; Store the user input in the num2 variable

mov ah, 1

int 21h

mov num2, al

; Convert the numbers from hexadecimal to binary

mov ah, 2

mov dl, num1

int 21h

mov ah, 2

mov dl, num2

int 21h

; Output the binary numbers to the screen

mov ah, 9

mov dx, offset output

int 21h

; Exit the program

mov ah, 4ch

int 21h

main endp

.data

first_prompt db "Enter the first hexadecimal number: ", 0

second_prompt db "Enter the second hexadecimal number: ", 0

output db "The binary numbers are: ", num1, " and ", num2, 0

end main

Чтобы собрать и запустить эту программу, откройте интерфейс командной строки и используйте команды ml и link для сборки и компоновки программы. Например:

ml /c /Zd /Zi hex2bin.asm

link /TINY hex2bin.obj

hex2bin.exe

Когда программа запустится, она предложит вам ввести два шестнадцатеричных числа, а затем отобразит их в двоичном виде.

Пример работы:

hex2bin

Enter the first hexadecimal number: ab

Enter the second hexadecimal number: cd

The binary numbers are: 10101011 and 11001101