主题:达人帮我好吗?关于“打印完全数”
这是我自己写的:
data segment
n dw 1000
m dw 1000 dup(?),'$'
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov bx,1
lg4: mov cx,0
mov dl,1
lg2: mov ax,bx
div dl
cmp ah,0
jnz lg1
add cx,dx
lg1: inc dl
cmp bx%2,dx
jge lg2
cmp cx,bx
jnz lg3
mov m,bx
mov dx,m
mov ah,9
int 21h
lg3: inc bx
dec n
cmp n,0
jge lg4
mov ah,4ch
int 21h
code ends
end start
可是我知道我在输出符合要求的数的时候写错了
我当时想的是把那个数当作字符串来,所以我定义了m,想把那个数当作字符串放进m里输出,可是事实证明偶是错的。。汗一个。。。后来发现应该把那个数移位,再一位位的用ASCII输出,可是我就不会了。。。。哥哥姐姐能不能帮我把那里的输出写了。。。
小孩子偶刚来,人生地不熟,大家帮帮我可以吗?!
急啊!!!
[em10]
data segment
n dw 1000
m dw 1000 dup(?),'$'
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov bx,1
lg4: mov cx,0
mov dl,1
lg2: mov ax,bx
div dl
cmp ah,0
jnz lg1
add cx,dx
lg1: inc dl
cmp bx%2,dx
jge lg2
cmp cx,bx
jnz lg3
mov m,bx
mov dx,m
mov ah,9
int 21h
lg3: inc bx
dec n
cmp n,0
jge lg4
mov ah,4ch
int 21h
code ends
end start
可是我知道我在输出符合要求的数的时候写错了
我当时想的是把那个数当作字符串来,所以我定义了m,想把那个数当作字符串放进m里输出,可是事实证明偶是错的。。汗一个。。。后来发现应该把那个数移位,再一位位的用ASCII输出,可是我就不会了。。。。哥哥姐姐能不能帮我把那里的输出写了。。。
小孩子偶刚来,人生地不熟,大家帮帮我可以吗?!
急啊!!!
[em10]