Сравнить 2 цифры первой строки с двумя цифрами второй строки - Assembler

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

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

Всем привет У меня есть программа на языке Ассемблер, в которой пользователь вводит две строки по 20 цифр, программа сравнивает 2 цифры первой строки с двумя цифрами второй строки и выводит результат: в группе, у которых цифры совпали - цифры первой строки; в группе, у которых не совпали - нули. Необходимо поменять программу так, чтобы записывались в результат цифры первой строки еще и в том случае, когда левая цифра каждой группы первой строки больше правой цифры каждой группы второй строки. Подскажите пожалуйста

Решение задачи: «Сравнить 2 цифры первой строки с двумя цифрами второй строки»

textual
Листинг программы
  1. sts     SEGMENT PARA STACK 'Stack'
  2.         DW      32 DUP (?)
  3. sts     ENDS
  4.  
  5. data    SEGMENT
  6. mes1    db 'Enter',0Ah,0Dh,'$'
  7. mes2    db '1st',0Ah,0Dh,'$'
  8. mes3    db 10,13,'2nd',0Ah,0Dh,'$'
  9. mes4    db 10,13,'Rezult ',0Ah,0Dh,'$'
  10. famm    db 21,?
  11. fam     dw 10 dup (?)
  12. tabss   db 21,?
  13. tabs    dw 10 dup (?)
  14. dim     dw 10 dup (?)
  15. data    ends
  16.  
  17. text  SEGMENT
  18.       assume    CS:text, DS:data, SS:sts
  19. main  proc      far
  20. ;-----Block 1-----------
  21.       push      DS
  22.       xor       AX,AX
  23.       push      ax
  24. ;-----Block 2-----------
  25.       mov       ax,data
  26.       mov       DS,AX
  27. ;-----Block 3-----------
  28.       lea       DX,mes1
  29.       mov       AH,09h
  30.       int       21h
  31. ;-----Block 4-----------
  32.       lea       DX,mes2
  33.       mov       AH,09h
  34.       int       21h
  35. ;-----Block 5-----------
  36.       lea       DX,tabss
  37.       mov       AH,0Ah
  38.       int       21h
  39. ;-----Block 6-----------
  40.       lea       DX,mes3
  41.       mov       AH,09h
  42.       int       21h
  43. ;-----Block 7-----------
  44.       lea       DX,famm
  45.       mov       AH,0Ah
  46.       int       21h
  47. ;-----Block 8-----------
  48.       mov       SI,0
  49.       lea       DI,dim
  50.       mov       CX,10
  51. ;-----Block 9-----------
  52. M1:
  53.       mov       AX,tabs[SI]
  54.       mov       bx,fam[SI]
  55.       cmp       AX,BX
  56.       je        Equal
  57.       mov       AX,3030h
  58. Equal:
  59.       mov       [DI],AX
  60.       add       SI,2
  61.       add       DI,2
  62.       loop      M1
  63. ;-----Block 10----------
  64.       mov       CH,0
  65.       mov       CL,0
  66.       mov       DH,25
  67.       mov       DL,80
  68.       mov       BH,07
  69.       mov       AH,06
  70.       mov       AL,0
  71.       int       10h
  72. ;-----Block 11----------
  73.       mov       AH,02
  74.       mov       BH,0
  75.       mov       DX,0
  76.       int       10h
  77. ;-----Block 12----------
  78.       lea       DX,mes4
  79.       mov       AH,09
  80.       int       21h
  81. ;-----Block 13----------
  82.       mov       CX,5
  83.       mov       SI,0
  84. M2:
  85.       push      CX
  86.       mov       AX,dim[SI]
  87.       mov       BL,04h
  88.       call      print
  89.       mov       AX,dim[SI+2]
  90.       mov       BL,10h
  91.       call      print
  92.       pop       CX
  93.       add       SI,4
  94.       loop      M2
  95. ;-----------------------
  96.       ret
  97. main  endp
  98. ;=======================
  99. print proc
  100. ;-----Block 14----------
  101.       push      AX
  102. ;-----Block 15----------
  103.       mov       AH,09
  104.       mov       BH,0
  105.       mov       CX,1
  106.       int       10h
  107. ;-----Block 16----------
  108.       mov       AH,03
  109.       mov       BH,0
  110.       int       10h
  111. ;-----Block 17----------
  112.       add       DL,1
  113.       mov       AH,02
  114.       mov       BH,0
  115.       int       10h
  116. ;-----Block 18----------
  117.       pop       AX
  118.       xchg      AH,AL
  119. ;-----Block 19----------
  120.       mov       AH,09
  121.       mov       CX,1
  122.       int       10h
  123. ;-----Block 20----------
  124.       mov       AH,03
  125.       mov       BH,0
  126.       int       10h
  127. ;-----Block 21----------
  128.       add       DL,2
  129.       mov       AH,02
  130.       mov       BH,0
  131.       int       10h
  132. ;-----------------------
  133.       ret
  134. print endp
  135. text  ends
  136.       end main

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


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

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

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

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

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

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