Поиск:

Ответ в темуСоздание новой темы Создание опроса
> поиск максимума, проблема в коде 
:(
    Опции темы
serega721
Дата 18.5.2010, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 15.5.2010

Репутация: нет
Всего: нет



Не пойму в чем проблема необходимо найти максимальный элемент среди трех заданных чисел
Код



Title    Karkas
;=====================================
StackSG    segment    para STACK 'Stack'  ; Stack segment

    dw    1024    dup (?)

StackSG    Ends
;=====================================
DataSG    Segment para 'Data'    ; Data segment
a dw 100
b dw 101
c dw 200
k1 dw 795
k2 dw 1000
k3 dw 26
max dw ?
max1 dw ?   
max2 dw ?
max3 dw ?
 
 

 
DataSG Ends
;=====================================
   CodeSG    Segment    para 'Code' ; Code segment
  
        BEGIN    proc    far 
    assume    ss:StackSG,cs:CodeSG,ds:DataSG 
    push    ds
    sub    ax,ax
    push    ax
    mov    ax, DataSG
    mov    ds, ax
        
       

;--------------------------------------          
; PROGRAM 
                                                                                
mov ax,a
mov bx,k1
mul bx
add max1,ax 

mov ax,b
mov bx,k2
mul bx
add max2,ax

mov ax,c
mov bx,k3
mul bx
add max3,ax

cmp ax,max1
jle m1
mov max,0

cmp ax,max2
jle m1
mov ax,max

cmp ax,max3
jle m1
mov ax,max                                                 
      
                                
                                    
                                    
                                    
























































































   

  










;--------------------------------------
    ret
BEGIN    endp

CodeSG    Ends

    END    BEGIN
PM MAIL   Вверх
iff
Дата 18.5.2010, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 4
Всего: 16



Найти максимум среди нескольких чисел:
Код

quantity_nombers equ 3
dat_mass label word
dat_1 dw 56
dat_2 dw -6
dat_3 dw 7000
max dw 7FFFH

;             ...

lea di, dat_mass
mov cx, quantity_nombers
a10: mov ax, [di]
cmp ax, max
jle a20
mov max, ax
a20: inc di
inc di
loop a10


Добавлено через 5 минут и 27 секунд
Т.к. элементов не много в вышем случае (3), то можно "развернуть" цикл, если нужна большая скорость

Добавлено через 7 минут и 19 секунд
П.С. Пользуйтесь тегом код, пустые строки удаляйте


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0392 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.