Приклад. В таких випадках потрібно користуватися регістром AX.

H 01100001

ABh 10101011

В таких випадках потрібно користуватися регістром AX.

Команда CBW (Convert Byte to Word) перетворює байт в регістрі AL в слово в регістрі AX. При додаванні слів значення результату може знаходитись в діапазоні від – 32768 до 32767, що в двійковій системі відповідає 15 молодшим бітам і 1 старшому біту знаку.

Додавання більше одного слова.

Існує 2 способи додавання операндів, які перевищують слово.

Нехай необхідно додати дві пари слів WORD1A WORD1B і WORD2A WORD2B і зберегти результат в третій парі слів WORD3A WORD3B.

Спочатку необхідно виконувати операцію над молодшими словами, а потім над старшими.

 

Приклад

 

Page 60,132

TITLE ADD DW (COM) Додавання подвійних слів.

CODESG SEGMENT PARA `code`

ASSUME CS: CODECG, SS: CODESG

ORG iooh

BEGIN JMP SHORT MAIN

 

WORD1A DW 0123h

WORD1A DW 0BC62h

WORD2A DW 0012h

WORD2A DW 553Ah

WORD3A DW ?

WORD3A DW ?

 

MAIN PROC NEAR

CALL DIODWD

CALL EIODWD

RET

MAIN ENDP

 

DIODWD PROC

MOV AX, WORD1B

ADD AX, WORD2B ; додавання молодших слів

MOV WORD3B, AX

MOV AX, WORD 1A

ADC AX, WORD 2A ; додавання старших слів

MOV WORD 3A, AX

RET

DIODWD ENDP

 

EIODWD PROC

CLC ; обчислити флаг переносу

MOV cx,2 ; встановлення лічильника

LEA SI, WORD1B

LEA DI, WORD2B

LEA BX, WORD3B

E2O:

MOV AX, [si] - перенести слово в АХ

ADC AX, [DI] - додати з врахуванням переносу молодші слова

DEC SI

DEC SI

DEC DI

DEC DI

DEC BX

DEC BX

LOOP E2O

RET

EIODWD ENDP

CODESG ENDS

END BEGIN.

 

В другому способі виконувати операцію: Sub reg, 02 не можна оскільки може бути зміщений флаг переносу CF.

Для роботи другого методу необхідно: 1) перед циклом очистити флаг переносу командою CLC /Сlear Carry/. 2) Забезпечити відповідний порядок слів; 3) виконати обробку з права на ліво; 4) в регістр CX занести кількість слів, що додаються.

Для здійснення багатослівного віднімання використовується команда SBB/Subtract with Borrow – віднімання з запозиченням. Замінивши в попередніх процедурах команди ADD і ADC на SUB і SBB стримаєм процедури для віднімання.

 








Дата добавления: 2015-10-09; просмотров: 523;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.