background image

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