Заменить в строке нечетные символы на "*" - Assembler
Формулировка задачи:
Ввести строку символьных данных, задавая буфер равный 30 байт.
Заменить в строке нечетные символы на "*"
Выдать полученную строку символов в 7 строку экрана, начиная с 7 позиции.
Можете помочь пожалуйста, совсем не доходит как здесь вывести именно чтобы нечетные символы он заменял...
nma label byte max db 30 real db ? buf db 30 dup('$') buf2 db ? chi2 db 2Ah DOD ends STO Segment Stack DB 64 DUP(?) STO ends CSC Segment PR PROC FAR ASSUME DS:DOD,CS:CSC,SS:STO PUSH DS SUB AX,AX PUSH AX mov ax,DOD mov ds,ax mov ax,0600h ;чистка экрана mov bh,07 mov cx,0000 mov dx,184fh int 10h mov ah,02 ;установка курсора mov bh,00 mov dx,0100h int 10h mov bx,0000 lea dx,nma ;ввод mov ah,0ah int 21h mov dx,0000h ;Чистим DX LEA bx,buf MOV cx,40 a2: MOV ah,[bx] jnz a3 mov ah,chi2 MOV [bx],ah a3: INC BX LOOP a2 jmp a4 mov ah,03 ;установка курсора mov bh,00 mov dx,0109h int 10h a4: lea dx,buf ;вывод mov ah,09 int 21h jmp end1 end1: ret pr endp csc ends end pr
Решение задачи: «Заменить в строке нечетные символы на "*"»
textual
Листинг программы
xor bx,bx test bx,1
Объяснение кода листинга программы
- Задается смещение для регистра bx с помощью инструкции xor bx,bx.
- Выполняется тест на нечетность значения в регистре bx с помощью инструкции test bx,1.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д