汇编 杨辉三角

  • 格式:doc
  • 大小:18.50 KB
  • 文档页数:3

data segment
mes db 'Input the row:',0ah,0dh,'$'
mes1 db 'yanghuisanjiaowei:',0ah,0dh,'$'
a db ?
b db ?
b1 db ?
c db ?
d db 10
ary db 100 dup(0)
arx db 100 dup(1)
data ends
stack segment
db 100(?)
stack ends

code segment
assume cs:code,ds:data,ss:stack
mainproc far
start:
mov ax,data
mov ds,ax
lea dx,mes

mov ah,9
int 21h
mov a,0
shuru:
mov ah,01h
int 21h
cmp al,0dh
jz ok
sub al,30h
mov b,al
mov al,a
mul d
add al,b
mov a,al
jmp shuru
ok:
mov dl,0ah
mov ah,2
int 21h
lea dx,mes1
mov ah,9
int 21h
mov ah,2
mov dl,31h
int 21h
mov dl,0ah
int 21h
cmp a,1
jng ko
mov b,1
mov cl,b
op:
call shuchu
mov ah,2
mov dl,0ah
int 21h
inc b
mov cl,b
cmp cl,a
jb op
mov ah,1
int 21h
ret
mainendp

shuchu proc near
mov c,0
lea bx,ary
mov ch,0
inc cl
jx:
mov al,[bx+100]
add al,c
mov [bx+100],al
call xianshi
mov al,[bx]
mov c,al
inc bx
loop jx
dec bx
dec bx
mov cl,b
j:
mov al,[bx+100]
mov [bx],al
dec bx
loop j

ko:
ret
shuchu endp

xianshi proc near
mov ah,0
mov al,[bx+100]
mov c,0
ol:
inc c
div d
add ah,30h
mov dl,ah
mov dh,0
push dx
mov ah,0
cmp ax,0
jnz ol

mov al,5
sub al,c
mov b1,al
oi:
pop dx
mov ah,02h
int 21h
dec c
jnz oi
oa:
mov ah,02h
mov dl,' '
int 21h
dec b1
jnz oa
ret
xianshi endp

code ends
end start