В массиве А(7) поставить максимальный элемент на первое место - Assembler
Формулировка задачи:
Есть поиск максимального элемента, но как поставить его на 1-е место не представляю. Помоги пожалуйста
Листинг программы
- includelib D:\asm\import32.lib
- extrn ExitProcess: proc
- .386
- .model flat,stdcall
- .data
- x dw 5,2,6,8,4,9,1
- n dw 7
- max dw ?
- .code
- begin:
- mov eax,0
- mov cx,n
- lea esi,x
- mov eax,0
- mov ax,[esi]
- m2: cmp ax,[esi]
- jge m1
- mov ax,[esi]
- m1:inc esi
- inc esi
- loop m2
- call ExitProcess
- end begin
Решение задачи: «В массиве А(7) поставить максимальный элемент на первое место»
textual
Листинг программы
- .model small
- .386
- .stack 100h
- .data
- x dw 5,2,6,8,4,9,1
- n dw 7
- max dw ?
- .code
- start:
- mov ax,@data
- mov ds,ax
- mov es,ax
- lea si,x
- mov ax,word ptr [si]
- mov cx,n
- m2:
- cmp ax,word ptr [si]
- jge m1
- mov ax,word ptr [si]
- mov di,si
- m1:
- add si,2
- loop m2
- push ax
- push di
- sub di,2
- lea si,[x+di]
- pop di
- push di
- shr di,1
- mov cx,di
- pop di
- std
- shift:
- lodsw
- stosw
- loop shift
- pop ax
- mov word ptr[x],ax
- mov ah,4Ch
- int 21h
- end start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д