Advertisement
Guest User

myprog

a guest
Nov 7th, 2018
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. assume cs: code, ds: data
  2.  
  3. data segment
  4. str1 db 10, 9 dup (0)
  5. str2 db 10, 9 dup (0)
  6. ennd db 0dh,0ah, '$'
  7. res db 10, 9 dup (0)
  8. data ends
  9.  
  10. code segment
  11.  
  12. calc proc
  13.     push bp
  14.     mov bp, sp
  15.     mov ax, [bp+4]
  16.     mov bx, [bp+6]
  17.  
  18.    
  19.  
  20. calc endp
  21.  
  22. start:
  23.     mov ax, data
  24.     mov ds, ax
  25.     mov dx, offset str1 ; в dx перемещаем адрес строки
  26.     mov si, dx
  27.     mov ax, 0
  28.     mov ah, 0Ah ; ввод
  29.     int 21h
  30.  
  31.     mov dx, offset ennd ; кинули в конец строки EOL
  32.     ;mov dx, offset wh
  33.     mov ah, 09h ; вывод
  34.     int 21h
  35.  
  36.     mov dx, offset str2 ; в dx перемещаем адрес строки
  37.     mov si, dx
  38.     mov ah, 0Ah ; ввод
  39.     int 21h
  40.  
  41.     mov dx, offset ennd ; кинули в конец строки EOL
  42.     ;mov dx, offset wh
  43.     mov ah, 09h ; вывод
  44.     int 21h
  45.  
  46.     push ah, 0
  47.     mov si, offset str1
  48.     mov bl, [si+1] ;n1
  49.     mov di, offset str2
  50.     mov bh, [di+1] ; n2
  51.     cmp bl, bh
  52.     jge aa   ;n1 >= n2
  53.     mov cl, bh
  54. setIter:
  55.     mov cl, bl
  56.     mov dl, 1 ; count
  57.     mov dh, 0
  58.  
  59.     add si, bl ;последний эл-т str1
  60.     add di, bh ;последний эл-т str2
  61.  
  62. oops:
  63.     inc dl ;count
  64.     mov al, [si]
  65.     mov bl, [di]
  66.     sub al, 30h
  67.     sub bl, 30h
  68.     push ax
  69.     push bx
  70.     call calc
  71.     pop ax ;рез сложения
  72.     mov res[dl]
  73.     loop oops
  74.  
  75.     mov dx, offset res
  76.     mov ah, 09h
  77.     int 21
  78.  
  79.     mov ah, 4ch
  80.     int 21h
  81.     code ends
  82.     end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement