Заменить каждый нечетный элемент массива на следующий - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д