Команда CWD


Помощь в технических вопросах Помощь в технических вопросах

Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее...

Команда CWD в Ассемблере выполняет преобразование слова в двойное слово. Синтаксис:

CWD

Слово, которое находится в регистре АХ, будет преобразовано в двойное слово и помещено в пару регистров DX (старшее слово) и AX (младшее слово). Значение регистра АХ при этом не изменяется.

Алгоритм:

  • Если старший бит АХ равен 1 (число отрицательное), то в DX записать 65535 (FFFF)
  • Иначе в DX записать 0

Команда не имеет операндов и никакие флаги при выполнении команды не изменяются.

По сути команда переносит знак числа из старшего разряда слова в старший разряд двойного слова. То есть она имеет смысл только для отрицательных чисел. Обычно используется при работе с большими числами, например, при делении целых чисел.

Пример на ассемблере:

  .model	tiny
  .code
  ORG 	100h
	
start:	
                                   
  MOV  AX,  100 
  CWD           ; DX = 0  
  
  MOV  AX,  -100 
  CWD           ; DX = 65535 (FFFF)
 	
  RET           ; Выйти из программы
	
  END start

Напоследок, как всегда, о происхождении аббревиатуры CWD.

CWD - это Convert Word to Doubleword (преобразовать слово в двойное слово).



Первые шаги в программирование Первые шаги в программирование

Главный вопрос начинающего программиста – с чего начать? Вроде бы есть желание, но иногда «не знаешь, как начать думать, чтобы до такого додуматься». У человека, который никогда не имел дело с информационными технологиями, даже простые вопросы могут вызвать большие трудности и отнять много времени на решение. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика