首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

关于对div运算的规定解决思路

2013-01-25 
关于对div运算的规定在知道这个规定是那些!但除的时候但被除数是16位数的时候,除数是8位,要进行8位的运算,

关于对div运算的规定
在知道这个规定是那些!但除的时候但被除数是16位数的时候,除数是8位,要进行8位的运算,可为什么64位的放到bx就会算错了?数字都没有变啊!
-a
0B26:0100 mov ax,03e9
0B26:0103 mov bx,64
0B26:0106 div bx
0B26:0108
-g 0106

AX=03E9  BX=0064  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B26  ES=0B26  SS=0B26  CS=0B26  IP=0106   NV UP EI PL NZ NA PO NC
0B26:0106 F7F3          DIV     BX
-t

AX=000A  BX=0064  CX=0000  DX=0001  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B26  ES=0B26  SS=0B26  CS=0B26  IP=0108   NV UP EI PL NZ NA PO NC
0B26:0108 00F7          ADD     BH,DH
-------------------
-a
0B26:0126 mov ax,03e9
0B26:0129 mov bl,64
0B26:012B div bl
0B26:012D
-g 012d

AX=010A  BX=0064  CX=0000  DX=0001  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B26  ES=0B26  SS=0B26  CS=0B26  IP=012D   NV UP EI PL NZ NA PO NC
0B26:012D 032A          ADD     BP,[BP+SI]                         SS:0000
-
[解决办法]
DX:AX / BX
商AX,余数DX
[解决办法]

引用:
dx是放余数的啊!我是指放商的ax,你看两个的ax不一样!
第一个 AX=000A,是商,不是对的吗?第二个 AX=010A,其中 AL=0A 是商,AH=01 是余数,错了吗??

热点排行