Переставить цифры заданного числа так, чтобы получить максимальное число - Assembler
Формулировка задачи:
Здравствуйте. Помогите пожалуйста, мучаюсь несколько часов..
Вот задача:
Дано натуральное число n переставить его цифры так чтобы образовалось Максимальное число, записанное теми же цифрами.
если конкретнее нужно именно вот этот кусок кода:
но на assembler..
Листинг программы
- for j:=1 to i do //i-кол-во элементов
- for k:=j to i do
- if a[j]<a[k] then begin l:=a[j]; a[j]:=a[k]; a[k]:=l; end;
Решение задачи: «Переставить цифры заданного числа так, чтобы получить максимальное число»
textual
Листинг программы
- model tiny,pascal
- .code
- .186
- org 100h
- begin: call @@01
- call sortStr,offset dbStr,szStr
- @@01: mov ah,9
- lea dx,dbStr
- int 21h
- ret
- dbStr db '918273645463728190'
- szStr equ $-dbStr
- db 10,13,'$'
- sortStr proc a:word,b:word
- uses cx,si,di
- mov cx,b
- dec cx
- mov di,a
- @@02: mov si,di
- push cx
- lodsb
- @@03: cmp al,[si]
- ja @@04
- xchg al,[si]
- @@04: inc si
- loop @@03
- pop cx
- stosb
- loop @@02
- ret
- sortStr endp
- end begin
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д