Добавление подстроки в строку после заданного символа + перевод с Tasm на intel - Assembler

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

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

В общем, вот такое задание "В исходную строку вставить после заданного символа все символы, предшествующие ему. Оставшуюся часть строки оставить без изменения.". То есть например есть строка abcdefg и символ d, то результат должен быть abcdabcefd. Написал код, чтобы скопировать строку из конкретного числа символов ( в моем случае 4 ). Как сделать поиск определенного символа ( без ввода с клавиатуры ) и вставить в него строку? Заранее спасибо
Листинг программы
  1. data segment
  2. s1 db 'test string$'
  3. s2 db 20 dup (' '),'$'
  4. s3 db 40 dup (' '),'$'
  5. data ends
  6. code segment
  7. start:
  8. assume cs:code, ds: data
  9. mov ax, data
  10. mov ds, ax
  11. mov es, ax
  12. ; cld
  13. ; mov AL,'r'
  14. ; mov CX,20
  15. ; lea DI,s1
  16. ; repne scasb
  17. ; jnz exit
  18. ;dec DI
  19. ;exit: ret
  20. cld
  21. lea si, s1
  22. lea di, s2
  23. mov cx, 4 ; номер найденного символа
  24. rep movsb
  25. mov ah, 09
  26. lea dx, s2
  27. int 21h
  28. mov ax, 4c00h
  29. int 21h
  30. code ends
  31. end start

Решение задачи: «Добавление подстроки в строку после заданного символа + перевод с Tasm на intel»

textual
Листинг программы
  1. lea di,Строка

Объяснение кода листинга программы

  1. Переменная Строка содержит исходную строку
  2. Код выполняет следующие действия:
    • Получает адрес последней символа строки в переменной di (смещение)
    • Выполняет летучий вызов функции AddStr, передавая ей в качестве аргументов:
      • адрес последней символа строки в переменной di
      • адрес подстроки в переменной si
      • длину подстроки в переменной cx
      • адрес символа, после которого необходимо вставить подстроку, в переменной dx

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


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

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

6   голосов , оценка 3.667 из 5

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

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

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