По введенному номеру месяца вывести время года - Assembler (223448)

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

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

Помогите найти ошибку.

При вводе цифры от 10 до 11 появляется надпись о том что я ввел номер зимы, а должен показать что я ввел номер осени. Вот сам код:
data segment ;описание сегмента данных
mes db 'Enter the number of the month: $' ;сообщение - Введите номер месяца
zima_message db 10, 13, 'Zima$' ;сообщение - зима
vesna_message db 'Vesna$' ;сообщение - весна
leto_message db 'Leto$' ;сообщение - лето
osen_message db 'Osen$' ;сообщение - осень
data ends ;конец сегмента данных
 
code segment ;начало сегмента кода
start: ;метка start - начало нашей программы
    assume cs:code, ds: data ;директива компилятора
    mov ax, data ;настройка сегмента данных
    mov ds, ax ;
;--------------Очищаем экран--------------      
    mov ah, 0fh ;получить параметры видеорежима
    int 10h ;
    mov ah, 00 ;установить параметры видеорежима
    int 10h ;
;--------------Выводим сообщение на экран--------------     
    mov ah, 9 ;функция №9 - вывод строки на экран
    lea dx, mes ;берём адрес строки
    int 21h ;вызов прерывания для вывода строки
;--------------Вводим число с клавиатуры--------------      
    mov ah, 1 ;ввод с клавиатуры и чтение с клавиатуры
    int 21h ;ввод с клавиатуры и чтение с клавиатуры
    sub al, 30h ;переводим символ в число
    mov bl, al ;запоминаем первое число в bl
    
    int 21h
;--------------Проверяем введенное число--------------
    cmp bl,2
    jbe zima
    cmp bl,5
    jbe vesna
    cmp bl,8
    jbe leto
    cmp bl,11
    jbe osen
;--------------Выводим сообщение на экран-------------- 
zima:   lea dx, zima_message
        jmp vivod
 
vesna:  lea dx, vesna_message
        jmp vivod
    
leto:   lea dx, leto_message
        jmp vivod
 
osen:   lea dx, osen_message
        jmp vivod
vivod:  mov ah,9
        int 21h
    
    mov ax, 4c00h ;функция завершения программы
    int 21h ;завершаем программу
code ends ;конец сегмента кода
end start ;конец программы с точкой входа start

Решение задачи: «По введенному номеру месяца вывести время года»

textual
Листинг программы
jmp m1 ;безусловный переход на метку m1 
mov dl, '$' ;данная команда не будет выполнена 
m1: mov dh, 100 ;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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