ХАНДЫФАР

Преобразовать байт в слово


CBW - AX := знаковое расширение AL.


Удваивает размер исходного операнда с помощью расширения знака. Инструкция cbw (преобразовать байт в слово) копирует знак (бит 7) в исходном операнде в каждый бит регистра ah.


В качестве примера, если регистр al содержит 7910, (004F16), выполняющаяся инструкции cbw сохранит 0 в регистре ah. Поскольку 7910 является положительным числом то, регистр ah заполняется значением 0. Во втором примере регистр al имеет отрицательное значение -410 (00FC16), то есть последний знаковый бит установлен в 1. После выполнения инструкции cbw регистр ah заполняется значением знакового бита регистра al.


  1. title Автор: Довгополов Евгений Сергеевич
  2. .model small
  3. .stack 100h
  4. code segment public _______; Начало сегмента кода
  5. ____assume cs:code
  6. ____main proc _____________; Начало процедуры main
  7. ________mov_____al, 79_____; Копируем значение 79 в регистр al
  8. ________cbw________________; Выполняем знаковое расширение
  9. ________mov_____al, -4_____; Копируем значение -4 в регистр al
  10. ________cbw________________; Выполняем знаковое расширение
  11. ________mov_____ax, 4C00h__; Копируем значение функции завершения процесса в ah а значение в al
  12. ________int_____21h _______; Вызываем прерывание DOS
  13. ____main endp _____________; Конец процедуры main
  14. code ends _________________; Конец сегмента кода
  15. end main __________________; Конец файла. Точкой входа указывается процедура main
Made on
Tilda