KlimTheGreat

Assembler LABA_4

Dec 7th, 2021 (edited)
914
135 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ORG 100h
  2.        
  3. code SEGMENT
  4.     assume CS::code, DS::data
  5.                
  6. ; ввод строк
  7. LEA DX, in_1
  8. MOV AH, 0ah
  9. INT 21h
  10.  
  11. MOV BH, 0
  12. MOV AH, 03
  13. INT 10h
  14. INC DH
  15. MOV DL, 0
  16. MOV AH, 02h
  17. INT 10h
  18.  
  19. LEA DX, in_1
  20. MOV AH, 0ah
  21. INT 21h  
  22.  
  23. MOV BH, 0
  24. MOV AH, 03
  25. INT 10h
  26. INC DH
  27. MOV DL, 0
  28. MOV AH, 02h
  29. INT 10h
  30.  
  31. ; сравнение строк
  32. MOV CX, 80  
  33. LEA BX, in_1 + 2    
  34. XOR SI, SI
  35. compare:
  36.     MOV AL, BX + SI
  37.     PUSH BX
  38.     LEA BX, in_2 + 2
  39.     MOV DL, BX + SI
  40.     POP BX
  41.     CMP AL, DL
  42.     JE next
  43.     JMP exit_no
  44.     next:    
  45.     INC SI  
  46. LOOP compare
  47.  
  48. ; если равны
  49. MOV     AX, 0b800h
  50. MOV     DS, AX
  51.  
  52.  
  53. MOV [00h], 'Д'
  54. MOV [02h], 'А'
  55.  
  56. JMP exit_yes
  57.  
  58. ; если не равны
  59. exit_no:    
  60.     MOV     AX, 0b800h
  61.     MOV     DS, AX
  62.    
  63.    
  64.     MOV [00h], 'Н'
  65.     MOV [02h], 'Е'
  66.     MOV [04h], 'Т'
  67.  
  68. exit_yes:
  69.     ; нажмите любую кнопку
  70.     MOV AH, 0
  71.     INT 16h
  72.  
  73.          
  74.          
  75. RET
  76.  
  77. code ENDS
  78.  
  79. data SEGMENT
  80. in_1 DB 80, ?, 82 dup (?)
  81. in_2 DB 80, ?, 82 dup (?)    
  82. data ENDS
RAW Paste Data