Преобразовать байт в слово
CBW - AX := знаковое расширение AL.
Удваивает размер исходного операнда с помощью расширения знака. Инструкция cbw (преобразовать байт в слово) копирует знак (бит 7) в исходном операнде в каждый бит регистра ah.
В качестве примера, если регистр al содержит 7910, (004F16), выполняющаяся инструкции cbw сохранит 0 в регистре ah. Поскольку 7910 является положительным числом то, регистр ah заполняется значением 0. Во втором примере регистр al имеет отрицательное значение -410 (00FC16), то есть последний знаковый бит установлен в 1. После выполнения инструкции cbw регистр ah заполняется значением знакового бита регистра al.
- title Автор: Довгополов Евгений Сергеевич
- .model small
- .stack 100h
- code segment public _______; Начало сегмента кода
- ____assume cs:code
- ____main proc _____________; Начало процедуры main
- ________mov_____al, 79_____; Копируем значение 79 в регистр al
- ________cbw________________; Выполняем знаковое расширение
- ________mov_____al, -4_____; Копируем значение -4 в регистр al
- ________cbw________________; Выполняем знаковое расширение
- ________mov_____ax, 4C00h__; Копируем значение функции завершения процесса в ah а значение в al
- ________int_____21h _______; Вызываем прерывание DOS
- ____main endp _____________; Конец процедуры main
- code ends _________________; Конец сегмента кода
- end main __________________; Конец файла. Точкой входа указывается процедура main