Answer the question
In order to leave comments, you need to log in
Arrays. How to modify the program code?
There is a code where all negative array elements are replaced with zeros:
TITLE Prog3_2a ;название программы
.MODEL small ;отводим под стек и под данные по 64Кб
.STACK 100h ;отмечаем начало сегмента стека
.DATA ;отмечаем начало сегмента данных
A DW -5, 3, 9, -4, 5 ;описание массива из 5 элементов
.CODE ;отмечаем начало сегмента кодов
main PROC
mov AX, @data ;копируем адрес
mov DS, AX ;сегмента данных
mov SI, OFFSET A ;заносим в SI начало массива А
mov CX, 4 ;в СХ заносим количество итераций
cld ;устанавливаем прямой порядок обработки массива
mov AX, [SI]
L3:
and AX, 8000h
cmp AX, 8000h
jnz L2 ;проверка на знак, если отриц. то
mov AX, 0
mov [SI], AX
L2:
inc SI ;сдвигаемся по массиву к следующему
inc SI ;элементу
mov AX,[SI] ;заносим в АХ текущий элемент массива
loop L3 ;циклически повторяем все действия
mov AX,4C00h ;выход
int 21h ;из программы
main ENDP
END main
Answer the question
In order to leave comments, you need to log in
TITLE Prog3_2a ;название программы
.MODEL small ;отводим под стек и под данные по 64Кб
.STACK 100h ;отмечаем начало сегмента стека
.DATA ;отмечаем начало сегмента данных
A DW -5, 3, 9, -4, 5 ;описание массива из 5 элементов
.CODE ;отмечаем начало сегмента кодов
main PROC
mov AX, @data ;копируем адрес
mov DS, AX ;сегмента данных
mov SI, OFFSET A ;заносим в SI начало массива А
mov CX, 4 ;в СХ заносим количество итераций
cld ;устанавливаем прямой порядок обработки массива
mov AX, [SI]
xor BX, BX
L3:
and AX, 8000h
cmp AX, 8000h
jnz L2 ;проверка на знак, если отриц. то
mov AX, 0
mov [SI], AX
inc BX
L2:
inc SI ;сдвигаемся по массиву к следующему
inc SI ;элементу
mov AX,[SI] ;заносим в АХ текущий элемент массива
loop L3 ;циклически повторяем все действия
;Тут в BX - количество положительных элементов массива (если 0 считать положительным)
mov AX,4C00h ;выход
int 21h ;из программы
main ENDP
END main
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question