汇编语言图形绘制三角形程序
时间: 2023-07-11 17:52:39 浏览: 83
以下是一个使用汇编语言绘制三角形的示例程序:
```
.model small
.stack 100h
.data
msg1 db 'Press any key to exit...',0
.code
main proc
mov ax, @data
mov ds, ax
mov ah, 00h ;设置显示模式
mov al, 13h
int 10h
mov ax, 0a000h ;设置显存地址
mov es, ax
mov cx, 160 ;将屏幕中央设置为三角形的顶点
mov dx, 100
mov ax, 0
mov bx, 0
mov bp, 0
draw_triangle:
mov ah, 0ch ;将当前点设置为白色
mov al, 15h
mov di, cx
mov si, dx
add di, bp
add si, bp
mov [es:di], al
mov [es:si], al
add ax, bx ;计算下一个点的坐标
add cx, ax
add dx, bp
inc bp
cmp bp, 60 ;绘制完整个三角形后退出
jne draw_triangle
mov ah, 0
int 16h ;等待用户按下键盘,退出程序
mov ah, 00h
mov al, 03h
int 10h ;恢复显示模式
mov ax, 4c00h
int 21h
main endp
end main
```
该程序使用了 VGA 显示模式 13h,并将显存地址设置为 0a000h。随后,程序将屏幕中央设置为三角形的顶点,并通过计算得到三角形的其他两个顶点的坐标。在绘制时,程序将当前点设置为白色,并在显存中绘制一个像素。最后,程序等待用户按下键盘,退出程序,并恢复显示模式。
阅读全文