📄 c.asm
字号:
da segment
data dw 300 dup(?)
a dw ?
b dw ?
i dw ?
da ends
code segment
assume cs:code,ds:da
main proc far
start:mov dx,da
mov ds,dx
j0:
mov dx,0
mov i,dx
j1:
mov dx,0
mov a,dx
j2:
mov dx,0
mov b,dx
j3:
mov dx,i
cmp dx,10
jbe jj31
mov dx,0
jmp jj32
jj31:
mov dx,1
jj32:
mov bx,3
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov data[bx],dx
j4:
mov bx,3
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
cmp data[bx],1
jz j5
jmp j15
j5:
mov dx,i
cmp dx,5
jbe jj51
mov dx,0
jmp jj52
jj51:
mov dx,1
jj52:
mov bx,5
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov data[bx],dx
j6:
mov bx,5
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
cmp data[bx],1
jz j7
jmp j10
j7:
mov dx,a
add dx,i
mov bx,7
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov data[bx],dx
j8:
mov bx,7
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov dx,data[bx]
mov a,dx
j9:
jmp j12
j10:
mov dx,b
add dx,i
mov bx,10
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov data[bx],dx
j11:
mov bx,10
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov dx,data[bx]
mov b,dx
j12:
mov dx,i
add dx,1
mov bx,12
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov data[bx],dx
j13:
mov bx,12
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov dx,data[bx]
mov i,dx
j14:
jmp j3
j15:
mov dx,a
add dx,b
mov bx,15
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov data[bx],dx
j16:
mov bx,15
mov ax,4
push(dx)
mul bx
pop(dx)
mov bx,ax
mov bx,data[bx]
mov ah,02h
mov cx,4
mov dl,bh
shr dl,cl
call putdl
mov dl,bh
shl dl,cl
shr dl,cl
call putdl
mov dl,bl
shr dl,cl
call putdl
mov dl,bl
shl dl,cl
shr dl,cl
call putdl
j17: mov ah,4ch
int 21h
main endp
putdl proc near
mov ah,2
cmp dl,9
jbe put1
sub dl,10d
add dl,'a'
int 21h
ret
put1:
add dl,'0'
int 21h
ret
putdl endp
code ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -