SAL Арифметичний зсув вліво Програмування, уроки та приклади

Programm.ws - це сайт, на якому ви можете почитати літературу з мов програмування, а також подивитися приклади працюючих програм на С++, асемблері, паскалі і багато іншого.

Програмування - у звичайному розумінні, це процес створення комп'ютерних програм. У вузькому значенні (так зване кодування) під програмуванням розуміється написання інструкцій - програм - конкретною мовою програмування (часто за вже наявним алгоритмом - планом, методом вирішення поставленого завдання). Відповідно, люди, які цим займаються, називаються програмістами (на професійному жаргоні – кодерами), а ті, хто розробляє алгоритми – алгоритмістами, фахівцями предметної галузі, математиками. У більш широкому значенні під програмуванням розуміють весь спектр діяльності, пов'язаний із створенням та підтримкою в робочому стані програм - програмного забезпечення ЕОМ. Точніший сучасний термін — «програмна інженерія» (також інакше «інженерія ПЗ»). Сюди входять аналіз та постановка задачі, проектування програми, побудова алгоритмів, розробка структур даних, написання текстів програм, налагодження та тестування програми (випробування програми), документування, налаштування (конфігурування), доопрацювання та супровід.

Додаток. Система команд процесорів Intel

SAL Арифметичний зсув вліво

Команда sal здійснює зсув уліво всіх бітів операнда. Старший біт операнда надходить у прапор CF. Якщо команда записана у форматі

зрушення складає 1 біт. У молодший біт операнда завантажується 0. Якщо команду записано у форматі

зсув здійснюється на число бітів, зазначене в регістрі-лічильнику CL, при цьому в процесі послідовних зрушень старші біти операнда, пройшовши через прапор CF, губляться,а молодші заповнюються нулями (рис. П8.).

Мал. П8.Дія команди sal.

Як операнда команди sal можна вказувати будь-який регістр (крім сегментного) або комірку пам'яті розміром як у байт, так і слово. Не допускається використовувати як операнда безпосереднє значення. Кожен зсув ліворуч еквівалентний множенню знакового числа на 2, тому команду sal зручно використовуватиме зведення операнда в ступінь 2. Команда впливає прапори OF, SF, ZF, PF і CF.

mov AX,IFh mov CL,8 sal AX,CL; AX=lF00h=lFFh*256, CF=0

mov SI,-1; SI=FFFFh mov CL,4 sal SI,CL;SI=FFF0h=-l*16=-16, CF=1

Допустимо зсув 32-бітових операндів. Допустимо вказівку числа біт зсуву як за допомогою регістра CL, так і безпосереднім значенням. Максимальна величина зсуву становить 31 біт.

mov EBX,0000C835h sal EBX,5; EBX=001906A0h