Главная  Микроконтроллеры 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [ 32 ] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

В¥ТЕ4(выражение) - возвращает 4 байта выражения; LWRD(вьфaжeниe) - возвращает биты О-15 выражения; HWRD(выpaжeниe) - возвращает биты 16-31 выражения; РАОЕ(вьфажение) - возвращает биты 16-21 выражения; ЕХР2(выражение) - возвращает 2 вьфажения; Ш02(вьфажение) - возвращает целую часть 1о§2(выражение).

Операции

Ассемблер поддерживает различные операторы, описанные ниже. При их использовании можно применять скобки.

Логическое НЕ

1 Обозначение: !

Описание: унарный оператор, возвращает 1, если выражение равно нулю, и О, если выражение было не равно нулю.

Приоритет: 14.

Пример: Idl r16,!0xf0 ; Загрузить в г16 0x00

Побитовое НЕ

Обозначение: ~

Описание: унарный оператор, который возвращаает исходное выражение со всеми инвертированными битами. Приоритет: 14.

Пример: Idi ne.OxfO ; Загрузить в г16 OxOf

Унарный минус

Обозначение: -

Описание: возвращает число с измененным на противоположный знаком.

Умножение

Обозначение: *

Описание: возвращает результат умножения двух чисел. Приоритет: 13. I Пример: Idi гЗО,1аЬе1*2 ; Загрузить в регистр гЗО ГаЬеЬг

I Деление

[ Обозначение: /



Описание: возвращает целую часть от деления левого параметра на правый.

Приоритет: 13. I

Пример: Idi гЗО, label/2 ; Загрузить в регистр гЗО label/2 i

Сложение ;

Обозначение: +

Описание: возвращает сумму двух чисел. Приоритет: 12.

Пример: Idi г30,с1+с2 ; Загрузить в регистр гЗО с1+с2

Вычитание

Обозначение: -

Описание: возвращает результат вычитания правого числа из левого. Приоритет: 12.

Пример: Idi r17,c1-c2 ; Загрузить в регистр гЗО с1-с2

Сдвиг влево

Обозначение: «

Описание: возвращает значение левого числа, сдвинутое влево на число раз, равное правому числу. Приоритет: И.

Пример: Idi r17,1«3 ; Загружает в регистр г17 число 1, ; сдвинутое влево на 3 бита

Сдвиг вправо

Обозначение:»

Описание: возвращает значение левого числа, сдвинутое вправо на число раз, равное правому числу. Приоритет: И.

Пример: Idi r17,1»2 ; Загружает в регистр г17 число 1, ; сдвинутое вправо на 2 бита

Меньше

Обозначение: <

Описание: возвращает 1, если первое число меньше второго, иначе-О.

Приоритет: 10.

Пример: ori rl8,bitmask.(c1<c2)»-1



Меньше или равно

Обозначение: <=

Описание: возвращает 1, если первое число меньще второго или равно ему, иначе - 0.

Приоритет: 10. 1* Пример: orl r18,bitmasl<*(c1<=c2)+1

]. Больше

Обозначение: >

( Описание: возвращает 1, если первое число больще второго, ина-Че -0.

Приоритет: 10. .

Пример: ori r18,bitmasl<*(c1>c2)+1

Больше или равно

г Обозначение: >=

Описание: возвращает 1, если первое число больще второго или равно ему, иначе - 0. Приоритет: 10.

Пример: ori r18,bitmasl<«(c1>=c2)+1 Равно

Обозначение: =

Описание: возвращает 1, если первое число равно второму, иначе-О.

Приоритет: 9

Пример: andi rl9, bitmask«(c1==c2)+1

Не равно

Обозначение: !=

Описание: возвращает 1, если первое число не равно второму, иначе - 0.

Приоритет: 9. . Пример: .SET flag=(c1!=c2)

Побитовое И

Обозначение: &

Описание: возвращает результат побитной операции «И» между операндами.-



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [ 32 ] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

0.0008