显示图形变化程序_第1页
显示图形变化程序_第2页
显示图形变化程序_第3页
显示图形变化程序_第4页
显示图形变化程序_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业目录摘要21设计任务及要求分31.1设计任务31.2要求分析32比较方案及说明43系统原理阐述54子程序分析64.1主程序分析64.2画三角形子程序分析84.3画矩形子程序分析114.4画圆子程序分析155调试记录及结果分析205.1调试记录205.2结果分析21体会23参考文献24附录25摘要汇编语言是一门涉及硬件的程序语言,也是电气工程及其自动化专业的一门重要的专业基础课。本次课程设计就是利用汇编语言直接操作硬件,实现画图,并且根据键盘字母输入从从屏幕上输出不同颜色

2、,不同形状的图形。该报告主要包括了涉及任务及要求分析,Bresenham画线和直接写入元素两种方法的对比说明,阐述了涉及原理和程序,其中程序主要分为两大部分,主程序和子程序,主程序中包含了清屏指令组,子程序调用指令和退出指令,子程序分别实现画圆,画三角形,画矩形的功能。 该课程设计中很多内容主要来自图书馆查阅资料和网络资源,整理后进行修改运行,最终能实现左右功能及要求。1 设计任务及要求分析1.1设计任务按S用四种颜色各显示一个矩形的程序,按T用三种颜色各显示一个三角形的程序,按C用一种颜色显示一个圆。按Q退出程序。1.2要求分析本课程设计的任务是用汇编语言编写一个“显示图形变换程序”,根据题

3、目分析可得该程序需要实现以下几个功能,第一,检测键盘字母输入;第二,判断字母是否符合要求,第三,当符合条件时调用正确的子程序;第四,运行输出想要的结果。 2.比较方案及认证说明根据题目要求需实现画图功能,我主要采用了两种方法。第一种方法是直接建立坐标,在坐标点写入像素,该方法利用10H中断的0CH号功能写像素,并且通过AL寄存器设置像素点颜色,用这个方法的话比较容易理解,无需其他算法,操作起来比较简单,但是能实现的画图功能比较有限,如利用这个方法画直线比较简单,语句较少,但是在画非直线图形的时候用这个方法反而变得很复杂。第二个方法为Bresenhan算法,Bresenham算法是计算机图形学领

4、域使用最广泛的直线扫描转换方法。其原理是:过各行、各列像素中心构造一组虚拟网格线,按直线从起点到终点的顺序计算直线各垂直网格线的交点,然后确定该列像素中与此交点最近的像素。该算法的优点在于可以采用增量计算,使得对于每一列,只要检查一个误差项的符号,就可以确定该列所求的像素。在用该算法画圆是能使程序得到简化,且运行效率较高。本次课程设计中,在画矩形和三角形时,用到了第一种直接写入像素法,画圆是用到的为Bresenham算法。3 系统原理阐述 根据课程设计任务书所给出条件要求,我主要把程序分为四部分来实现,即把程序分为四个模块,采用子程序调用的方法,这样不仅有利于程序的编写,使程序清晰可见,还方便

5、程序的修改及阅读。第一个模块为主程序模块,该程序快中主要有清屏程序组,使屏幕上卷,从而实现清屏功能,清屏功能用INT 10H的功能六实现,键盘输入判断,利用CMP指令,判断ZF标志位,从而调用正确的子程序,最后是退出语句。第二个模块为画圆程序块,该程序块主要利用Bresenham算法来实现画圆,其原理是过各行、各列像素中心构造一组虚拟网格线,按直线从起点到终点的顺序计算直线各垂直网格线的交点,然后确定该列像素中与此交点最近的像素,把所有符合要求的像素点亮即为圆形。第三个模块和第四个模块分别为画矩形和画三角形子程序,他们的原理是完全相同的,首先利用CX确定一个行坐标,利用DX确定一个纵坐标,两坐

6、标交点即为像素点坐标,然后利用INT 10H的0CH号功能写入像素,用BH的值确定像素点颜色,利用CX寄存器的值确定直线的像素点个数,即为线长,此法关键在于正确确定每个顶点的坐标。4 子程序分析4.1 主程序分析首先分析主程序,主程序中包含了清屏程序和子程序调用以及退出子程序,清屏子程序的目的是清楚屏幕上的内容,接着根据输入字母判断后调用符合条件的子程序。主程序如下: MAIN PROC FAR MOV AX,DATAS MOV DS,AXMOV AX,0600H ; 用INT 10H的功能6清屏 MOV BH,7MOV CX,0;窗口左上角坐标MOV DX,184FH ;窗口右上角坐标INT

7、 10H L1: MOV AH,1 ;利用21H中断判断字母 INT 21H ; 输入并改变ZF标志位 CMP AL,S JZ P1 CMP AL,T JZ P2 CMP AL,C JZ P3 CMP AL,Q JZ EXIT JMP L1 P1: CALL JUXING ;调用画矩形的子程序 JMP L1 P2: CALL SANJIAO ;调用画三角形的子程序 JMP L1 P3: CALL HYUAN ;调用画圆的子程序 JMP L1 EXIT: MOV AX,4C00H :退出子程序 INT 21H MAIN ENDP调用EXIT输入字母判断Q判断C判断T判断S开始清屏检测输入主程序流

8、程图如下图所示: 调用JUXING Y调用HYUAN N Y调用SANJIAO N Y N Y 结束 图4-1 程序流程图如图4-1为该程序的流程图,从图中可以看出,先通过清屏程序清屏,然后利用21H中断从键盘上获得一个字母,并判断分别判断字母与大写字母S,T,C和Q是否相等,如果不相等,则不执行,直到有字母相等时,如输入大写字母S时,则调用“JUXING”子程序。然后返回等待下一个字母输入。4.2画三角形子程序分析画三角形子程序:画三角形子程序靠点亮屏幕像素点实现,通过INT10中断的0C号功能设置屏幕的模式为写像素模式,通过BH的值确定像素点颜色,通过坐标确定三角形各点的坐标,CX的值为横

9、坐标,DX的值为纵坐标,通过循环点亮像素点分别构成三角形的两直角边和斜边画三角形子程序如下:SANJIAO PROC NEAR MOV AH,0 ;设置显示模式 MOV AL,12H INT 10H MOV CX,100 ;从坐标(100,200)处画第一个三角形水平线 MOV DX,200 LOP1: MOV AH,0CH MOV AL,0AH MOV BH,0 INT 10H INC CX CMP CX,200 ;线长为100 JNZ LOP1 MOV CX,100 ;从坐标(100,200)处画第 MOV DX,200 一个三角形垂直线 LOP2: MOV AH,0CH ;写像素功能 M

10、OV AL,0AH ;颜色为浅绿色 MOV BH,0 INT 10H DEC DX CMP DX,100 ;判断线是否结束,线长为100 JNZ LOP2 MOV CX,100 ;从坐标(100,100)处画第一个 MOV DX,100 三角形斜线 LOP3: MOV AH,0CH MOV AL,0AH MOV BH,0 INT 10H INC CX INC DX CMP DX,200 JNZ LOP3 MOV CX,300 ;画第二个三角形,画法和的个三角 MOV DX,200 一样关键在于找准坐标 LOP4: MOV AH,0CH MOV AL,0CH MOV BH,0 INT 10H I

11、NC CX CMP CX,400 JNZ LOP4 MOV CX,300 MOV DX,200 LOP5: MOV AH,0CH MOV AL,0CH MOV BH,0 INT 10H DEC DX CMP DX,100 JNZ LOP5 MOV CX,300 MOV DX,100 LOP6: MOV AH,0CH MOV AL,0CH MOV BH,0 INT 10H INC CX INC DX CMP DX,200 JNZ LOP6 MOV CX,500 ;画第三个三角形 MOV DX,200 LOP7: MOV AH,0CH MOV AL,0EH MOV BH,0 INT 10H INC

12、 CX CMP CX,600 JNZ LOP7 MOV CX,500 MOV DX,200 LOP8: MOV AH,0CH MOV AL,0EH MOV BH,0 INT 10H DEC DX CMP DX,100 JNZ LOP8 MOV CX,500 MOV DX,100 LOP9: MOV AH,0CH MOV AL,0EH MOV BH,0 INT 10H INC CX INC DX CMP DX,200 JNZ LOP9 RET SANJIAO ENDP画三角形程序流程图如下图所示:开始设置坐标点 变换坐标写像素判断CX Y结束 N 图4-2 画三角形程序流程图 如图4-2为画三角

13、形程序流程图,画出一边后,依据同样的方法确定坐标即可画出其余所有边。4.3画矩形子程序分析画矩形程序分析:矩形的画法和三角形的画法是一样的,找准各个点的坐标,从一个坐标到另一个坐标之间点亮像素点即为矩形的边。画矩形的程序如下: JUXING PROC FAR MOV AH,0 MOV AL,12H INT 10H MOV CX,50 ;画第一个矩形 MOV DX,200 ;起始点坐标为(50,200) LOP1: MOV AH,0CH ;设置写像素 MOV AL,0AH ;设置颜色 MOV BH,0 ;设置页号(一般为0) INT 10H INC CX ;横坐标加一 CMP CX,100 ;判

14、断直线是否画完 JNZ LOP1 ;若ZF不为0则循环LOP1 ; 直到画完直线 MOV CX,50 ;以下程序段和上一断是一样的 MOV DX,200 ;除坐标外用法相似,在此不再 LOP2: MOV AH,0CH ;阐述 MOV AL,0AH MOV BH,0 INT 10H DEC DX CMP DX,100 JNZ LOP2 MOV CX,50 MOV DX,100 LOP3: MOV AH,0CH MOV AL,0AH MOV BH,0 INT 10H INC CX CMP CX,100 JNZ LOP3 MOV CX,100 MOV DX,100 LOP4: MOV AH,0CH

15、MOV AL,0AH MOV BH,0 INT 10H INC DX CMP DX,200 JNZ LOP4 MOV CX,150 ;第二个矩形 MOV DX,200 LOP5: MOV AH,0CH MOV AL,0CH MOV BH,0 INT 10H INC CX CMP CX,200 JNZ LOP5 MOV CX,150 MOV DX,200 LOP6: MOV AH,0CH MOV AL,0CH MOV BH,0 INT 10H DEC DX CMP DX,100 JNZ LOP6 MOV CX,150 MOV DX,100 LOP7: MOV AH,0CH MOV AL,0CH

16、MOV BH,0 INT 10H INC CX CMP CX,200 JNZ LOP7 MOV CX,200 MOV DX,100 LOP8: MOV AH,0CH MOV AL,0CH MOV BH,0 INT 10H INC DX CMP DX,200 JNZ LOP8 MOV CX,250 ; 第三个矩形 MOV DX,200 LOP9: MOV AH,0CH MOV AL,0EH MOV BH,0 INT 10H INC CX CMP CX,300 JNZ LOP9 MOV CX,250 MOV DX,200 LOP10: MOV AH,0CH MOV AL,0EH MOV BH,0

17、INT 10H DEC DX CMP DX,100 JNZ LOP10 MOV CX,250 MOV DX,100 LOP11: MOV AH,0CH MOV AL,0EH MOV BH,0 INT 10H INC CX CMP CX,300 JNZ LOP11 MOV CX,300 MOV DX,100 LOP12: MOV AH,0CH MOV AL,0EH MOV BH,0 INT 10H INC DX CMP DX,200 JNZ LOP12 MOV CX,350 ;第四个矩形 MOV DX,200 LOP13: MOV AH,0CH MOV AL,0FH MOV BH,0 INT 1

18、0H INC CX CMP CX,400 JNZ LOP13 MOV CX,350 MOV DX,200 LOP14: MOV AH,0CH MOV AL,0FH MOV BH,0 INT 10H DEC DX CMP DX,100 JNZ LOP14 MOV CX,350 MOV DX,100 LOP15: MOV AH,0CH MOV AL,0FH MOV BH,0 INT 10H INC CX CMP CX,400 JNZ LOP15 MOV CX,400 MOV DX,100 LOP16: MOV AH,0CH MOV AL,0FH MOV BH,0 INT 10H INC DX CM

19、P DX,200 JNZ LOP16 RET JUXING ENDP 画矩形程序流程图和三角形程序流程图一样如下图所示:开始设置坐标点 变换坐标写像素判断CX Y结束 N 图4-3 画矩形程序流程图4.4画圆子程序分析画圆子程序分析:画圆的程序有好几种算法,我选择了比较简洁的Bresenham算法画圆,Bresenham算法是计算机图形学领域使用最广泛的直线扫描转换方法。 其原理是: 过各行、各列像素中心构造一组虚拟网格线,按直线从起点到终点的 顺序计算直线各垂直网格线的交点,然后确定该列像素中与此交点最近 的像素。 该算法的优点在于可以采用增量计算,使得对于每一列,只要检查一个误差项的符号,

20、就可以确定该列所求的像素。Bresenham算法画圆程序如下: HYUAN PROC NEAR MOV AX,DATAS MOV DS,AX MOV AX,STACKS MOV SS,AX MOV SP,100H MOV AH,0FH INT 10H MOV XS,AL MOV YH,BH MOV AX,12H INT 10H MOV AX,500H INT 10H MOV AX,4 MOV BX,50 MOV CX,320 MOV DX,320 CALL YUAN MOV DX,OFFSET PAKTQ MOV AH,9 INT 21H MOV AH,7 INT 21H MOV AL,XS

21、MOV AH,0 INT 10H MOV AL,YH MOV AH,5 INT 10H MOV AH,4CH INT 21H YUAN: PUSH AX PUSH BX PUSH CX PUSH DX MOV COLOR,AX MOV RR,BX MOV RX,CX MOV RY,DX MOV YY,BX HY: CALL HD MOV AX,XX CMP AX,YY JNB YUANOVER XOR DX,DX MOV AX,XX INC AX MUL AX SHL AX,1 RCL DX,1 MOV ZG,DX MOV ZD,AX XOR DX,DX MOV AX,YY MUL AX SH

22、L AX,1 RCL DX,1 ADD AX,1 ADC DX,0 ADD ZD,AX ADC ZG,DX XOR DX,DX MOV AX,RR MUL AX SHL AX,1 RCL DX,1 MOV YD,AX MOV YG,DX XOR DX,DX MOV AX,YY MOV BX,2 MUL BX ADD YD,AX ADC YG,DX MOV AX,ZG CMP AX,YG JA Y_1 JB Y_0 MOV AX,ZD CMP AX,YD JB Y_0 Y_1: DEC YY Y_0: INC XX JMP HY YUANOVER: POP DX POP CX POP BX PO

23、P AX RET HD: PUSH AX PUSH BX PUSH CX PUSH DX MOV CX,8 MOV SI,OFFSET X8 MOV DI,OFFSET Y8 MOV BX,RX MOV DX,RY D8D: MOV SI,BX MOV DI,DX ADD SI,2 ADD DI,2 LOOP D8D MOV CX,XX MOV DX,YY ADD SI-16,CX ADD DI-16,DX ADD SI-14,CX SUB DI-14,DX SUB SI-12,CX ADD DI-12,DX SUB SI-10,CX SUB DI-10,DX ADD SI-8,DX ADD

24、DI-8,CX ADD SI-6,DX SUB DI-6,CX SUB SI-4,DX ADD DI-4,CX SUB SI-2,DX SUB DI-2,CX MOV CX,8 H8D: PUSH CX SUB SI,2 SUB DI,2 MOV AX,COLOR MOV AH,0CH MOV BH,0 MOV DX,DI MOV CX,SI INT 10H POP CX LOOP H8D POP DX POP CX POP BX POP AX RET HYUAN ENDP画矩形程序流程图和三角形程序流程图一样如下图所示:开始建立虚拟网格找最近像素点 变换坐标写像素判断CX 结束 图4-4画圆

25、程序流程图 5调试记录及结果分析5.1调试记录程序代码写好之后,我进行了大量调试工作,首先是把子程序通过主函数连接在一起,运行程序后,生成了exe文件,但是无法得出结果,跳出对话框显示“系统不支持全屏显示”,于是在网上查了之后发现在win7下DOS不支持全屏显示,如下图:图5-1 调试错误截图通过同学的帮助,最终找到了解决办法,利用一个叫DOSBOX的软件能在win7的环境下运行汇编该exe文件,但在运行时需要用到几句调用指令。指令如下MOUNT C D:C:文件名.EXE此外在程序编写过程中也遇到了一些小问题,跳转设置不正确,使程序无法按预定的步骤跳转,在主程序中条件跳转JZ和无条件跳转JM

26、P的运用没有用对,最终通过几次调试,找到了正确的排放顺序。5.2 结果分析程序调试正确后按不同的字母有不同的显示,实现了题目所要求的功能。按S后程序运行后结果显示如下图:图5-2-1 四个矩形按T后程序运行结果显示如下图:图5-2-2 三个三角形按C后程序运行结果显示如下图:图5-2-3 一个圆形体会通过几天的努力,我完成了这次微机原理课程设计,其中遇到了很多问题,最难得应该是如何画圆我通过上网查资料最终找到了解决办法,利用Bresenham算法画出了圆,其次是无法运行的问题,通过同学的帮助的利用DOSBOX软件解决了该问题,在课程设计中,我把程序分为两个大步骤进行,首先是分别完成画三角形,画

27、矩形,画圆的功能,实现模块化功能,然后再通过子程序调用将程序连接起来并调试实现我们想要的功能。在课程设计中,用到了很多在课堂上没有涉及并学习的相关知识,如很多中断功能号的作用及相关寄存器的设置,颜色的搭配等,本次课程设计中我主要用到了10H中断,16H中断,21H中断,它们都有很多功能号,且不同的功能号实现不同的功能,所以我们必须查阅很多资料,借此我们可以学到了一些新的东西,如INT 10H的06H号克用来作清屏功能,21H中断的01H可以用来扫描键盘输入,在设置像素点颜色是只需在10H中断的0C 号功能下设置BH寄存器即可等。 通过课程设计,让我认识到汇编语言和其他高级语言的不同点,汇编语言

28、晦涩难懂但运行效率很高,高级语言虽然容易编写但相对汇编语言效率较低,通过这次课程设计让我对微机原理课程上讲到的各种部分的功能,以及子程序的调用有了实际运用的机会,还提高了自己的动手能力和运用汇编语言的编程能力,对我以后走上工作岗位很有帮助,加强了专业技能。参考文献1 马妮编著.80X86汇编语言程序设计.机械工业出版社,20092 齐志儒、高福祥编著汇编语言程序设计.东北大学出版社,20003 姚燕南、薛钧义编著微型计算机原理与接口技术.北京:高等教育出版社,20044 王爽编著汇编语言(第二版).清华大学出版社,20085 蓝琚成编著Windows环境下汇编语言程序设计.地质出版社,2006

29、 沈美明、温冬婵编著IBMPC汇编语言程序设计(第二版).清华大学出版社,2005年附录1总程序代码清单:DATAS SEGMENT XS DB ? YH DB ? COLOR DW 0 RR DW 0 RX DW 0 RY DW 0 XX DW 0 YY DW 0 ZD DW 0 ZG DW 0 YD DW 0 YG DW 0 X8 DW 8 DUP (0) Y8 DW 8 DUP (0) PAKTQ DB PRESS ANY KEY TO QUIT!$ DATAS ENDS STACKS SEGMENT DB 100H DUP (0) STACKS ENDS CODES SEGMENT A

30、SSUME CS:CODES,DS:DATAS,SS:STACKS MAIN PROC FAR MOV AX,DATAS MOV DS,AX L1: MOV AH,1 INT 21H CMP AL,S JZ P1 CMP AL,T JZ P2 CMP AL,C JZ P3 CMP AL,Q JZ EXIT JMP L1 P1: CALL JUXING ;调用画矩形的子程序 JMP L1 P2: CALL SANJIAO ;调用画三角形的子程序 JMP L1 P3: CALL HYUAN ;调用画圆的子程序 JMP L1 EXIT: MOV AX,4C00H ;退出子程序 INT 21H MAI

31、N ENDP HYUAN PROC NEAR ;画圆 MOV AX,DATAS MOV DS,AX MOV AX,STACKS MOV SS,AX MOV SP,100H MOV AH,0FH INT 10H MOV XS,AL MOV YH,BH MOV AX,12H INT 10H MOV AX,500H INT 10H MOV AX,4 MOV BX,50 MOV CX,320 MOV DX,320 CALL YUAN MOV DX,OFFSET PAKTQ MOV AH,9 INT 21H MOV AH,7 INT 21H MOV AL,XS MOV AH,0 INT 10H MOV

32、AL,YH MOV AH,5 INT 10H MOV AH,4CH INT 21H YUAN: PUSH AX PUSH BX PUSH CX PUSH DX MOV COLOR,AX MOV RR,BX MOV RX,CX MOV RY,DX MOV YY,BX HY: CALL HD MOV AX,XX CMP AX,YY JNB YUANOVER XOR DX,DX MOV AX,XX INC AX MUL AX SHL AX,1 RCL DX,1 MOV ZG,DX MOV ZD,AX XOR DX,DX MOV AX,YY MUL AX SHL AX,1 RCL DX,1 ADD A

33、X,1 ADC DX,0 ADD ZD,AX ADC ZG,DX XOR DX,DX MOV AX,RR MUL AX SHL AX,1 RCL DX,1 MOV YD,AX MOV YG,DX XOR DX,DX MOV AX,YY MOV BX,2 MUL BX ADD YD,AX ADC YG,DX MOV AX,ZG CMP AX,YG JA Y_1 JB Y_0 MOV AX,ZD CMP AX,YD JB Y_0 Y_1: DEC YY Y_0: INC XX JMP HY YUANOVER: POP DX POP CX POP BX POP AX RET HD: PUSH AX

34、PUSH BX PUSH CX PUSH DX MOV CX,8 MOV SI,OFFSET X8 MOV DI,OFFSET Y8 MOV BX,RX MOV DX,RY D8D: MOV SI,BX MOV DI,DX ADD SI,2 ADD DI,2 LOOP D8D MOV CX,XX MOV DX,YY ADD SI-16,CX ADD DI-16,DX ADD SI-14,CX SUB DI-14,DX SUB SI-12,CX ADD DI-12,DX SUB SI-10,CX SUB DI-10,DX ADD SI-8,DX ADD DI-8,CX ADD SI-6,DX S

35、UB DI-6,CX SUB SI-4,DX ADD DI-4,CX SUB SI-2,DX SUB DI-2,CX MOV CX,8 H8D: PUSH CX SUB SI,2 SUB DI,2 MOV AX,COLOR MOV AH,0CH MOV BH,0 MOV DX,DI MOV CX,SI INT 10H POP CX LOOP H8D POP DX POP CX POP BX POP AX RET HYUAN ENDP SANJIAO PROC NEAR ;画三角形 MOV AH,0 ;设置显示模式 MOV AL,12H INT 10H MOV CX,100 ;从坐标(100,2

36、00)处画第一个 MOV DX,200 三角形水平线 LOP1: MOV AH,0CH MOV AL,0AH MOV BH,0 INT 10H INC CX CMP CX,200 ;线长为100 JNZ LOP1 MOV CX,100 ;从坐标(100,200)处画第一个 MOV DX,200 LOP2: MOV AH,0CH MOV AL,0AH MOV BH,0 INT 10H DEC DX CMP DX,100 ;线长为100 JNZ LOP2 MOV CX,100 ;从坐标(100,100)处画第一个 MOV DX,100 三角形斜线 LOP3: MOV AH,0CH MOV AL,0

37、AH MOV BH,0 INT 10H INC CX INC DX CMP DX,200 JNZ LOP3 MOV CX,300 ;画第二个三角形,画法和的个三角形一样 MOV DX,200 关键在于找准坐标 LOP4: MOV AH,0CH MOV AL,0CH MOV BH,0 INT 10H INC CX CMP CX,400 JNZ LOP4 MOV CX,300 MOV DX,200 LOP5: MOV AH,0CH MOV AL,0CH MOV BH,0 INT 10H DEC DX CMP DX,100 JNZ LOP5 MOV CX,300 MOV DX,100 LOP6: M

38、OV AH,0CH MOV AL,0CH MOV BH,0 INT 10H INC CX INC DX CMP DX,200 JNZ LOP6 MOV CX,500 ;画第三个三角形 MOV DX,200 LOP7: MOV AH,0CH MOV AL,0EH MOV BH,0 INT 10H INC CX CMP CX,600 JNZ LOP7 MOV CX,500 MOV DX,200 LOP8: MOV AH,0CH MOV AL,0EH MOV BH,0 INT 10H DEC DX CMP DX,100 JNZ LOP8 MOV CX,500 MOV DX,100 LOP9: MOV

39、 AH,0CH MOV AL,0EH MOV BH,0 INT 10H INC CX INC DX CMP DX,200 JNZ LOP9 RET SANJIAO ENDP JUXING PROC FAR ;画矩形 MOV AH,0 MOV AL,12H INT 10H MOV CX,50 ;第一个矩形 MOV DX,200 LOP1: MOV AH,0CH MOV AL,0AH MOV BH,0 INT 10H INC CX CMP CX,100 JNZ LOP1 MOV CX,50 MOV DX,200 LOP2: MOV AH,0CH MOV AL,0AH MOV BH,0 INT 10H DEC DX CMP DX,100 JNZ LOP2 MOV CX,50 MOV DX,100 LOP3: MOV AH,0CH MOV AL,0AH MOV BH,0 INT 10H INC CX CMP CX,100 JNZ LOP3 MOV CX,100 MOV DX,100 LOP4: MOV AH,0CH MOV AL,0AH MO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论