二进制乘除法原理.docVIP

  • 0
  • 0
  • 约3.47千字
  • 约 14页
  • 2026-02-09 发布于安徽
  • 举报

二进制乘除法原理

二进制乘法原理

1.设被乘数为X,乘数为Y

Xi为被乘数第i位上的数,1≤i≤n,有0和1两种可能,那么

同理Yi为乘数第i位上的数,1≤i≤n,有0和1两种可能,那么

2.举例

X=1011,Y=1010,X*Y=1101110

1011

×1010

10101×20个10101011

101001×21个1010

0000000×22个1010

10100001×23个1010

1101110

二进制乘法汇编语言程序

datasegment

XDW?

YDW?

dataends

codesegment

assumecs:code,ds:data

start:

movax,data

movds,ax

movx,49

movy,254

movax,x

movbx,Y

movdx,0

movcl,-1

lop1:shrbx,1

inccl

jnclop1

movax,x

shlax,cl

lop2:adddx,ax

cmpbx,0

jnzlop1

movax,dx

movdx,0

MOVBX,10000;对应万位数

DIVBX

MOVBX,DX

MOVAH,2

ADDAL,30H

MOVDL,AL

INT21H

MOVAX,BX;对应千位数

MOVDX,0

MOVBX,1000

DIVBX

MOVBX,DX

MOVAH,2

ADDAL,30H

MOVDL,AL

INT21H

MOVAX,BX;对应百位数

MOVBL,100

DIVBL

MOVBL,AH

MOVAH,2

ADDAL,30H

MOVDL,AL

INT21H

MOVAL,BL;对应十位数

MOVAH,0

MOVBL,10

DIVBL

MOVBL,AH

MOVAH,2

ADDAL,30H

MOVDL,AL

INT21H

MOVDL,BL;对应个位数

ADDDL,30H

MOVAH,2

INT21H

MOVAH,4CH

INT21H

codeends

endstart

二进制除法原理

1.设被除数为X,除数为Y

Xi为被除数第i位上的数,1≤i≤n,有0和1两种可能,那么

同理Yi为除数第i位上的数,1≤i≤n,有0和1两种可能,那么

设商为Z,余数为T

Zi为商第i位上的数,1≤i≤n,有0和1两种可能,那么

Ti为余数第i位上的数,1≤i≤n,有0和1两种可能,那么

则分三种情形讨论

XY,那么Z=0,T=Y。

X=Y,那么Z=1,T=0。

XY,那么

余数T=X-Z*Y,其中0≤TY

2.举例

X=1101110,Y=1010,XY,Z=1011,T=0

1011

10101101110

10100001×23个1010

0011110

00101001×21个1010

0001010

00010101×20个1010

0000000

T=0,Z=1011

二进制除法汇编程序

datasegment

XDW?

YDW?

zdw?

dataends

codesegment

assumecs:code,ds:data

start:

movax,data

movds,ax

movx,453

movy,151

movax,x

movbx,Y

movdx,0

movsi,0

lop1:cmpax,bx

jblop2

jelop3

jglop4

lop2:movdx,ax

jmplop

lop

文档评论(0)

1亿VIP精品文档

相关文档