Пример арифметической команды: Операция сложения может быть выполнена одной из следующих команд:
ADD A,7Fh
ADD A,@R0
ADD A,R7
ADD A,#127
Все арифметические инструкции выполняются за 1 машинный цикл за исключением команды INC DPTR, - требующей 2 машинных циклов, а также операций умножения и деления, выполняемых за 4 машинных цикла. Любой байт во внутренней памяти данных может быть инкрементирован и декрементирован без использования аккумулятора.
Инструкция MUL AB производит умножение данных в аккумуляторе на данные, находящиеся в регисте B, помещая поризведение в регистры A (младшая половина) и B (старшая половина).
Инструкция DIV AB делит содержимое аккумулятора на значение в регистре B, оставляяя остаток в B, а частное в аккумуляторе.
Инструкция DA A предназначена для двоично-десятичных арифметических операций. Она не делает преобразования двоичного числа в двоично-десятичное, а лишь обеспечивает правильный результат при сложении 2-х двоично-десятичных чисел.
Пример логической команды: Опреция логического И может быть выполнена одной из следующих команд:
ANL A,7Fh
ANL A,@R1
ANL A,R6
ANL A,#53h
Все логические операции над содержимым аккумулятора выполняются за один машинный цикл, остальные - за 2. Логические операции могут производиться над любым из нижних 128 байтов внутренней памяти данных или над любым регистром SFR в режиме прямой адресации без использования аккумулятора.
Операции циклического сдвига (RL A, RLC A и т.д.) перемещают содержимое аккумулятора на 1 бит вправао или влево. В случае левого циклического сдвига младший бит перемещается в старшую позицию. В случае правого циклического сдвига происходит обратное.
Опреция SWAP A осуществляет обмен младшей и старшей тетрад в аккумуляторе.