Поиск в одномерном массиве - Assembler

Узнай цену своей работы

Формулировка задачи:

Никак не поддаётся. Напишите программу поиска в одномерном массиве максимального элемента и его индекса. massiv:112, -34, 124, 107, -126, 54, 108, 99, 0, -59. вывод значений в 16сс. TASM

Решение задачи: «Поиск в одномерном массиве»

textual
Листинг программы
.model small
.386
 
.data
mas db 112,-34,124,107,-126,54,108,99,0,-59
len equ $-mas
msg1 db 'max=$'
msg2 db 0Ah,0Dh,'index=$'
 
.stack 
db 256 dup(?)
 
.code
main:
mov ax,@data
mov ds,ax
 
lea si,mas+1
mov ah,byte ptr [mas]
mov cx,len
dec cx
search:
    lodsb 
    
    cmp al,ah
    jg change
 
    jmp skip
 
    change:
    mov ah,al
    mov bx,si
    dec bx
 
    skip:
loop search
 
push ax
 
mov ah,09h
lea dx,msg1
int 21h
 
pop ax
 
push bx
 
xchg ah,al
cbw
mov bx,16
get:
xor dx,dx
div bx
push dx
inc cx
or ax,ax
jnz get
 
give:
pop ax
sub ax,0
cmp ax,9
ja hex
 
des:
add ax,30h
 
jmp print
 
hex:
add ax,37h
 
print:
mov dx,ax
mov ah,02h
int 21h
loop give
 
pop bx
 
mov ah,09h
lea dx,msg2
int 21h
 
mov ah,02h
mov dx,bx
add dx,30h
int 21h
 
mov ax,4C00h
int 21h
end main

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы