Изучение стандартных функций прерывания DOS. Программа преобразования двухбайтового кода ASCLL

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

Федеральное агенство по науке и образованию

Красноярский Государственный Технический Университет

Лабораторная работа по ЦУиМП ч.2 №1

Изучение стандартных функций прерывания DOS

вариант №15

выполнил: студент гр.Р52-4

проверил:

Красноярск 2005

1.  Задание: написать программу преобразования двухбайтового кода ASCII в соответствующее однобайтовое число. Организовать возможность ввода с клавиатуры, вывода на экран результата, а также считывание и запись данных в файл.

2.  Блок-схема программы.


3.  Алгоритм работы программы.

Вначале, с клавиатуры или из файла считываются 4 цифры, соответствующие 2-байтовому ASCII коду. Каждой цифре соответствует тетрада ASCII кода. Чтобы получить тетрады, ASCII код каждой введенной цифры преобразуется в число. Полученные числа записываются в соответствующие тетрады и выводятся на экран или в файл.

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

.model tiny

.286

.code

org 100h

main:

mov ax,cs

mov ds,ax

mov dx,offset mes

mov ah,09h

int 21h

mov ah,01h

int 21h

push ax

cmp al,31h

ja file_

;-------Ввод с клавиатуры----------------------mov ah,9

mov dx,offset mes1

int 21h

mov ah,0ah

mov dx,offset buf

int 21h

jmp handler

;-------Ввод из файла--------------------------file_:

mov ax,3d00h

mov dx,offset path1

int 21h

jnc done

pop ax

mov ah,9

mov dx,offset mes3

int 21h

jmp exit

done:

mov bx,ax

mov ah,3fh

mov cx,4

mov dx,offset buf+2

int 21h

mov ah,3eh

int 21h

;-------Преобразование ASCII кода в число------handler:

mov ax,word ptr buf+2

call convert

mov dl,ah

mov ax,word ptr buf+4

call convert

mov dh,ah

mov chislo,dx

;-------Вывод результата в файл/на экран-------pop ax

cmp al,32h

jb tv_out

mov ax,3c00h

mov dx,offset path2

int 21h

mov bx,ax

mov ah,40h

mov cx,2

mov dx,offset chislo

int 21h

mov ah,3eh

int 21h

jmp exit

tv_out:

push dx

mov ah,9

mov dx,offset mes2

int 21h

pop dx

mov ah,2

int 21h

mov dl,dh

int 21h

exit:

ret

convert proc

cmp al,39h

ja a1

sub al,30h

jmp a2

a1:

sub al,37h

a2:         

cmp ah,39h

ja b1

sub ah,30h

jmp b2

b1:

sub ah,37h

b2:

shl al,4

add ah,al

ret

convert endp

chislo dw 0

mes db "Считывание с клавиатуры:'1', из файла:'2'",0dh,0ah,"$"

mes1 db 0dh,0ah,"Введите двухбайтовый код ASCII:$"

mes2 db 0dh,0ah,"Однобайтовое число:$"

mes3 db 0dh,0ah,"Файл input.txt не найден!$"

buf db 5,0,4 dup (0),0dh

path1 db "input.txt",0

path2 db "output.txt",0

end main

Похожие материалы

Информация о работе

Тип:
Курсовые работы
Размер файла:
178 Kb
Скачали:
0

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.