Копирование байтов - Assembler

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

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

Листинг программы
  1. title adr.exe
  2. code SEGMENT
  3. assume cs:code, ds:code
  4. start: mov ax,code ;инициализация
  5. mov ds,ax ;регистра ds
  6. mov ah,9 ;вывод
  7. lea dx,a ;старого
  8. int 21h ;значения а
  9. ;-----копирование байта -----------
  10. mov bx,offset a
  11. mov si,0
  12. mov al,[bx+si+4] ;способ адресации для mov
  13. mov a,al
  14. ;-----переход----------------------
  15. mov bx,offset c ;переход на вывод
  16. jmp [bx] ;нового значения а
  17. ;-----область данных---------------
  18. a db 'a',13,10,'$'
  19. b db 'b',13,10,'$'
  20. c dw $+2 ;указывает на следующее слово
  21. ;вывод нового значения а-----------
  22. mov ah,9
  23. lea dx,a ;вывод а
  24. int 21h
  25. mov ax,4c00h ;выход
  26. int 21h
  27. code ENDS
  28. end start
Как осуществить копирование байтов с помощью регистрового метода ,а не базово-индексного относительного? т.е Пример: mov bl,al и в итоге второй вывод вывел бы b ,а не a как сейчас

Решение задачи: «Копирование байтов»

textual
Листинг программы
  1. mov al,b
  2. mov a,al

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

  1. mov al,b - Перемещение байта из памяти в регистр al
  2. mov a,al - Перемещение регистра al в аккумулятор (a)

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


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

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

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

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

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

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