1. Assembler / Говнокод #1088

    +236

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    evalLOG:
    	JB kod.7, log8
    	JB kod.6, log7
    	JB kod.5, log6
    	JB kod.4, log5
    	JB kod.3, log4
    	JB kod.2, log3
    	JB kod.1, log2
    	JB kod.0, log1
    		Mov log, #0
    		JMP exiteval
    log8:
    	Mov log, #8
    	JMP exiteval
    log7:
    	Mov log, #7
    	JMP exiteval
    log6:
    	Mov log, #6
    	JMP exiteval
    log5:
    	Mov log, #5
    	JMP exiteval
    log4:
    	Mov log, #4
    	JMP exiteval
    log3:
    	Mov log, #3
    	JMP exiteval
    log2:
    	Mov log, #2
    	JMP exiteval
    log1:
    	Mov log, #1
    exiteval:
    	Ret

    Нахождение логарифма восьмибитного числа с точностью до целых на ассемблере x51.

    Запостил: guest, 25 Мая 2009

    Комментарии (6) RSS

    • небыдло:
      быдло не поняло назначение этих букв и заминусовало. К.О. негодует
      Ответить
    • Ничего не понимаю. Переведи на «x86».
      Ответить
      • показать все, что скрытоvanished
        Ответить
      • Тут только JB непонятно, какой-то условный переход. И ещё все эти kod.7 и т.п.
        Ответить
        • Похоже, что JB –— это готовый IF: CMP и условный переход в одной инструкции.

          Так и есть (все инструкции на одной странице):
          http://grantronics.com.au/docs/8051inst.pdf

          Это что-то типа BT + JNZ. Перейти, если указанный бит установлен.
          Ответить
          • 8051 –— довольно примитивный процессор, но у него много инструкций для работы с битами. Паскалевские множества реализовать проще простого.
            Ответить

    Добавить комментарий