问题5.3 乘法运算和幂运算
问题5.3是123*236 那123的236次幂怎么写代码呢?有点迷糊了,求助 本帖最后由 莫名其妙 于 2012-3-23 09:33 编辑assume cs:code
code segment
start:
mov ax,123 ; 设定被乘数
mov bx,123 ;设定乘数
mov cx,235;设定幂次
s: mul bx ;被乘数 乘以 乘数 结果 保存回被乘数
loop s ;循环
;x的n次方相当于 x*x*x*x...... n-1个x 相乘 (x的1次方等于1所以忽略他)
mov ax,4c00h
int 21h
code ends
end start
这个数据太大了 用现在16位的知识 应该解释不了但是思路大概是上面这个样子的当然 ax dx 是存不下的 你用计算器算下就知道了 好像是1.6**********乘以10的496次方 太多0了 pow(123,236) 819551413 发表于 2012-3-22 21:06 static/image/common/back.gif
pow(123,236)
没明白 那汇编代码怎么写呢 要全的 assume cs:code
code segment
start:
mov ax,0
mov cx,236
s1:
push cx
mov cx,123
s:
add ax,123
loop s
pop cx
loop s1
mov ax,4c00h
int 21h
code ends
end start
内循环试试看 莫名其妙 发表于 2012-3-23 09:27 static/image/common/back.gif
这个数据太大了 用现在16位的知识 应该解释不了但是思路大概是上面这个样子的当然 ax d ...
好详细没想到这么快就有人回复了太感谢了 我掰手指算了一下结果是20多位
页:
[1]