用汇编语言设计程序实现10!(10的阶乘)

如题所述

第1个回答  2011-03-21
.386
.model flat,stdcall
option casemap:none

include windows.inc
include kernel32.inc

includelib kernel32.lib

.data

dwNum dd ?

.code

start:
mov eax,10
mov ebx,9
.repeat
mul ebx
sub ebx,1
.until ebx ==1

mov dwNum,eax

invoke ExitProcess,0

end start本回答被网友采纳
第2个回答  2021-09-29
mov r0,#10
mov r8,r0
mov r9,#0
sub r0,r8,#1
loop:
mov r1,r9
UMULL r8,r9,r0,r8
MLA r9,r1,r0,r9
SUBS r0,r0,#1
BNE loop
第3个回答  2011-03-24
#include <stdio.h>
#include <conio.h>
double fun(int n)
{
double result=1.0;
if(n==0)
return 1.0;
while(n>1&&n<170)
result*=n--;
return result;
}
main()
{
int n;
printf("Input N:");
scanf("%d",&n);
printf(\n\n%d!=%f\n\n",fun(n));
}
我运行过得
相似回答