Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Работа с монитором и клавиатурой, прерывания DOS int 21h

Автор:   •  Октябрь 24, 2022  •  Лабораторная работа  •  2,889 Слов (12 Страниц)  •  112 Просмотры

Страница 1 из 12

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

 Федеральное государственное бюджетное образовательное учреждение высшего образования 

«Сибирский государственный университет науки и технологий имени академика М.Ф. Решетнева»

Институт информатики и телекоммуникаций

Кафедра электронной техники и телекоммуникаций

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

По дисциплине «Вычислительная техника и информационные технологии»

На тему: «Работа с монитором и клавиатурой, прерывания DOS int 21h »

Вариант - 6

   

   

    Преподаватель                                      _______                    В.А.Сарычев__

                                                                подпись, дата                     инициалы, фамилия 

    Обучающаяся _БСК18-01______       _______                    

                            номер группы,                    подпись, дата                 инициалы, фамилия

Красноярск, 2021 г.

Цель работы: изучить принцип работы  с монитором и клавиатурой, прерывания DOS int 21h через написание программы.

              6. Отсортировать заданный массив целых чисел А(I) в порядке убывания их значений. I=1,2,....,10. Ввод массива А(I)  организовать с клавиатуры по подсказке, выведенной на монитор.  Результат вывести на экран.

          Блок-схема:

[pic 1]

Рисунок 1-1 – Блок-схема

Рисунок 1-2 – Блок-схема[pic 2]

[pic 3]

Рисунок 1-3 – Блок-схема

Программа:

model small

.stack        100h

delay macro time  

        local        ext,iter

        push        cx

        mov        cx,time

ext:

        push        cx

        mov        cx,5000

iter:

        loop        iter

        pop        cx

        loop        ext

        pop        cx

endm

.data

mas1 db 100 dup(0)

mas2 db 100 dup(0)

n db ?

m db ?

vv1 db 'Enter number of array rows n:$'

vv2 db 'Enter number of array columns m:$'

vv3 db 'Enter a string array after a space:$'

vv4 db ' Array mas2[$'

number db 3 dup(0)

number1 db ?

.code

vvod1 proc

push cx        

push bx

        xor bx,bx

        xor ax,ax

        xor cx,cx

             mov ah,01h

                        int 21h

                        sub al,30h  

                        mov ah,0

                        mov bx,10

                        mov cx,ax

              L:         mov ah,01h

                        int 21h

                        cmp al,0dh

                        je E        

                        sub al,30h  

                        mov ah,0          

                        xchg ax,cx  

push dx

                        mul bx          ; ax*10

pop dx

                        add cx,ax      ; cx=ax*10+cx

                        jmp L    

            E :    mov al,cl

pop bx

pop cx        

ret

vvod1 endp

vvod2 proc

push cx        

push bx

        xor bx,bx

        xor ax,ax

        xor cx,cx

             mov ah,01h

                        int 21h

                        sub al,30h  

                        mov ah,0  

                        mov bx,10

                        mov cx,ax

L1:              mov ah,01h

                        int 21h

                        cmp al,20h  

                        je E1        

                        sub al,30h  

                        mov ah,0          

                        xchg ax,cx  

push dx

                        mul bx          ; ax*10

pop dx

                        add cx,ax      ; cx=ax*10+cx

                        jmp L1    

            E1 :    mov al,cl

pop bx

pop cx        

...

Скачать:   txt (10 Kb)   pdf (200.2 Kb)   docx (105.5 Kb)  
Продолжить читать еще 11 страниц(ы) »
Доступно только на Essays.club