Для массивов A[N], B[N] из элементов типа целое 8-ми разрядное со знаком, сформировать массив C[i]=A[i]-B[i] - Assembler

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

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

Заданы массивы A[N], B[N] из элементов типа short integer (целое 8-ми разрядное со знаком) составить программу, формирующую массив C[N] из разности элементов массивов A и B. C[i]=A[i]-B[i]. Помогите с программой пожалуйста

Решение задачи: «Для массивов A[N], B[N] из элементов типа целое 8-ми разрядное со знаком, сформировать массив C[i]=A[i]-B[i]»

textual
Листинг программы
.model small
.386
 
.data
A db -23,87,37,95,72
B db 15,68,-29,77,46
N equ $-B
C db N dup(?)
 
.stack 
db 255 dup(?)
 
.code
start:
mov ax,@data
mov ds,ax
mov es,ax
 
xor si,si
lea di,C
mov cx,N
action:
mov al,byte ptr A[si]
 
sub al,byte ptr B[si]
 
stosb
 
inc si
loop action
 
mov ah,4Ch
mov al,00h
int 21h
end start

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

  1. Устанавливаются сегменты данных и стека
  2. Инициализируются регистры
  3. Задается начальное значение счётчика (N)
  4. Определяется начальный адрес массива C
  5. Организуется цикл по элементам массива A и B
  6. Извлекается байт из массива A и B
  7. Выполняется вычитание A[i] - B[i] и результат записывается в C[i]
  8. Увеличивается счётчик i
  9. Цикл выполняется до тех пор, пока не будут обработаны все элементы массива
  10. Завершается выполнение программы

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

7   голосов , оценка 3.714 из 5
Похожие ответы