汇编语言编程设计输出在屏幕上显示杨辉三角的程序
时间: 2024-02-22 07:01:09 浏览: 106
输出杨辉三角的小程序
好的,以下是汇编语言编写输出在屏幕上显示杨辉三角的程序:
```assembly
.model small
.stack 100h
.data
row db 1
column db ?
.code
mov ax, @data
mov ds, ax
mov ah, 02h ;设置光标位置
mov bh, 0 ;页码
mov dh, row ;行
mov dl, column ;列
int 10h
mov cx, 10 ;循环输出10行杨辉三角
mov bl, ' '
mov column, 30 ;从第30列开始输出
mov ah, 09h ;显示字符
L1:
mov dx, 0 ;每行开始时输出0个空格
mov ah, 02h ;设置光标位置
mov bh, 0 ;页码
mov dh, row ;行
mov dl, column ;列
int 10h
mov bx, 1 ;第一个数是1
mov ah, 09h ;显示字符
int 10h ;显示1
mov cx, row ;每行输出row个数字
mov bx, 1 ;第一个数是1
L2:
mov ax, bx ;ax = bx
add bx, bx ;bx = bx * 2
mov dx, bx ;dx = bx
add dx, ax ;dx = ax + bx
mov bx, dx ;bx = dx
mov ah, 09h ;显示字符
mov al, ' '
int 10h ;显示一个空格
mov al, bl ;显示数字
add al, bh ;转换成ASCII码
int 10h ;显示数字
inc cx ;cx加1
cmp cx, row ;如果cx等于row,就跳出循环
jz EndLoop
jmp L2 ;继续循环
EndLoop:
mov ah, 02h ;设置光标位置
mov bh, 0 ;页码
mov dh, row ;行
mov dl, column ;列
int 10h
inc row ;行加1
sub column, 2 ;列减2
cmp cx, 0 ;如果cx等于0,就跳出循环
jnz L1 ;继续循环
mov ah, 4ch ;程序结束
int 21h
end
```
这个程序可以输出一个由数字组成的杨辉三角,具体效果如下:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
```
阅读全文