Добавить комментарии к коду. Сравнение чисел - Assembler

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

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

Здравствуйте, очередной вопрос от меня. Нужно разобрать код (добавив комментарии) Задание: Сравнение двух чисел и вывод верно или не верно выражение Если кто-то сможет - буду действительно благодарен!
Листинг программы
  1. mov ah,9
  2. lea dx,mes3
  3. int 21h
  4. mov ah,0Ah
  5. lea dx,cit1
  6. int 21h
  7. call ASCII_num
  8. mov a,al
  9. mov ah,9
  10. lea dx,mes0
  11. int 21h
  12.  
  13. ;mov ah,9
  14. lea dx,mes3
  15. int 21h
  16. mov ah,0Ah
  17. lea dx,cit1
  18. int 21h
  19. call ASCII_num
  20. mov b,al
  21. mov ah,9
  22. lea dx,mes0
  23. int 21h
  24. mov al,a
  25. mov bl,b
  26. cmp al,bl
  27. jle et1
  28. ;daca este falsa conditia
  29. mov ah,9
  30. lea dx,mes2
  31. int 21h
  32. jmp et2
  33. et1: ;daca-i adevarata conditia
  34. mov ah,9
  35. lea dx,mes1
  36. int 21h
  37. et2:
  38. mov ah,0Ah
  39. lea dx,cit0
  40. int 21h

Решение задачи: «Добавить комментарии к коду. Сравнение чисел»

textual
Листинг программы
  1. lab3 segment
  2. assume cs:lab3, ds:lab3, es:lab3, ss:lab3
  3. org 100h
  4.  
  5. begin: jmp main
  6.     mes1 db 'A<=B Verno!$'
  7.     mes2 db 'A<=B Neverno!$'
  8.     a   db  ?
  9.     b   db  ?
  10.    
  11.     cit1 label byte
  12.     max1 db 6
  13.     real1 db ?
  14.     date1 db 6 dup (0)
  15.    
  16.     cit0 label byte
  17.     max0 db 1
  18.     real0 db ?
  19.     date0 db 0
  20.    
  21.     mes0  db 0Ah,0Dh,'$'
  22.     mes3 db 'Vvedite chislo: $'
  23.    
  24.     ASCII_num proc
  25.     xor ax,ax
  26.     xor cx,cx
  27.     mov cl,real1
  28.     mov si,offset date1
  29.     xor bx,bx
  30.     mov bl,10
  31.     m_p1:
  32.         xor dx,dx
  33.         push cx
  34.         mov cl,[si]
  35.         sub cl,30h
  36.         mul bx
  37.         add ax,cx
  38.         inc si
  39.         pop cx
  40.     loop m_p1
  41.     ret
  42. ASCII_num endp
  43.  
  44.    
  45. main:
  46.     mov ah,9
  47.     lea dx,mes3
  48.     int 21h
  49.    
  50.     mov ah,0Ah
  51.     lea dx,cit1
  52.     int 21h
  53.    
  54.     call ASCII_num
  55.     mov a,al
  56.    
  57.     mov ah,9
  58.     lea dx,mes0
  59.     int 21h
  60.    
  61.    
  62.     ;mov ah,9
  63.     lea dx,mes3
  64.     int 21h
  65.    
  66.     mov ah,0Ah
  67.     lea dx,cit1
  68.     int 21h
  69.    
  70.     call ASCII_num
  71.     mov b,al
  72.    
  73.     mov ah,9
  74.     lea dx,mes0
  75.     int 21h
  76.    
  77.     mov al,a
  78.     mov bl,b
  79.    
  80.     cmp al,bl
  81.     jle et1
  82.    
  83.     ;daca este falsa conditia
  84.     mov ah,9
  85.     lea dx,mes2
  86.     int 21h
  87.     jmp et2
  88.    
  89.     et1: ;daca-i adevarata conditia
  90.     mov ah,9
  91.     lea dx,mes1
  92.     int 21h
  93.    
  94.     et2:
  95.     mov ah,0Ah
  96.     lea dx,cit0
  97.     int 21h
  98.    
  99.     ret
  100.     lab3 ends
  101.     end begin

Объяснение кода листинга программы

Список элементов кода:

  1. Комментарии к коду.
  2. Объявление переменных: a, b, real1, date1, max1, cit1, mes1, mes3, ASCII_num, main, al, bl.
  3. Процедура ASCII_num для преобразования чисел в строки.
  4. Ввод чисел с клавиатуры с помощью функции int 21h.
  5. Сравнение чисел a и b.
  6. Вывод сообщения в случае ложного сравнения чисел.
  7. Вывод сообщения в случае истинного сравнения чисел.
  8. Завершение работы программы с помощью функции ret.
  9. Конец сегмента кода lab3.

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


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

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

9   голосов , оценка 4.333 из 5

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

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

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