Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, 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
Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.