Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[25]

Содержимое R5 умножается на 0.75 (0.5 + 0.25).

PUSH R5 ;Временное сохранение R5 с помощью стека

RRA R5 ;R5x0.5 - R5

ADD @SP+,R5 ;R5x0.5 + R5 = 1.5xR5 - R5

RRA R5 ;(1.5xR5)x0.5 = 0.75xR5 - R5

Содержимое младшего байта регистра R5 сдвигается вправо на одну позицию. Старший бит MSB сохраняет старое значение. Эта операция эквивалентна арифметическому делению на 2.

RRA.B R5 ;R5/2 - R5: операция производится

;только с младшим байтом, старший байт ;R5 сброшен

PUSH.B R5 ;R5x0.5 - TOS

RRA.B @SP ;TOSx0.5 = 0.5xR5x0.5 = 0.25xR5 - TOS ADD.B @SP+,R5 ;R5x0.5 + R5x0.25 = 0.75xR5 - R5

RRC[.W]

Ротация вправо через перенос

Ротация вправо через перенос

Синтаксис

RRC dst или RRC.W dst

RRC.B dst

Операция

C - MSB - MSB-1 ... LSB+1 - LSB - С

Описание

Операнд получателя сдвигается вправо на одну позицию, как показано на рис. 3.17. Бит переноса (С) сдвигается в старший бит MSB, младший бит LSB сдвигается в бит переноса (С).

Устанавливается, если результат отрицательный; сбрасывается, если положительный

Устанавливается, если результат «0», в противном случае сбрасывается

Загружается из LSB

Устанавливается, если исходное содержимое положительно и бит переноса перед выполнением операции установлен, в противном случае сбрасывается

Биты режима Биты OSCOFF, CPUOFF и GIE не изменяются

Рис. 3-17. Операнд получателя - сдвиг вправо через перенос


Содержимое регистра R5 сдвигается вправо на одну позицию. В старший бит MSB загружается «1».

SETC ;Подготовка бита переноса для MSB RRC R5 ;R5/2 + 8000h - R5

Содержимое регистра R5 сдвигается вправо на одну позицию. В старший бит MSB загружается «1».

SETC ;Подготовка бита переноса для MSB RRC.B R5 ;R5/2 + 80h - R5 ;используется младший

;байт R5

*SBC[.W]

Вычитание заема/.NOT. переноса из получателя

Вычитание заема/.NOT. переноса из получателя

Синтаксис

SBC dst или SBC.W dst

SBC.B dst

Операция

dst + 0FFFFh + C - dst

dst + 0FFh + C - dst

Эмуляция

SUBC #0, dst

SUBC.B #0, dst

Описание

Бит переноса (С) прибавляется к операнду получателя минус один. Предыдущее содержимое получателя теряется.

Биты статуса

Устанавливается, если результат отрицательный; сбрасывается, если положительный

Устанавливается, если результат «0», в противном случае сбрасывается

Устанавливается, если есть перенос из старшего бита MSB результата, сбрасывается в противном случае. Устанавливается в «1», если заема нет; сбрасывается, если заем есть.

Устанавливается, если произошло арифметическое переполнение, в противном случае сбрасывается

Биты режима

Биты OSCOFF, CPUOFF и GIE не изменяются

Содержимое 16-разрядного счетчика, указанного в R13, вычитается из 32-разрядного счетчика, указанного в R12:

SUB @R13,0(R12) ;Вычитание LSD

SBC 2(R12) ;Вычитание переноса из MSD

Содержимое 8-разрядного счетчика, указанного в R13, вычитается из 16-разрядного счетчика, указанного в R12:

SUB.B @R13,0(R12) ;Вычитание LSD

SBC.B 1(R12) ;Вычитание переноса из MSD

Примечание: реализация заема

Заем обрабатывается как .NOT. переноса:

ЗаемДа Нет

Бит переноса 01


Установка бита переноса

Синтаксис

Операция

Эмуляция

BIS #1, SR

Описание

Устанавливается бит переноса (С).

Биты статуса

Не изменяется

Не изменяется

Устанавливается

Не изменяется

Биты режима

Биты OSCOFF, CPUOFF и GIE не изменяются

Эмуляция десятичного вычитания: Десятичное вычитание R5 из R6. Принимается, что R5=3987 и R6=4137:

DSUB ADD #6666h,R5 ;Пересылка содержимого R5 ;от 0-9 к 6-0Fh ;R5=03987+6666=09FEDh

INV R5 инвертирование R5

;(результат назад к 0-9) ;R5=.NOT. R5=06012h

SETC ;Подготовка переноса ;carry=1

DADD R5,R6 ;Эмулирование вычитания ;сложением: ;(1000-R5-1) ;R6=R6+R5+1

;r6=4137+06012+1=1 0150=0150

Установка бита отрицания

Синтаксис

Операция

Эмуляция

BIS #4, SR

Описание

Устанавливается бит отрицания (N).

Биты статуса

Устанавливается

Не изменяется

Не изменяется

Не изменяется

Биты режима

Биты OSCOFF, CPUOFF и GIE не изменяются

Установка бита нуля

Синтаксис

Операция

Эмуляция

BIS #2, SR

Описание

Устанавливается бит нуля (Z).



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120]