简单的汇编语言 求教

来源:百度知道 编辑:UC知道 时间:2024/06/16 23:57:06
汇编实现∑N!=1!+2!+3!+4!+5!,结果保存在BX中
谢谢大侠了

这题简单 5!=78 可以用单字节表示

mov al,1 ;设置初值
mov dl,1
mov cx,5 ;设置循环次数
loop1:
mul dl
mov dl,al ;把这轮的阶乘结果用dl保存,做为下次乘数和累加值
add bl,dl ;累加
adc bh,0 ;进位累加
loop loop1 ;循环

已经保存在bx中,这题是考你一个基本的指令,算法都是最初级的,一步搞定。

;结果存于BX中,又将结果显示在DOS界面中了
data segment
sum dw 0
data ends

code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax

mov ah,0
mov al,1
push ax
call recursion
pop ax
add sum,bx

mov ah,0
mov al,2
push ax
call recursion
pop ax
add sum,bx

mov ah,0
mov al,3
push ax
call recursion
pop ax
add sum,bx

mov ah,0
mov al,4
push ax
call recursion
pop ax
add sum,bx

mov ah,0
mov al,5
push ax
call recursion
pop ax
add sum,bx

mov bx,sum
call bini;将结果转换为十进制输出的子程序