这是汇编语言算5的阶乘,哪位能帮我看看哪错了,谢谢
data segmentn db 5
sum dw ?
data ends
stack segment
db 100 dup(?)
stack segment
code segment
assume cs:code,ds:data,ss:stack
start:mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov bx,n
mov si,sum
mov cx,1
call fac
fac proc near
cmp bx,0
jz r1
push bx
dec bx
call fac
r1:push cx
mov al,1
pop dx
mul dl
mov si,ax
ret
fac endp
本帖最后由 15岁的小朋友 于 2014-11-1 11:30 编辑
data segment
n dw 5
sum dw ?
data ends
stack segment
db 100 dup(?)
stack ends
code segment
assume cs:code,ds:data,ss:stack
start:mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov bx,n
mov si,sum
mov cx,1
call fac
fac proc near
cmp bx,0
jz r1
push bx
dec bx
call fac
r1:push cx
mov al,1
pop dx
mul dl
mov si,ax
ret
fac endp
mov ax,4c00h
int 21h
code ends
end start
修改过的 本帖最后由 15岁的小朋友 于 2014-11-1 11:48 编辑
15岁的小朋友 发表于 2014-11-1 11:26
data segment
n dw 5
sum dw ?
代码很混乱还是不对的 只是编译通过下午有空再修改 完全看不懂 惭愧啊,看不懂了,没有发觉有移位指令,也没有发觉乘法。 15岁的小朋友 发表于 2014-11-1 11:26
data segment
n dw 5
sum dw ?
我输错了,第二行应该是n db 5. {:9_221:}不好意思 hongzb 发表于 2014-11-1 13:43
完全看不懂
我也完全不懂,是老师布置的,让我们找错误 15岁的小朋友 发表于 2014-11-1 11:39
代码很混乱还是不对的 只是编译通过下午有空再修改
好像还有一点错误,大神,再帮我改改,谢谢:lol: 15岁的小朋友 发表于 2014-11-1 11:39
代码很混乱还是不对的 只是编译通过下午有空再修改
还有一个错误,帮我再改改呗,谢谢
页:
[1]