河北工业大学汇编语言程序设计实验五

河北工业大学汇编语言程序设计实验五
5-3

ASSUME CS:CODE,DS:DATA,SS:STACK1

DATA SEGMENT
COL    DW 50
ROW    DW 100
LENG1  DW 200
LENG2  DW 100
COLOR  DB 1100B
DATA ENDS

STACK1 SEGMENT STACK
       DW 20 DUP(0)
STACK1 ENDS

CODE SEGMENT
START:
   MOV AX,DATA
   MOV DS,AX
   MOV AH,0
   MOV AL,12H
   INT 10H

   MOV DX,ROW
   MOV CX,COL
   CALL PROC_X                    ;

   MOV DX,ROW
   MOV CX,COL
   CALL PROC_Y

   MOV DX,ROW
   MOV CX,COL
   ADD CX,LENG1
   CALL PROC_Y

   MOV DX,ROW
   MOV CX,COL
   ADD DX,LENG2
   CALL PROC_X

   MOV AH,1
   INT 21H
   MOV AH,0
   MOV AL,3
   INT 21H

   MOV AX,4C00H
   INT 21H

PROC_X PROC
   MOV BP,LENG1
LOP1:
   MOV BH,0
   INC CX
   MOV AL,COLOR
   MOV AH,0CH
   INT 10H
   DEC BP
   JNE LOP1
   RET
PROC_X ENDP

PROC_Y PROC
   MOV BP,LENG2
LOP2:
   MOV BH,0
   INC DX
   MOV AL,COLOR
   MOV AH,0CH
   INT 10H
   DEC BP
   JNE LOP2
   RET
PROC_Y ENDP

CODE ENDS
END START

5-7

ASSUME CS:CODE,DS:DATA

DATA SEGMENT
LP1  DW 25                                ;设置绘制横线的次数
LP2  DW 0
LP3  DW 0
LP4  DW 0
STCX DW 25                                ;设置第一个点打下的坐标x
STBX DW 50                                ;设置第一条线结束的坐标x
STDX DW 25                                ;设置第一个点打下的坐标y
COLO DB 0001B                             ;设置绘制的横线的颜色
DATA ENDS

CODE SEGMENT
START:
   MOV AX,DATA
   MOV DS,AX
   MOV AX,0

   MOV AH,01H                             ;输入需要绘制的方格的数目
   INT 21H
   SUB AX,130H
   MOV LP2,AX

   MOV AL,13H
   MOV AH,0
   INT 10H                                ;设置背景

   MOV CX,LP2
RE2:                                      ;最外层循环,控制绘制方格的数目
   MOV LP2,CX
   MOV DX,STDX
   MOV CX,LP1
RE1:                                      ;内层循环,由点成线由线成面
   MOV LP1,CX
   MOV CX,STCX
   MOV BX,STBX
   INT 10H
PHENG:                                    ;打点绘制一条横线
   MOV AL,COLO
   MOV AH,0CH
   INC CX
   CMP CX,BX
   INT 10H
   JNE PHENG

   MOV CX,LP1
   ADD DX,1
   LOOP RE1

   MOV AX,STBX                             ;改变变量的值来移动方格
   ADD AX,25
   MOV STBX,AX
   MOV AX,STCX
   ADD AX,25
   MOV STCX,AX
   MOV AL,COLO
   ADD AL,1
   MOV COLO,AL
   MOV AX,25
   MOV LP1,AX

   MOV CX,LP2
   LOOP RE2

   MOV AH,4CH
   INT 21H


CODE ENDS
END START
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值