Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
Сибирский Федеральный Университет Политехнический институт
Кафедра «Радиотехника»
Лабораторная работа №4
Выполнил:
Студент гр. Р54-2
Рындин А.С.
Проверил:
Тронин О. А.
Красноярск 2007
Цель работы: Изучение языка программирования ассемблер для процессора Интел 8086.
Задание: Написать программу преобразования однобайтового числа в соответствующий ему код ASCII с подпрограммой.
текст программы:
model small ;директива модели памяти model с параметром small
.data ;упрощенная директива сегмента данных
nomer db 0A8h ;исходное однобайтовое число nomer
.stack 256h ;упрощенная директива для 256-байтного сегмента стека
.code ;упрощенная директива сегмента кода
podprwork proc ;начало процедуры podprwork
add dl,30h ;сложение вида dl:=dl+30h
ret ;возврат в основную процедуру
podprwork endp ;конец процедуры podprwork
main proc ;начало процедуры main
mov ax,@data ;инициализация сегментного...
mov ds,ax ;...регистра ds
xor ax,ax ;обнуление регистра ax
xor dx,dx ;обнуление регистра dx
mov al,nomer ;запись исходного числа nomer в младший байт регистра ax
mov dl,nomer ;запись исходного числа nomer в младший байт регистра dx
and dl,00001111b ;конъюнкция младшего байта регистра dx с маской 00001111b
and al,11110000b ;конъюнкция младшего байта регистра ax с маской 11110000b
mov bl,10h ;запись в младший байт регистра bl числа 10h
div bl ;деление вида ax:=ax/bl
mov dh,al ;в старший байт регистра dx запись результата деления
cmp dl,9 ;сравнение вида dl<=9 и если верно,то переход на...
jle podprog ;...метку podprog
add dl,37h ;в противном случае сложение вида dl:=dl+37h
sled: ;пользовательская метка sled
cmp dh,9 ;сравнение вида dh<=9 и если верно,то переход на...
jle simvol2 ;...метку simvol2
add dh,37h ;в противном случае сложение вида dh:=dh+37h и...
jmp endwork ;...переход на метку конца программы
podprog: ;пользовательская метка podprog
call podprwork ;вызов процедуры podprwork
jmp sled ;безусловный переход на метку sled
simvol2: ;пользовательская метка simvol2
add dh,30h ;сложение вида dh:=dh+30h
endwork: ;пользовательская метка endwork
mov ax,4c00h ;формирование функции стандартного выхода
int 21h ;формирование прерывания типа 21h и стандартный выход
main endp ;конец процедуры main
end main ;конец программы с точкой входа main
Блок схемa:
Нет
Да
|
|
Нет
|
Да
Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.