Важная информация
Показано с 1 по 4 из 4

Тема: Оптимизация кода

  1. #1 Оптимизация кода 
    Новичок
    Регистрация
    05.12.2017
    Сообщений
    1
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Задание : Даны x и y , вычислить значение z, используя процедуру :

    (x+2)2-(y-3)2,если x2-y2<2
    z=
    x2-y2-1,иначе




    Вот код моей программы :
    Assembler Code:
    1. .586
    2.  
    3. .model flat,stdcall
    4.  
    5. extern ExitProcess@4:near
    6.  
    7. includelib c:\masm32\lib\user32.lib
    8. includelib C:\masm32\lib\kernel32.lib
    9.  
    10. data segment
    11.  
    12. x DB 2
    13.  
    14. y DB 0
    15.  
    16. z DW ?
    17.  
    18. data ends
    19.  
    20.  
    21. text segment
    22. start:
    23.  
    24.     MOV AL,X
    25.     MOV CL,Y
    26.     CALL PR  
    27.  
    28.     SUB BX,AX
    29.     CMP BX ,2
    30.  
    31.     JL A1
    32.  
    33.        DEC BX
    34.  
    35.       JMP FIN
    36.  
    37.     A1:MOV AL,X
    38.        ADD AL,2
    39.        MOV CL,Y
    40.        SUB CL,3
    41.        CALL PR
    42.        SUB BX,AX
    43.  
    44.     FIN:MOV Z,BX
    45. push 0
    46. call ExitProcess@4
    47.  
    48.     PR PROC
    49.     IMUL AL
    50.     MOV BX,AX
    51.     MOV AL,CL
    52.     IMUL AL
    53.     RET
    54.  
    55.     PR ENDP
    56.       
    57.  
    58.  
    59.  
    60. text ends
    61. end start




    Вопрос:Возможно ли оптимизировать код ?
    Ответить с цитированием  
     

  2. #2  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,260
    Сказал(а) спасибо
    1,322
    Поблагодарили 721 раз(а) в 615 сообщениях
    Записей в блоге
    1
    Почему так сложно написать задание нормально? Вот смотрю на это

    Цитата Сообщение от Genrih Посмотреть сообщение
    (x+2)2-(y-3)2,если x2-y2<2
    z=
    x2-y2-1,иначе
    и ничерта не понимаю, что и где там у вас.

    По каким критериям оптимизировать? На каком процессоре? С какой целью? Итить колотить...

    Как правильно формулировать задачу, пример:

    Формула: z = x2 - y2 - 1
    Использовать 16 разрядные регистры, оптимизировать код по кол-ву тактов на семействе процессоров x386.
    Код:
    Assembler Code:
    1. MOV AX, [x]
    2. XOR DX, DX
    3. MUL AX
    4. MOV BX, AX
    5. MOV AX, [y]
    6. XOR DX, DX
    7. MUL AX
    8. ADD AX, BX
    9. DEC AX    ; результат в AX

    Переполнение при умножении в данном коде не учитывается.

    Вот так оформлять задание, а не бросать длинный говнокод и непонятную формулу, с кучей лишнего и ненужного,
    без указания компилятора.
    Последний раз редактировалось >Quiet Snow<; 06.12.2017 в 14:03.
    Бесплатный сыр - достаётся только второй мышке))) . © MusicForums
    Бог всемогущ! Да?! Сейчас проверим: сможет ли бог создать камень, который сам не сможет поднять?
    делай настолько просто, насколько возможно, но не проще! © дядя Альберт

    переводчикам нужна интеграция с кошками перевод с помощью кошек - это автоматизированный перевод, а не автоматический, в этом разница. © Andrej

    Ограниченно модерирую.
    Ответить с цитированием  
     

  3. 2 пользователя(ей) сказали cпасибо:

    Free Admin (06.12.2017), nik_1 (13.12.2017)

  4. #3  
    Профи Аватар для nik_1
    Регистрация
    03.08.2014
    Сообщений
    254
    Сказал(а) спасибо
    144
    Поблагодарили 128 раз(а) в 94 сообщениях
    Записей в блоге
    1
    Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
    Почему так сложно написать задание нормально?
    ЕСЛИ он мог бы написать задание правильно, то мог бы и найти его решение.
    Ответить с цитированием  
     

  5. 2 пользователя(ей) сказали cпасибо:

    >Quiet Snow< (13.12.2017), Free Admin (13.12.2017)

  6. #4  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,260
    Сказал(а) спасибо
    1,322
    Поблагодарили 721 раз(а) в 615 сообщениях
    Записей в блоге
    1
    Цитата Сообщение от nik_1 Посмотреть сообщение
    ЕСЛИ он мог бы написать задание правильно, то мог бы и найти его решение.
    Им дают задание, все учились, знают как оно, конец урока\пары, все ломятся, быстрее-быстрее, не успели записать и т.п..
    Разница лишь в том, что когда сам учился, не было интернета, но даже если бы он был, мне бы совесть не позволила
    выложить недописанное или криво написанное задание. А сейчас всем пофигу на совесть. Сейчас многие даже не пытаются
    решать, просто бросают на форумы(на все, что в топе гугла) и ждут реакции. Спросить у сотоварищей нормально написаное
    задание в 2017 году, когда у всех интернеты, скайпы, дискорды, интаграммы, вконтакты, твитеры, - разумеется религия
    не позволяет. Это очень плохо. Конечно понимаю, что человеку уже на другом форуме это сделали, изрядно попытав
    на предмет того, что же всё таки требуется, но это не дело. Если не говорить об этом то и будет складываться ощущение
    что всё нормально, но это нифига не нормально, это проблема современной молодёжи.
    Последний раз редактировалось >Quiet Snow<; 13.12.2017 в 17:41.
    Бесплатный сыр - достаётся только второй мышке))) . © MusicForums
    Бог всемогущ! Да?! Сейчас проверим: сможет ли бог создать камень, который сам не сможет поднять?
    делай настолько просто, насколько возможно, но не проще! © дядя Альберт

    переводчикам нужна интеграция с кошками перевод с помощью кошек - это автоматизированный перевод, а не автоматический, в этом разница. © Andrej

    Ограниченно модерирую.
    Ответить с цитированием  
     

  7. Пользователь сказал cпасибо:

    nik_1 (13.12.2017)

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Оптимизация для Гугла и Яндекса
    от Дарья Чадченко в разделе Общие вопросы оптимизации
    Ответов: 3
    Последнее сообщение: 15.11.2017, 16:11
  2. Оптимизация «по полочкам»
    от fref1 в разделе SEO новости
    Ответов: 5
    Последнее сообщение: 06.11.2017, 12:22
  3. Ответов: 0
    Последнее сообщение: 21.05.2017, 00:51
  4. Оптимизация JavaScript и CSS-файлов
    от Fantom в разделе Внутренняя оптимизация
    Ответов: 1
    Последнее сообщение: 28.08.2012, 18:09
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •