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

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

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

    
        title adr.exe
    code    SEGMENT
    assume cs:code, ds:code
    start: mov  ax,code ;инициализация
        mov ds,ax       ;регистра ds
    mov ah,9        ;вывод
    lea dx,a        ;старого
    int 21h     ;значения а
    ;-----копирование байта -----------
    mov bx,offset a
    mov si,0
    mov al,[bx+si+4] ;способ адресации для mov
    mov a,al
    ;-----переход----------------------
    mov bx,offset c     ;переход на вывод
    jmp [bx]        ;нового значения а
    ;-----область данных---------------
    a   db  'a',13,10,'$'
    b   db  'b',13,10,'$'
    c   dw  $+2     ;указывает на следующее слово
    ;вывод нового значения а-----------
    mov ah,9
    lea dx,a        ;вывод а
    int 21h
    mov ax,4c00h    ;выход
    int 21h
    code    ENDS
    end start
Как осуществить копирование байтов с помощью регистрового метода ,а не базово-индексного относительного? т.е Пример: mov bl,al и в итоге второй вывод вывел бы b ,а не a как сейчас

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

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

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

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

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


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

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

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