使用x86汇编语言的循环和输入进行乘法运算

问题描述

我正在尝试构建一个程序,该程序将使用两个输入x和y(整数)来将x做为y的幂。到目前为止,这是我一直在想的,但它似乎是将ebx本身乘以而不是eax。它也没有坏。

这是代码

包括Irvine32.inc

.data xInp BYTE“输入x的值:”,0 yInp BYTE“输入y的值:”,0 返回S BYTE“ x到y的幂为:”,0 值DWORD吗? 基本的DWORD? powerN DWORD? newValue DWORD吗?

.code ; ----------------------------------------- ;输入: ; ;输出: ;笔记: ; ----------------------------------------- 电源PROC ; mov值,eax ; mov powerN,ebx

mov ecx,powerN
mov value,eax
again:
    ;mov value,eax
    ;;;;new and imroved;;;;
    mul value
    
    call WriteInt
    call Crlf
    call WaitMsg

    loop again
    jmp endOfLoop

endOfLoop: 退回 ENDP电源

主程序

mov edx,OFFSET xInp
mov eax,DWORD PTR edx                              ; displays ask string
call WriteString                                    ; and saves input into eax
call ReadInt
;mov base,eax

mov edx,OFFSET yInp
mov ebx,DWORD PTR edx                              ; displays ask string
call WriteString                                    ; and saves input into eax
call ReadInt

mov powerN,ebx
call WriteInt

call power

;mov edx,OFFSET returnS
;mov ebx,SDWORD PTR [edx]                          ; displays ask string
;call WriteString                                   ; and saves input into eax

;mov newValue,eax
;call WriteInt

exit

主要ENDP END主要

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)