汇编语言求n阶乘代码
时间: 2023-07-02 11:13:56 浏览: 361
下面是一个使用x86汇编语言实现计算n的阶乘的代码示例:
```
section .data
msg db "Enter a number: ", 0
msg2 db "Factorial of the number is: ", 0
section .bss
n resb 1
section .text
global _start
_start:
; 输出提示信息
mov eax, 4
mov ebx, 1
mov ecx, msg
mov edx, 16
int 0x80
; 输入n
mov eax, 3
mov ebx, 0
mov ecx, n
mov edx, 1
int 0x80
; 计算n的阶乘
mov eax, 1
mov ebx, 0
movzx ecx, byte [n]
loop_start:
cmp ecx, 0
je loop_end
imul eax, ecx
dec ecx
jmp loop_start
loop_end:
; 输出结果
mov eax, 4
mov ebx, 1
mov ecx, msg2
mov edx, 25
int 0x80
; 输出结果
mov eax, 4
mov ebx, 1
mov ecx, eax
mov edx, 1
add ecx, eax
mov byte [ecx], al
mov eax, 4
mov ebx, 1
mov ecx, eax
add ecx, 1
mov edx, 2
int 0x80
; 退出程序
mov eax, 1
xor ebx, ebx
int 0x80
```
这个程序首先提示用户输入一个整数,然后计算该整数的阶乘,最后输出结果并退出程序。
阅读全文