Вывод русского текста в консоли - Assembler

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

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

Листинг программы
  1. model small
  2. stack 256
  3. .data
  4. match db 0ah,0dh,'PASSWORD IS OK','$'
  5. failed db 0ah,0dh,'PASSWORD IS NOT CORRECT','$'
  6. string1 db 07Fh,071h,06Dh,067h,060h,07Bh,064h,'$'
  7. string2 db 10
  8. string db 'Введите пароль:','$'
  9. .code
  10. assume ds:@data,es:@data
  11. main:
  12. mov ax,@data
  13. mov ds,ax
  14. mov es,ax
  15. ;выводим приглашение ко вводу пароля
  16. mov ah,09h
  17. lea dx,string
  18. int 21h
  19. ;запрашиваем символы с клавиатуры
  20. lea dx,string2-2
  21. mov ah,0Ah
  22. int 21h
  23. ;производим расшифровку пароля
  24. mov si,0
  25. mov cx,7
  26. ll:
  27. xor string1[si],34h
  28. inc si
  29. loop ll
  30. ;процедура проверки правельности пароля
  31. cld
  32. lea si,string1
  33. lea di,string2
  34. mov cx,7
  35. cycl:
  36. repe cmps string1,string2
  37. jcxz equal ; если совподают
  38. jne not_match
  39. equal: ;если пароль верный
  40. mov ah,09h
  41. lea dx,match
  42. int 21h
  43. jmp exit
  44. not_match: ;если пароль не верный
  45. mov ah,09h
  46. lea dx,failed
  47. int 21h
  48. jmp exit
  49. jmp cycl
  50. exit:
  51. mov ax,4c00h
  52. int 21h
  53. end main

Решение задачи: «Вывод русского текста в консоли»

textual
Листинг программы
  1. CSEG segment
  2. org 100h
  3.  
  4.  Begin:
  5.  
  6.    mov ah,9
  7.    mov dx,offset Message
  8.   int 21h
  9.    int 20h
  10.  Message db 'Hello, world!$'  
  11. CSEG ends
  12.  end Begin

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

  1. Объявление сегмента CSEG
  2. Установка сегмента на 100h
  3. Начало программы (label Begin)
  4. Передача в регистр AH 9 (код функции вывода строки)
  5. Передача в регистр DX смещения Message (начало строки для вывода)
  6. Вызов прерывания 21h (int 21h) для вывода строки
  7. Вызов прерывания 20h (int 20h) для завершения работы программы
  8. Объявление строки Message (db 'Hello, world!$')

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


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

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

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

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

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

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