StoneHaos

mysist8

May 11th, 2021 (edited)
926
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. ; Установка сегмента
  20.     push sdata
  21.     pop ds
  22.     push sdata
  23.     pop es
  24.  
  25. ; Запись максимальной длины
  26.     mov al,31
  27.     mov [str1],al
  28.     mov al,127
  29.     mov [str2],al
  30.  
  31. ; Вывод сообщения о вводе строки и ввыод строки
  32.     mov dx,offset inputs1
  33.     outstr
  34.     mov dx,offset str1
  35.     mov ah,0ah
  36.     int 21h
  37.  
  38.     newline
  39.  
  40. ; Вывод сообщения о вводе строки и ввыод строки
  41.     mov dx,offset inputs2
  42.     outstr
  43.     mov dx,offset str2
  44.     mov ah,0ah
  45.     int 21h
  46.  
  47.     ; Копирование 1-й строки
  48.     xor cx,cx
  49.     mov cl,[str1+1]
  50.     mov si,offset str1
  51.     inc si
  52.     inc si
  53.     mov di,offset str3
  54.     rep movsb
  55.  
  56.     ; Копирование 2-й строки
  57.     xor bx,bx
  58.     mov bl,[str1+1]
  59.     xor cx,cx
  60.     mov cl,[str2+1]
  61.     mov si,offset str2
  62.     inc si
  63.     inc si
  64.     mov di,offset str3
  65.     add di,bx
  66.     rep movsb
  67.  
  68.     ; Запись доллара в конец
  69.     xor bx,bx
  70.     mov bl,[str1+1]
  71.     add bl,[str2+1]
  72.     mov al,24h
  73.     mov [str3+bx],al
  74.  
  75.  
  76.     newline
  77.     mov dx,offset str3
  78.     outstr
  79.  
  80.  
  81. finishprog:
  82.     finish
  83.  
  84. scode ends
  85. end start
RAW Paste Data Copied