Для массивов 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
Объяснение кода листинга программы
- Устанавливаются сегменты данных и стека
- Инициализируются регистры
- Задается начальное значение счётчика (N)
- Определяется начальный адрес массива C
- Организуется цикл по элементам массива A и B
- Извлекается байт из массива A и B
- Выполняется вычитание A[i] - B[i] и результат записывается в C[i]
- Увеличивается счётчик i
- Цикл выполняется до тех пор, пока не будут обработаны все элементы массива
- Завершается выполнение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д