Заменить в строке нечетные символы на "*" - Assembler

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

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

Ввести строку символьных данных, задавая буфер равный 30 байт. Заменить в строке нечетные символы на "*" Выдать полученную строку символов в 7 строку экрана, начиная с 7 позиции. Можете помочь пожалуйста, совсем не доходит как здесь вывести именно чтобы нечетные символы он заменял...
Листинг программы
  1. nma label byte
  2. max db 30
  3. real db ?
  4. buf db 30 dup('$')
  5. buf2 db ?
  6. chi2 db 2Ah
  7. DOD ends
  8. STO Segment Stack
  9. DB 64 DUP(?)
  10. STO ends
  11. CSC Segment
  12. PR PROC FAR
  13. ASSUME DS:DOD,CS:CSC,SS:STO
  14. PUSH DS
  15. SUB AX,AX
  16. PUSH AX
  17. mov ax,DOD
  18. mov ds,ax
  19. mov ax,0600h ;чистка экрана
  20. mov bh,07
  21. mov cx,0000
  22. mov dx,184fh
  23. int 10h
  24. mov ah,02 ;установка курсора
  25. mov bh,00
  26. mov dx,0100h
  27. int 10h
  28. mov bx,0000
  29. lea dx,nma ;ввод
  30. mov ah,0ah
  31. int 21h
  32. mov dx,0000h ;Чистим DX
  33. LEA bx,buf
  34. MOV cx,40
  35. a2:
  36. MOV ah,[bx]
  37. jnz a3
  38. mov ah,chi2
  39. MOV [bx],ah
  40. a3:
  41. INC BX
  42. LOOP a2
  43. jmp a4
  44. mov ah,03 ;установка курсора
  45. mov bh,00
  46. mov dx,0109h
  47. int 10h
  48. a4: lea dx,buf ;вывод
  49. mov ah,09
  50. int 21h
  51. jmp end1
  52.  
  53. end1: ret
  54. pr endp
  55. csc ends
  56. end pr

Решение задачи: «Заменить в строке нечетные символы на "*"»

textual
Листинг программы
  1. xor   bx,bx
  2. test bx,1

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

  1. Задается смещение для регистра bx с помощью инструкции xor bx,bx.
  2. Выполняется тест на нечетность значения в регистре bx с помощью инструкции test bx,1.

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


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

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

10   голосов , оценка 4 из 5

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

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

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