919681090 发表于 2012-3-22 19:57:21

问题5.3 乘法运算和幂运算

问题5.3是123*236   那123的236次幂怎么写代码呢?有点迷糊了,求助

莫名其妙 发表于 2012-3-22 19:57:22

本帖最后由 莫名其妙 于 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了

819551413 发表于 2012-3-22 21:06:09

pow(123,236)

919681090 发表于 2012-3-22 21:59:00

819551413 发表于 2012-3-22 21:06 static/image/common/back.gif
pow(123,236)

没明白   那汇编代码怎么写呢   要全的

18555587 发表于 2012-3-22 22:36:19

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-22 23:52:13

内循环试试看

919681090 发表于 2012-3-23 18:55:51

莫名其妙 发表于 2012-3-23 09:27 static/image/common/back.gif
这个数据太大了            用现在16位的知识 应该解释不了但是思路大概是上面这个样子的当然 ax d ...

好详细没想到这么快就有人回复了太感谢了   我掰手指算了一下结果是20多位
页: [1]
查看完整版本: 问题5.3 乘法运算和幂运算