Задание на курсовое проектирование. Анализ технического задания. Разработка принципиальной схемы МПС, страница 8

7                            jmp        globalbegin                        ; безусловный переход к началу всего процесса

toendproc:                                        ; пользовательская метка toendproc

8                            ret                                                      ; возврат в основную процедуру

END INTERRUPT_PROC              ; конец процедуры обработки прерывания

main endp                                         ; конец процедуры main

;---------------------------------------------------------------------------------------------------------------------------------------------------------display proc                                     ; начало процедуры display

2                           CLI                                                     ; маскирование флага прерываний IF

10                         push      ax                                        ; запись в стек содержимого регистра ax

4                           mov       al,00011000b                    ; инициализация младшего байта регистра ax числом 24

10                         out         111111111 10 111 0 0b,al                ;          установка режима клавиатуры-дисплея ->

4-разрядный, 32-символьный, ввод справа (со сдвигом), внешняя дешифрация

4                           mov       al,10010000                      ; инициализация младшего байта регистра al числом 144

10                         out         111111111 10 111 0 0b,al                ;          запись в регистр управления индикатора слова состояния

-> запись, автоинкремент, с нулевого адреса

8                           pop        ax                                        ; восстановление в ax содержимого стека

3                            xor         bx,bx                                  ; очистка регистра bx

2                            mov       bl,ch                                    ; запись в младший байт регистра ax содержимого счетчика отсчетов ch

91                         div         bl                                         ; деление вида (al.ah):=ax/bl

4                            xchg      al,ah                                    ; обмен вида al<=>ah

2                            mov       cl,al                                     ; запись в младший байт регистра cx остатка общей индикации

2                            mov       ch,ah                                   ; запись в старший байт регистра cx частного общей индикации

4                            mov       bx,10                                  ; инициализация делителя bx десятью

1group:                                             ; пользовательская метка 1group

3                            xor         ax,ax                                   ; очистка регистра ax

2                            mov       al,cl                                     ; запись в младший байт регистра ax остатка общей индикации

91                         div         bl                                         ; деление вида (al.ah):=ax/bl

2                            mov       cl,al                                     ; сохранение в cl следующего частного первой группы

10                         out         111111111 00 111 0 0b, ah              ;          вывод в индикаторное ОЗУ отображения величины остатка ah первой группы

4                            cmp       cl,0                                      ; сравнение вида cl=0, и если false, то...

4                            jne         1group                                ; ...переход на метку 1group

10                         out         111111111 00 111 0 0b, ah              ;          вывод в индикаторное ОЗУ отображения величины остатка ah первой группы

4                            mov       dl,00010000                      ; формирование десятичной точки в байте-маске dl

2group:                                             ; пользовательская метка 2group

3                            xor         ax,ax                                   ; очистка регистра ax