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

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

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

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

При вводе цифры от 10 до 11 появляется надпись о том что я ввел номер зимы, а должен показать что я ввел номер осени. Вот сам код:
Листинг программы
  1. data segment ;описание сегмента данных
  2. mes db 'Enter the number of the month: $' ;сообщение - Введите номер месяца
  3. zima_message db 10, 13, 'Zima$' ;сообщение - зима
  4. vesna_message db 'Vesna$' ;сообщение - весна
  5. leto_message db 'Leto$' ;сообщение - лето
  6. osen_message db 'Osen$' ;сообщение - осень
  7. data ends ;конец сегмента данных
  8. code segment ;начало сегмента кода
  9. start: ;метка start - начало нашей программы
  10. assume cs:code, ds: data ;директива компилятора
  11. mov ax, data ;настройка сегмента данных
  12. mov ds, ax ;
  13. ;--------------Очищаем экран--------------
  14. mov ah, 0fh ;получить параметры видеорежима
  15. int 10h ;
  16. mov ah, 00 ;установить параметры видеорежима
  17. int 10h ;
  18. ;--------------Выводим сообщение на экран--------------
  19. mov ah, 9 ;функция 9 - вывод строки на экран
  20. lea dx, mes ;берём адрес строки
  21. int 21h ;вызов прерывания для вывода строки
  22. ;--------------Вводим число с клавиатуры--------------
  23. mov ah, 1 ;ввод с клавиатуры и чтение с клавиатуры
  24. int 21h ;ввод с клавиатуры и чтение с клавиатуры
  25. sub al, 30h ;переводим символ в число
  26. mov bl, al ;запоминаем первое число в bl
  27. int 21h
  28. ;--------------Проверяем введенное число--------------
  29. cmp bl,2
  30. jbe zima
  31. cmp bl,5
  32. jbe vesna
  33. cmp bl,8
  34. jbe leto
  35. cmp bl,11
  36. jbe osen
  37. ;--------------Выводим сообщение на экран--------------
  38. zima: lea dx, zima_message
  39. jmp vivod
  40. vesna: lea dx, vesna_message
  41. jmp vivod
  42. leto: lea dx, leto_message
  43. jmp vivod
  44. osen: lea dx, osen_message
  45. jmp vivod
  46. vivod: mov ah,9
  47. int 21h
  48. mov ax, 4c00h ;функция завершения программы
  49. int 21h ;завершаем программу
  50. code ends ;конец сегмента кода
  51. end start ;конец программы с точкой входа start

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

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

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


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

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

7   голосов , оценка 4.429 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы