Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
Сибирский Федеральный Университет Политехнический институт
Кафедра «Радиотехника»
Лабораторная работа №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:
Нет
Да
|
|
Нет
|
Да
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.