По введенному номеру месяца вывести время года - 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 ;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д