⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 程序.txt

📁 1.按字母“Y”画一个用点组成的圆; 2.按字母“S”画一个用不同颜色填充的三角形; 3.按字母“Z”画一个用不同颜色填充且带有边框图案的矩形; 4.按“q”键退出
💻 TXT
字号:
DSEG  SEGMENT
INFO1  DB  0DH,0AH,’please choose the letter y,s,z:’
        DB  0DH,0AH,’input q to quit’,’$’
INFO2  DB  0DH,0AH,’choose error!’,’$’
D3      DW  0
TOTAL  DB  12
DOTYX  DB  50,160
         DB  60,135
         DB  60,185
DB  75,115
DB  75,205
DB  95,110
DB  95,210
DB  110,114
DB  110,210
DB  130,135
DB  130,195
DB  145,165
DSEG  ENDS


SSEG  SEGMENT  STACK
DB  200  DUP(0)
SSEG  ENDS


CSEG  SEGMENT
       ASSUME  CS:CSEG, DS:DSEG, SS:SSEG
START: MAIN  PROC  FAR
       MOV  AX,DSEG
       MOV  DS,AX
       MOV  AH,0                  ;设置显示模式
MOV  AL,4                  ;显示模式代号
INT   10H                   ;10H号中断,显示I/O程序
INPUT:LEA  DX,INTO1               ;要输出字符串首地址
      MOV  AH,9                   ;在标准输出上显示一个字符串
      INT  21H
      MOV  AH,08                  ;不带回显键盘输入,出口参数al
      INT   21H
      CMP  AL,’S’
      JZ    SA
      CMP  AL,’Z’
      JZ    ZHEN
      CMP  AL,’Y’
      JZ    YUA
      CMP  AL,’q’
      JZ    EXIT
      MOV  DX,OFFSET INFO2
      MOV  AH,09
      INT   21H
SA:   CALL  SAN
JMP   INPUT
ZHEN:CALL  ZHENG
      JMP   INPUT
YUA: CALL  YUAN
      JMP    INPUT
EXIT: MOV  AH,4CH
      INT   21H
RET
MAIN  ENDP


SAN  PROC  NEAR
      PUSH  AX
      PUSH  BX
      PUSH  CX
      PUSH  DX
      MOV  AH,0
      MOV  AL,12H
      INT  10H                  ;显示I/O程序
      MOV  AL,1
A0:   MOV  DX,1
      MOV  D3,1
      MOV  CX,320
A1:   PUSH  CX
      PUSH  D3
A2:   MOV  AH,12
      PUSH  AX
      INT   10H                   ;显示I/O程序  
      POP   AX
      INC   CX
      SUB   D3,1
      JNZ   A2
      POP   D3
      ADD  D3,2
      POP  CX
      INC  DX
      DEC  CX
      JNE  A1
      INC  A1
      CMP  AL,5
      JNE  A0
      POP  DX 
      POP  CX
      POP  BX
      POP  AX
RET
SAN  NEDP


ZHENG   PROC  NEAR
       PUSH  AX
       PUSH  BX
       PUSH  CX
       PUSH  DX
       MOV  AH,0FH               ;取当前显示模式
       INT   10H
       MOV  AH,0
       MOV  AL,3
       INT   10H
       MOV  CX,1                  ; 字符数量
       MOV  AH,2                  ;置光标位置
       MOV  DH,5                  ; 5行开始
       MOV  DL,25                 ;25列开始
       INT  10H
   ;*****光标向下动********
LINE:  MOV  AH,2
       INT  10H
       MOV  AL,2                   ;字符代码
       MOV  AH,9                   ;将字符和属性写到光标位置处
       MOV  BL,0E0H                ; 字符黄色
       INT   10H
       INC   DH                     ; 行增加
       CMP  DH,20                   ; 20行
       JNE  LINE
       JMP  LINE1
;****光标向右动*****
LINE1: MOV  AH,2
       INT  10H
       MOV  AL,2
       MOV  AH,9 
       MOV  BL,0E0H                 ;字符为黄色
       INT   10H
       INC  DL                       ;列增加
       CMP  DL,55                    ;55列
       JNE  LINE1
       JMP  LINE2
;*****光标向上动*********
LINE2:  MOV  AH,2
       INT  10H
       MOV  AL,2
       MOV  AH,9
       MOV  BL,0E0H                 ; 字符黄色
       INT   10H
       DEC   DH                      ;行减少          
       CMP  DH,5                     ;5行
       JNE  LINE2
       JMP  LINE3
;***光标向左动***
LINE3: MOV  AH,2
       INT  10H
       MOV  AL,2
       MOV  AH,9
       MOV  BL,0E0H                 ;字符为黄色
       INT   10H
       DEC  DL                       ;列减少                
       CMP  DL,25                    ;25列
       JNE  LINE3
L00:   MOV  AH,7                     ;向下滚屏
       MOV  AL,14                    ;下滚行数
       MOV  BH,20H                  ;绿色,填空白行的属性
       MOV  CH,6                     ;窗口左上角行号
       MOV  CL,26                    ;窗口左上角列号
       MOV  DH,19                    ;窗口右下角行号
       MOV  DL,54                    ;窗口右下角列号
        INT   10H
;*****时间控制*****
L01:   MOV  AH,0
       INT   1AH                       ;时钟管理
       CMP   DL,10
       JNZ    L01	
L1:     MOV  AH,6                      ;向上滚屏
        MOV  AL,14
        MOV  BH,0F0H;                  ;白色
        MOV  CH,6
        MOV  CL,26
        MOV   DH,19
        MOV   DL,54
        INT  10H
L2:     MOV  AH,0
        INT    1AH                      ;时钟管理
        CMP   DL,15
        JNZ   L2
L3:     MOV   AH,7                      ;向下滚屏
        MOV   AL,14
        MOV   BH,40H                    ;红色
        MOV   CH,6
        MOV   CL,26
        MOV   DH,19
        MOV   DL,54
        INT    10H
L4:      MOV  AH,0
        INT    1AH
        CMP   DL,30
        JNZ   L4
L5:     MOV   AH,6                      ;向上滚屏
        MOV   AL,14
        MOV   BH,0D0H                   ; 品红
        MOV   CH,6
        MOV   CL,26
        MOV   DH,19
        MOV   DL,54
        INT    10H
L004:   MOV   AH,0
        INT  1AH                         ;时钟管理
        CMP   DL,10
        JNZ   L004
L005:   MOV   AH,7                       ;向下滚屏
        MOV   AL,14
        MOV   BH,30H                    ; 青
        MOV   CH,6
        MOV   CL,26
        MOV   DH,19
        MOV   DL,54
        INT    10H
;****时间控制****
        MOV   AH,2                      ;置光标位置
        MOV   DH,23                     ;行号
        MOV   DL,0                      ;列号
        INT   10H 
        POP    DX
        POP    CX
        POP    BX
        POP    AX
RET
ZHENG   EDNP


YUAN    PROC    NEAR
        PUSH   AX
        PUSH   BX
        PUSH   CX
        PUSH   DX
        MOV    AX,0004H
        INT     10H
        MOV    BX,00
        PUSH    BX
        MOV    AH,0BH
        INT     10H
        MOV    BX,0003H
        MOV    AH,0BH
        INT    10H
        MOV   BL,TOTAL
        MOV    SI,OFFSET  DOTYX
        MOV   CH,0
        MOV   DH,CH
PLO:    MOV  DL,[SI]
        MOV  CL,[SI+1]
        MOV  AL,02H
        MOV  AH,0CH
        INT    10H
        INC    SI
        INC   SI
        DEC   BL
        JNZ   PLO
        MOV  BX,50
        POP    BX
        POP    DX
        POP    CX
        POP    DX
        POP    AX
RET
YUAN    ENDP

CSEG     ENDS
END     START


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -