StoneHaos

mysist8

May 11th, 2021
739
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. include io.asm
  2.  
  3. sstack segment stack
  4.     db 128 dup(?)
  5. sstack ends
  6.  
  7. sdata segment
  8.     str1 db 32 dup(?)
  9.     str2 db 128 dup(?)
  10.     str3 db 256 dup(?)
  11.     inputs1 db "Input str1>", "$"
  12.     inputs2 db "Input str2>", "$"
  13. sdata ends
  14.  
  15. scode segment
  16.     assume cs:scode, ds:sdata, ss:sstack
  17.  
  18. start:
  19.     push sdata
  20.     pop ds
  21.     push sdata
  22.     pop es
  23.     mov al,31
  24.     mov [str1],al
  25.     mov al,127
  26.     mov [str2],al
  27.  
  28.     mov dx,offset inputs1
  29.     outstr
  30.     mov dx,offset str1
  31.     mov ah,0ah
  32.     int 21h
  33.  
  34.     newline
  35.  
  36.     mov dx,offset inputs2
  37.     outstr
  38.     mov dx,offset str2
  39.     mov ah,0ah
  40.     int 21h
  41.  
  42.     ; Копирование 1-й строки
  43.     xor cx,cx
  44.     mov cl,[str1+1]
  45.     mov si,offset str1
  46.     inc si
  47.     inc si
  48.     mov di,offset str3
  49.     rep movsb
  50.  
  51.     ; Копирование 2-й строки
  52.     xor bx,bx
  53.     mov bl,[str1+1]
  54.     xor cx,cx
  55.     mov cl,[str2+1]
  56.     mov si,offset str2
  57.     inc si
  58.     inc si
  59.     mov di,offset str3
  60.     add di,bx
  61.     rep movsb
  62.  
  63.     ; Запись доллара в конец
  64.     xor bx,bx
  65.     mov bl,[str1+1]
  66.     add bl,[str2+1]
  67.     mov al,24h
  68.     mov [str3+bx],al
  69.  
  70.  
  71.     newline
  72.     mov dx,offset str3
  73.     outstr
  74.  
  75.  
  76. finishprog:
  77.     finish
  78.  
  79. scode ends
  80. end start
RAW Paste Data