давно
Старший Модератор
31795
6196
25.01.2007, 11:00
общий
это ответ
Здравствуйте, Александр Логвиненко!
1. SHR DX,1 0101.1100.1101.1100
2. SHR DX,CL 0001.0111.0011.0111
3. SHL DX,CL 1100.1101.1100.1000
4. SHL DL,1 1011.1011.0111.0010
5. ROR DX,CL 0011.0111.0011.0111
6. ROR DL,CL 1011.1001.0011.0111
7. SAL DH,1 0111.0011.1011.1001
остальное в приложении
Приложение:
1) xor ax,ax mov al,<число> shl ax,1 mov bx,ax shl ax,2 add ax,bxв итоге в ах будет число умноженное на 102)а. для умножения:; при умножении на 2 строки где в коментариях стоит "?" можно убрать;при умножении 48 бит в отмеченных строках убрать коментарии в начале строки; mov bx,Data_0 ;для 48 бит грузим bx mov ax,Data_1 ;грузим ax mov dx,Data_2 ;грузим dx mov cx,2 ;? степини 2-киnext: clc ;сброс флага cf=0; rcl bx,1 ;для 48 бит bx=2*bx rcl ax,1 ;ax=2*ax+cf rcl dx,1 ;dx=2*dx+cf loop next ;?в. для деления:(деление с ошибкой rcl ->rcr ) mov ax,Data_1 ;грузим ax mov dx,Data_2 ;грузим dx mov cx,2 ; степини 2-киnext: clc ;сброс флага cf=0 rcr dx,1 ;dx=dx/2 + 0 rcr ax,1 ;ax=ax/2 + cf(младший бит dx) loop next ;повторить сх раз
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.