汇编递归程序设计
答案:2 悬赏:10 手机版
解决时间 2021-04-29 12:15
- 提问者网友:雨不眠的下
- 2021-04-29 08:55
编程实现:利用子程序的递归调用,计算N!(N<=6),结果显示在屏幕上
最佳答案
- 五星知识达人网友:轻雾山林
- 2021-04-29 09:03
assume cs:code
code segment
start:
mov bx, 6
mov ax, 1
xor dx, dx
call fac
call show
mov ax, 4c00h
int 21h
fac:
cmp bx, 1
jz ok
mul bx
dec bx
call fac
ok:
ret
show: mov cx, 10
cmp ax, 0
jle done
div cl
push ax
xor ah, ah
call show
pop dx
mov dl, dh
or dl, 30h
mov ah, 2
int 21h
done: ret
code ends
end start
code segment
start:
mov bx, 6
mov ax, 1
xor dx, dx
call fac
call show
mov ax, 4c00h
int 21h
fac:
cmp bx, 1
jz ok
mul bx
dec bx
call fac
ok:
ret
show: mov cx, 10
cmp ax, 0
jle done
div cl
push ax
xor ah, ah
call show
pop dx
mov dl, dh
or dl, 30h
mov ah, 2
int 21h
done: ret
code ends
end start
全部回答
- 1楼网友:摆渡翁
- 2021-04-29 10:27
#include <stdio.h>
int fac(int n) { if (n) return fac(n-1)*n; return 1 ; }
void main() { printf("%d\n", fac(6)) ; // 数字随你改,也可以通过键盘输入。 }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯