Заменить каждый нечетный элемент массива на следующий - Assembler
Формулировка задачи:
Дан массив, состоящий из 15 элементов. Заменить каждый нечетный элемент массива на следующий. Вывести полученный массив на экран.
Решение задачи: «Заменить каждый нечетный элемент массива на следующий»
textual
Листинг программы
model tiny .code org 100h szMas equ 15 start: xor ax,ax mov es,ax mov dx,es:[46Ch] add dx,es:[46Eh] push ds pop es lea di,dwMas mov cx,15 @@01: mov ax,7 ror dx,3 and ax,dx stosw loop @@01 lea si,dwMas mov cx,szMas mov bx,10 call OutMas call Change call OutMas xor ax,ax int 16h ret OutMas: push si push cx call NewLine @@02: lodsw call OutNum loop @@02 pop cx pop si ret OutNum: push cx xor cx,cx @@03: xor dx,dx div bx push dx inc cx or ax,ax jnz @@03 mov ax,' '-'0' @@04: push ax inc cx cmp cx,5 jb @@04 @@05: pop ax add al,'0' int 29h loop @@05 pop cx ret Change: push cx push si dec cx @@06: mov ax,[si] test ax,1 jz @@07 mov ax,[si+2] mov [si],ax @@07: add si,2 loop @@06 pop si pop cx ret NewLine:mov al,10 int 29h mov al,13 int 29h ret dwMas dw szMas dup(?) end start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д