-
-
[旧帖]
汇编问题.我汇编不好,大侠教教我.
0.00雪花
-
发表于:
2004-12-21 17:35
5504
-
[旧帖] 汇编问题.我汇编不好,大侠教教我.
0.00雪花
我们老师要我们写一个20的阶乘.下面是我写的,不过得不出来答案,好象是结果益出了.
运行结果是000000 小一点的阶乘可以算出来.直到8的阶乘.再大就得不出来答案了.
大侠帮帮忙.看看 指点一二..
data segment
n dw 20
y dw 2 dup(?)
data ends
stack segment para stack 'stack'
dw 100 dup(?)
stack ends
code segment
assume cs:code, ds:data, ss:stack
start proc far
push ds
xor ax,ax
push ax
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov ax,n
mov bx,ax
dec bx
lp: mul bx
dec bx
jnz lp
mov y,ax
mov y+2,dx
call pp
ret
start endp
pp proc
lea si,y
add si,2
mov cx,3
p: mov al,[si]
call pp3
dec si
loop p
ret
pp endp
;
pp3 proc
push ax
push bx
push cx
push dx
mov bh,al
mov bl,2
mov cl,4
shr al,cl
gg2: cmp al,10
jge gg3
or al,30h
jmp gg4
gg3: add al,37h
gg4: mov dl,al
mov ah,2
int 21h
dec bl
jz gg5
mov al,bh
and al,0fh
jmp gg2
gg5: pop dx
pop cx
pop bx
pop ax
ret
pp3 endp
;
code ends
end start
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!