Замена нулей и единиц на буквы А и Б - Assembler

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

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

исходник таков, нужно преобразовать программу в такую, чтоб пользователь вводил нули и единицы, а они заменялись на А и Б
Листинг программы
  1. stacksg segment para stack 'stack'
  2. db 64 dup(?)
  3. stacksg ends
  4. datasg segment para 'DATA'
  5. string db 10,12 dup(' ')
  6. datasg ends
  7. codesg segment para 'CODE'
  8. assume cs:codesg, ds:datasg, ss:stacksg
  9. entry proc far
  10. push ds
  11. sub ax,ax
  12. push ax
  13. mov ax, datasg
  14. mov ds, ax
  15. mov ah, 10
  16. lea dx, string
  17. int 21h
  18. mov si,2
  19. sub cx,cx
  20. mov cl, string+1
  21. m1:mov al,string[si]
  22. cmp al,'A' ; < 'A'?
  23. jb next1
  24. cmp AL, 'z';>'z' ?
  25. ja next1
  26. cmp al,'a' ; < 'a'?
  27. jb mark1
  28. xor al,00100000B
  29. mov str[si],AL
  30. jmp short next1
  31. mark1: or al, 00100000B
  32. mov str[si],al
  33. next1: inc si
  34. loop m1
  35. print1:
  36. mov ah, 09h
  37. lea dx,string
  38. sub bx,bx
  39. mov bl,string+1
  40. mov string[bx+2], '$'
  41. mov string, 0Ah
  42. mov string+1, 0Dh
  43. int 21h
  44. ret
  45. entry endp
  46. codesg ends
  47. end entry
сообразил сам, может кому пригодится )
Листинг программы
  1. stacksg segment para stack 'stack'
  2. db 64 dup(?)
  3. stacksg ends
  4. datasg segment para 'DATA'
  5. string db 10,12 dup(' ')
  6. datasg ends
  7. codesg segment para 'CODE'
  8. assume cs:codesg, ds:datasg, ss:stacksg
  9. entry proc far
  10. push ds
  11. sub ax,ax
  12. push ax
  13. mov ax, datasg
  14. mov ds, ax
  15. mov ah, 10
  16. lea dx, string
  17. int 21h
  18. mov si,2
  19. sub cx,cx
  20. mov cl, string+1
  21. m1:mov al,string[si]
  22. cmp al,'1'
  23. je next1
  24. cmp al,'0'
  25. je next2
  26. next1:
  27. mov string[si], 'К'
  28. jmp afg
  29. next2:
  30. mov string[si], 'и'
  31. afg:
  32. inc si
  33. loop m1
  34. print1:
  35. mov ah, 09h
  36. lea dx,string
  37. sub bx,bx
  38. mov bl,string+1
  39. mov string[bx+2], '$'
  40. mov string, 0Ah
  41. mov string+1, 0Dh
  42. int 21h
  43. ret
  44. entry endp
  45. codesg ends
  46. end entry

Решение задачи: «Замена нулей и единиц на буквы А и Б»

textual
Листинг программы
  1. jmp next2

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


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

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

7   голосов , оценка 4.143 из 5

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

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

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