Написать программу имитатор DVD-плеера - Assembler

Узнай цену своей работы

Формулировка задачи:

После запуска программы выводиться сообщения "Вставьте диск в дисковод". Если пользователь вводит 1, то выводиться сообщения "Диск в дисководе, начать проигрывание", 1 - "Идет проигрывание", 0 - "Конец, не забудьте забрать диск". Если в самом начале ввести 0, то опять вывести сообщения "Вставьте диск в дисковод".

Решение задачи: «Написать программу имитатор DVD-плеера»

textual
Листинг программы
LOCALS
 
.model small
 
.stack 100h
 
.data
        Prompt1 db      'Вставьте диск в дисковод', 0Dh, 0Ah, '$'
        Prompt2 db      'Диск в дисководе, начать проигрывание', 0Dh, 0Ah, '$'
        msg1    db      'Идет проигрывание', 0Dh, 0Ah, '$'
        msg2    db      'Конец, не забудьте забрать диск', 0Dh, 0Ah, '$'
.code
 
main    proc
        mov     ax,     @data
        mov     ds,     ax
 
@@InsertDisk:
        mov     ah,     09h
        lea     dx,     Prompt1
        int     21h
 
@@GetChar:
        mov     ah,     08h
        int     21h
 
        cmp     al,     '0'
        je      @@InsertDisk
 
        cmp     al,     '1'
        je      @@PlayDisk
 
        cmp     al,     1Bh
        je      @@Break
        jmp     @@GetChar
 
@@PlayDisk:
        mov     ah,     09h
        lea     dx,     Prompt2
        int     21h
 
@@GetChar2:
        mov     ah,     08h
        int     21h
 
        cmp     al,     '0'
        jne     @@Select1
        mov     ah,     09h
        lea     dx,     msg2
        int     21h
        jmp     @@Break
@@Select1:
        cmp     al,     '1'
        jne     @@GetChar2
        mov     ah,     09h
        lea     dx,     msg1
        int     21h
        jmp     @@Break
 
@@Break:
        mov     ax,     4C00h
        int     21h
main    endp
 
end     main

Оцени полезность:

6   голосов , оценка 3.5 из 5
Похожие ответы