这题如何做??用汇编写 8086

2024-12-20 00:29:28
推荐回答(1个)
回答1:

都有算法了,还不好做吗?
下面的程序是调试通过的,汇编连接生成.exe文件后,用debug运行看结果。
dseg segment
num dw 1234H
rlt db 5 dup(0)
fac dw 10000,1000,100,10,1
dseg ends
cseg segment
assume cs:cseg,ds:dseg
begin: mov ax,dseg
mov ds,ax
mov ax,num
xor dx,dx
lea si,rlt
lea di,fac
mov cx,5
next: mov bx,[di]
div bx
mov [si],al
inc si
mov ax,dx
xor dx,dx
inc di
inc di
loop next
mov ah,4ch
int 21h
cseg ends
end begin

再给你改成有输出结果的,这个程序汇编连接生成.exe文件后,直接运行即可看到结果(不过不足5位的最左边补零了)。
dseg segment
num dw 1234H
rlt db 5 dup(0),'$'
fac dw 10000,1000,100,10,1
dseg ends
cseg segment
assume cs:cseg,ds:dseg
begin: mov ax,dseg
mov ds,ax
mov ax,num
xor dx,dx
lea si,rlt
lea di,fac
mov cx,5
next: mov bx,[di]
div bx
or al,30h
mov [si],al
inc si
mov ax,dx
xor dx,dx
inc di
inc di
loop next
lea dx,rlt
mov ah,9
int 21h
mov ah,4ch
int 21h
cseg ends
end begin