code ends
end start
案例
2 数字方阵程序
说明:
该程序实现显示一个数字的方阵,程序中的清屏功能可将上次运行的结果
清除,重新显示下次运行结果。本程序在
dos 中或 windows98 中运行。
Delphi 代码
data segment
buf1 db '1 2 38 9 47 6 5'
buf2 db '1 2 3 412 13 14 511 16 15 610 9 8 7'
buf3 db '1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9'
dbuf db 14 dup(?)
i1 db 0dh,0ah,'this is a fangzhen programme'
db 0dh,0ah,'input q to exit'
db 0dh,0ah,'Please input a number(3--5):','$'
i2 db 0dh,0ah,'input error,please reinput!','$'
n db ?
b db 1
data ends
stack segment
db 100 dup(?)
stack ends
code segment
assume ds:data,cs:code,ss:stack
main:
mov ax,data
mov ds,ax
call clear
lop: lea dx,i1
mov ah,9
int 21h
mov ah,1
int 21h
cmp al,'q'
jz quit
lea si,buf1
mov n,7
mov cl,3
call clear
cmp al,'3'
jz s
lea si,buf2
mov n,10
mov cl,4
cmp al,'4'
jz s
lea si,buf3
mov cl,5
mov n,13
cmp al,'5'
jz s