Поменять элементы в обратном порядке в массиве - Assembler
Формулировка задачи:
Ребят, очень срочно!!!!!!! ПОМОГИТЕ ПЛИИИИИЗ!!
В массиве в первой серии положительных элементов (серия – последовательность более трех подряд идущих элементов) поменять элементы в обратном порядке.
НУЖНО ОЧЕНЬ СРОЧНО!!
Решение задачи: «Поменять элементы в обратном порядке в массиве»
textual
Листинг программы
.MODEL Tiny .286 .CODE ORG 100h Start: mov si,offset array ; адрес массива cld ; прямой порядок чтения массив mov bx,ser ; кол-во серий @loop: mov cx,num ; кол-во чисел в серии @1:lodsb ; читаем первое число: al = ds:[si], si=si+1 or al,al js @no ; если отрицательное, то эта серия не подходит loop @1 ; цикл чисел в серии ; меняем местами, если все числа в серии неотрицательные mov bl,[si-3] mov [si-3],al mov [si-1],bl jmp @end ; завершаем процесс @no: dec cx add si,cx ; пропускаем оставшиеся числа текущей серии dec bx jnz @loop ; цикл серий @end: int 20h ; выход из программы num = 3 ; кол-во чисел в серии array db 1,3,-4, -17,0,5, 3,0,27, -6,99,3, 80,2,7 ser = ($-array)/num ; кол-во серий END Start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д