Замена нулей и единиц на буквы А и Б - Assembler
Формулировка задачи:
исходник таков, нужно преобразовать программу в такую, чтоб пользователь вводил нули и единицы, а они заменялись на А и Б
stacksg segment para stack 'stack' db 64 dup(?) stacksg ends datasg segment para 'DATA' string db 10,12 dup(' ') datasg ends codesg segment para 'CODE' assume cs:codesg, ds:datasg, ss:stacksg entry proc far push ds sub ax,ax push ax mov ax, datasg mov ds, ax mov ah, 10 lea dx, string int 21h mov si,2 sub cx,cx mov cl, string+1 m1:mov al,string[si] cmp al,'A' ; < 'A'? jb next1 cmp AL, 'z';>'z' ? ja next1 cmp al,'a' ; < 'a'? jb mark1 xor al,00100000B mov str[si],AL jmp short next1 mark1: or al, 00100000B mov str[si],al next1: inc si loop m1 print1: mov ah, 09h lea dx,string sub bx,bx mov bl,string+1 mov string[bx+2], '$' mov string, 0Ah mov string+1, 0Dh int 21h ret entry endp codesg ends end entry
сообразил сам, может кому пригодится )
stacksg segment para stack 'stack' db 64 dup(?) stacksg ends datasg segment para 'DATA' string db 10,12 dup(' ') datasg ends codesg segment para 'CODE' assume cs:codesg, ds:datasg, ss:stacksg entry proc far push ds sub ax,ax push ax mov ax, datasg mov ds, ax mov ah, 10 lea dx, string int 21h mov si,2 sub cx,cx mov cl, string+1 m1:mov al,string[si] cmp al,'1' je next1 cmp al,'0' je next2 next1: mov string[si], 'К' jmp afg next2: mov string[si], 'и' afg: inc si loop m1 print1: mov ah, 09h lea dx,string sub bx,bx mov bl,string+1 mov string[bx+2], '$' mov string, 0Ah mov string+1, 0Dh int 21h ret entry endp codesg ends end entry
Решение задачи: «Замена нулей и единиц на буквы А и Б»
textual
Листинг программы
jmp next2
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д