Прикольный мануальчик, 3250 стр.
Интересно, кто их курит? Для меня предел был 1200 стр.
JMP Jump
JE/JZ Jump if equal/Jump if zero
JNE/JNZ Jump if not equal/Jump if not zero
JA/JNBE Jump if above/Jump if not below or equal
JAE/JNB Jump if above or equal/Jump if not below
JB/JNAE Jump if below/Jump if not above or equal
JBE/JNA Jump if below or equal/Jump if not above
JG/JNLE Jump if greater/Jump if not less or equal
JGE/JNL Jump if greater or equal/Jump if not less
JL/JNGE Jump if less/Jump if not greater or equal
JLE/JNG Jump if less or equal/Jump if not greater
JC Jump if carry
JNC Jump if not carry
JO Jump if overflow
JNO Jump if not overflow
JS Jump if sign (negative)
JNS Jump if not sign (non-negative)
JPO/JNP Jump if parity odd/Jump if not parity
JPE/JP Jump if parity even/Jump if parity
JCXZ/JECXZ Jump register CX zero/Jump register ECX zero
next instruction. Not supported in 64-bit
mode.
E9 cd JMP rel32 D Valid Valid Jump near, relative, RIP = RIP + 32-bit displacement sign extended to 64-bits
FF /4 JMP r/m16 M N.S. Valid Jump near, absolute indirect, address = zeroextended r/m16. Not supported in 64-bit mode.
FF /4 JMP r/m32 M N.S. Valid Jump near, absolute indirect, address given in r/m32. Not supported in 64-bit mode.
FF /4 JMP r/m64 M Valid N.E. Jump near, absolute indirect, RIP = 64-Bit offset from register or memory
EA cd JMP ptr16:16 D Inv. Valid Jump far, absolute, address given in operand
EA cp JMP ptr16:32 D Inv. Valid Jump far, absolute, address given in operand
FF /5 JMP m16:16 D Valid Valid Jump far, absolute indirect, address given in m16:16
FF /5 JMP m16:32 D Valid Valid Jump far, absolute indirect, address given in m16:32.
REX.W + FF /5 JMP m16:64 D Valid N.E. Jump far, absolute indirect, address given in m16:64.
пойду выкину асм и застрелюсь
ALS писал(а):пойду выкину асм и застрелюсь
Не надо, он наше все )
Пока ТС "опухлялся", я на самом деле "написал" и собрал тахометр.
Использовались куски, найденные гуглом по тому самому сочетанию "math routines"...
Точность - 5rpm, диапазон 0-9995rpm, период измерения - 1сек, в качестве датчика - оптопара от принтера, на валу - колесо о 12-ти отверстиях.
PIC16F88, асм, примерно 400 байт кода, времени на "писательство" ушел вечер, на сборку/наладку - еще один.
Angel71 писал(а):копипастить асм код в принципе ничем хорошим не грозит
Angel71 писал(а): а допустим, чем будет отличаться смена типа для одной переменной, допустим с байта на инт, которая в куче мест используется? на си может быть достаточно и правки объявление переменной. и т.д.
Angel71 писал(а):одно дело железка на тини12, совсем другое железка с 1..n ядерным армом, с десятками/сотнями метров или парой гиг озу и т.д., на котором линух или какая другая ось крутиться.
Duhas писал(а):ИМХАется мне что копипастить код в принципе ничем хорошим не грозит, даже свой собственный. исключая функции с фиксированным набором параметров вход/выход.
Да, считаю импульсы в секунду. За счет того, что в диске есть 12 отверстий, результат умножаю на 5. Это дает и нормальную скорость обновления информации на дисплее (та же самая одна секунда), и приемлемую (для меня) точность.dccharacter писал(а):А это точно период измерения или частота обновления дисплея. Если первое - то ты что делаешь, считаешь количество импульсов в секунду?
Поверьте, это все очень... эээ... малозначительные нюансы.arm-17 писал(а):ALS там для пиков куча всякой всячины,а мне надо для AVR,а информацию на LCD.У тебя один инкодер от принтера,а у меня от лифта 2-х канальный.
ALS писал(а):Да, считаю импульсы в секунду. За счет того, что в диске есть 12 отверстий, результат умножаю на 5. Это дает и нормальную скорость обновления информации на дисплее (та же самая одна секунда), и приемлемую (для меня) точность.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0