




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武汉理工大学微机原理与接口技术课程设计说明书课程设计任务书学生姓名: 专业班级: 自动化1004班 指导教师: 工作单位: 自动化学院 题 目: 图形变换程序设计 初始条件:掌握8086汇编语言程序设计方法,设计一个图形变换显示程序。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1. 程序运行后,键盘输入不同进行不同处理:(1)输入Q或q,显示Thank You ,the game is over!并结束程序;(2)输入A,显示由16个*构成的菱形图案每隔1秒变换颜色(红绿黄),;输入B,显示10个*构成的五角星图案每隔2秒变换颜色(同上);输入C,显示25
2、个*构成的菱形图案每隔3秒变换颜色(同上);输入D,显示12个*构成的三角形图案每隔2秒变换颜色;输入E,显示一个每隔1用红绿黄三种颜色填充且带有边框的矩形图案;输入F,显示一个每隔1秒用红绿黄三种颜色填充的圆形图案。2. 撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。时间安排:2012年12月 30日- 12月31日 查阅资料及方案设计2013年01月 01日- 01月05日 编程2013年01月06 日- 01月08
3、日 调试程序2013年01月09 日- 01月10日 撰写课程设计报告指导教师签名: 2013 年 01 月 11 日系主任(或责任教师)签名: 年 月 日目 录摘 要11 总体方案论证21.1题目功能分析21.2 算法说明22 流程图设计及说明32.1主程序流程32.2. 分布功能程序42.2.1 图形A,B,C,D42.2.2 图形E,F53 延时子程序134 输入字符检验145 程序运行结果155.1输入字符A155.2输入字符B155.3输入字符C155.4输入字符D165.5输入字符E165.6输入字符F16总结体会17附录:完整程序18参考文献281本科生课程设计成绩评定表28摘
4、要汇编语言的显示输出包括文字文本的输出和图形的输出,此次的课程设计既包括文字文本的输出,也包括了图形的输出。而显示输出主要是通过DOS的10号调用来控制。首先,在论文的最初根据题意画出该程序的总流程图。根据总流程图将程序分解为了三个部分:对键盘输入符号的检验程序,各个图形的形成程序,延时子程序。对于键盘输入符号的检验属于分支程序,采用字符比较的方式选取相应的图形入口程序。图形的形成原理随图形的不同而改变:由“*”产生的图形主要是通过控制空格和换行号数进行控制;而长方形的形成则主要是通过DOS调用绘制直线而成;而对于圆形则通过扫描像素的方法作图;而颜色的变换主要是通过修改输出字符图形的颜色属性以
5、及结合延时控制程序来完成。延时子程序则采用了循环嵌套的方式通过改变内外两层的循环次数做到精确地控制。关键词: DOS调用 循环嵌套 扫描像素1 总体方案论证1.1题目功能分析(1)检验输入字符Q或q显示Thank You ,the game is over!并结束程序;(2)输入字符A则显示由16个*构成的菱形图案每隔1秒变换颜色(红绿黄);输入字符B,显示10个*构成的五角星图案每隔2秒变换颜色(同上);输入C,显示25个*构成的菱形图案每隔3秒变换颜色(同上);输入D,显示12个*构成的三角形图案每隔2秒变换颜色;输入E,显示一个每隔1用红绿黄三种颜色填充且带有边框的矩形图案;输入F,显示
6、一个每隔1秒用红绿黄三种颜色填充的圆形图案。 1.2 算法说明(1) 调用DOS的字符输入功能并检验字符通过设置字符输出格式以及像素的输出规则控制图形的输出(2) 调用DOS的10号功能修改输出字符的颜色属性,并同时调用延时子程序实现颜色的变化。2流程图设计及说明2.1主程序流程开始初始化段检验键盘输入Q或q输入A?显示A输入B?输入C?显示B显示C输入F?输入E?输入D?显示D显示E显示F显示结束语句结束 YNN Y NYNYN Y N Y Y 图2-1 主程序流程图显然,从图中可以看出:主程序包含了顺序,分支,循环三种结构;程序只有在遇到Q和q的情形下才会结束。 2.2. 分布功能程序 2
7、.2.1 图形A,B,C,D(1)A,B,C,D各图案如图2-2所示。 图2-2 A,B,C,D各图案由图可以看出,对于A,B,C,D的图形是根据其空间的具体排布所确定的,通过控制每个*之间空格的数目以及换行数形成相应的图形(2)为形成A,B,C,D图形的存储代码:BUFF1 DB ' *',0AH,0DH,' * *',0AH,0DH,' * * * ',0AH,0DH,' * * * *',0AH,0DH,' * * * ',0AH,0DH,' * *',0AH,0DH,' *'
8、,0AH,0DH,'$' BUFF2 DB ' *',2 DUP(0AH),0DH,'* * * *',2 DUP(0AH),0DH,' * *',2 DUP(0AH),0DH,' *',2 DUP(0AH),0DH,' * *','$' BUFF3 DB ' *',0AH,0DH,' * *',0AH,0DH,' * *',0AH,0DH, ' * *',0AH,0DH,' * * * * *',
9、9;$' BUFF4 DB ' *',0AH,0DH,' * *',0AH,0DH,' * * *',0AH,0DH,' * * * *',0AH,0DH,'* * * * *',0AH,0DH,' * * * *',0AH,0DH,' * * *',0AH,0DH,' * *',0AH,0DH,' *','$' 2.2.2图形E,FE,F分别是长方形和圆形,属于图形变换程序设计此图形转换程序主要是运用写显存的方式去实现。可以实
10、现矩形和圆形的绘制及图形颜色变换。设计思想:(1)界面控制程序开始检验键盘输入字符,若输入“E”则进入画矩形子程序。键盘输入“F”进入画圆子程序(2)画圆通过写算法来确定圆边点的位置,利用写像素方式画出圆边点,用尽量多的点能较完整地表现出一个圆,再改变确定区域的背景颜色和调用延时子程序即可完成圆形的颜色变换。(3)算法首选确定圆心位置O(OX,OY),设置圆半径为Radius,圆边任一位置A(X,Y)可由圆心位置和圆半径及方向角(见下图2-3)确定。本程序首先设立大概连续的多个数值(本程序为90个)以确定SIN值及其相对应的COS值。A点位置可由以下表达式确定。 算法示意图如图2-
11、3所示。图2-3 算法示意图X=SIN*Radius+OXY=COS*Radius+OY由A点又可求出与其相关的其他点B,C,D.程序流程图如图2-4所示。图2-4 程序流程图(4)算法程序代码FIGURE_F PROC NEAR ;图形F变换子程序MOV AX,0A000H MOV ES,AX MOV AX,0012H INT 10H ;设置640*480*16图形模式 MOV AL,2 CALL SET_WRITE_MODE ;将写模式设为写模式2 again:MOV AX,BKCOLOR CALL CLEAR ;将背景清成白色 MOV AX,WORD PTR X PUSH AX MOV
12、AX,WORD PTR Y PUSH AX MOV AX,WORD PTR RADIUS PUSH AX CALL CIRCLE ;640*480*16模式下的画点函数PIXEL PROC PUSH BP PUSH BX PUSH CX PUSH DS MOV BP,SP MOV AX,80 MOV BX,WORD PTRBP+12 ;BX<=Y MUL BX ;(DX:AX)<=80*Y MOV BX,AX ; MOV AX,WORD PTRBP+14 ;AX<-X MOV CL,8 ; | | DIV CL ;AL<=商(X/8),AH<=余数(X%8) SP
13、-> | | MOV CL,AH ;CL<=AH | DS |<-BP MOV AH,0 ; | CX |<-BP+2 ADD BX,AX ;BX(OFFSET)<=80*Y+X/8 | BX |<-BP+4 MOV AL,80H ; | BP |<-BP+6 SHR AL,CL ;AL(MASK)<=(80H>>CL) |返回地址|<-BP+8 PUSH AX ; | COLOR |<-BP+10 MOV DX,3CEH ; | Y |<-BP+12 MOV AL,8 ; | X |<-BP+14 OUT D
14、X,AL ; | | MOV DX,3CFH ; PIXEL堆栈结构 POP AX OUT DX,AL MOV AL,ES:BX MOV AX,WORD PTRBP+10 ;AX<=COLOR MOV BYTE PTR ES:BX,AL POP DS POP CX POP BX POP BP RET 6 PIXEL ENDP ;清屏函数 CLEAR PROC NEAR MOV BX,0 CLR1: MOV ES:BX,AL INC BX CMP BX,9600H;80*480 JNB CLR2 JMP CLR1 CLR2: RET CLEAR ENDP;Bresenham算法实现的画圆函
15、数 CIRCLE PROC NEAR PUSH BP MOV BP,SP SUB SP,6 MOV WORD PTRBP-2,0 ;X<=0 | | MOV AX,WORD PTRBP+4 ; | | MOV WORD PTRBP-4,AX ;Y<=R SP-> | | MOV AX,0FFFEH ; | P |<-BP-6 IMUL WORD PTRBP+4 ;AX<=RADIUS*(-2) | Y |<-BP-4 ADD AX,3 ;AX<=3-2*RADIUS | X |<-BP-2 MOV WORD PTRBP-6,AX ;P=3-2*R
16、ADIUS | BP |<-BP C0: MOV AX,WORD PTRBP-2 ;AX<=X |返回地址|<-BP+2 CMP AX,WORD PTRBP-4 ;IF X<Y,JMP C00 | RADIUS |<-BP+4 JL C00 ; | YC |<-BP+6 JMP C3 ; | XC |<-BP+8 C00: PUSH WORD PTRBP+8 ; CIRCLE堆栈结构 PUSH WORD PTRBP+6 ; PUSH WORD PTRBP-2 PUSH WORD PTRBP-4 CALL CIRCLE_POINT CMP WORD PT
17、RBP-6,0 JGE C1 MOV AX,4 MUL WORD PTRBP-2 ADD AX,6 ADD AX,WORD PTRBP-6 MOV WORD PTRBP-6,AX JMP C2 C1: MOV AX,WORD PTRBP-2 SUB AX,WORD PTRBP-4 MOV BX,4 IMUL BX ADD AX,10 ADD AX,WORD PTRBP-6 MOV WORD PTRBP-6,AX DEC WORD PTRBP-4 C2: INC WORD PTRBP-2 JMP C0 C3: MOV AX,WORD PTRBP-2 CMP AX,WORD PTRBP-4 JNE
18、 C4 PUSH WORD PTRBP+8 PUSH WORD PTRBP+6 PUSH WORD PTRBP-2 PUSH WORD PTRBP-4 CALL CIRCLE_POINT C4: MOV SP,BP POP BP RET 6 CIRCLE ENDP (5)画矩形首先通过画直线画出一个矩形,再改变确定区域的背景颜色和调用延时子程序即可完成矩形框的颜色变换。长方形程序流程图如图2-5。图2-5 长方形程序流程图(6)程序代码FIGURE_E PROC NEAR PUSH CX PUSHF PUSH DS ;图形E长方形变换子程序 MOV AX,0 PUSH AX MOV AH,0
19、MOV AL,4 INT 10H MOV AH,0BH MOV BH,0 MOV BL,0FH INT 10H MOV AH,0BH MOV BH,1 MOV BL,0 INT 10H MOV DX,99 MOV CX,0 DRAW_U:MOV AH,0CH MOV AL,2 INT 10H DEC DX CMP DX,-1 JNZ DRAW_U INC DX DRAW_R: MOV AH,0CH MOV AL,2 INT 10H INC CX CMP CX,100 JNZ DRAW_R DEC CX DRAW_D:MOV AH,0CH MOV AL,2 INT 10H INC DX CMP
20、DX,100 JNZ DRAW_D DEC DX DRAW_L:MOV AH,0CH MOV AL,2 INT 10H DEC CX CMP CX,-1 JNZ DRAW_L POPF POP CX RETFIGURE_E ENDP3 延时子程序延时子程序原理:8080CPU执行每一条指令均需要一定的时间,因此可以采用循环嵌套的方式让程序始终只运行一条指令,控制循环的次数即可控制所延迟的时间了。延时程序:DELAY_1s PROC NEAR ;延时一秒子程序 RUZHAN MOV AX,0FFFHNEXT1: MOV CX,02FFHNEXT2: DEC AX JNE NEXT1 CHUZHA
21、N RETDELAY_1s ENDP程序中RUZHAN和CHUZHAN均为宏定义,外层循环控制数为0FFFH,内层循环控制数为02FFH,通过不同的数字搭配控制延迟时间4输入字符检验原理:主要是调用8号功能,通过比较指令和跳转指令确定所选择的分支:MOV AX,DATA MOV DS,AX MOV AH,08H INT 21H CMP AL,'q' JZ QUIT CMP AL,'Q' JZ QUIT CMP AL,'A' JZ FIGURE_A CMP AL,'B' JZ FIGURE_B CMP AL,'C'
22、JZ FIGURE_C CMP AL,'D' JZ FIGURE_D CMP AL,'E' JE XX CMP AL,'F' JE YY5 程序运行结果5.1输入字符A十“*”菱形显示如图5-1所示。当输入字母A后,每隔一秒(大约)菱形变换颜色。 图5-1 十“*”菱形显示5.2输入字符B通过连续两次调用延时程序,即可将延时扩大为两倍。图5-2 十“*”五角星显示5.3 输入字符C连续调用三次延时程序,即可延时三秒 图5-3 十二“*”三角形显示5.4输入字符D二十五“*”菱形显示如图5-4所示。间隔一秒变换颜色。图5-4 二十五“*”菱形显示5
23、.5输入字符E长方形显示如图5-5所示。 图5-5 长方形显示5.6输入字符F圆形变换显示如图2-6所示。图2-6 圆形变换显示总结体会此次微机课设考察的主要是DOS功能的调用,但同时涉及的范围非常的广,知识点也是非常的多。不仅包括程序设计的三大基本结构,还包括子程序的调用,显示输入输出的技巧,汇编指令的考察。将整个8086汇编程序设计所考查的范围都包含了。但是,这次课设,最大的体会是如何完成一个较大型的程序。对于稍微大一点的程序,仅仅从头写到尾是不合理的也是不现实的,因此在这次课设中,首先应对程序整体有一个总的认识,再将问题分解成一个个小的问题,这样同时也将程序分成块了。这样做,是学生们在编
24、写程序时始终有一个清晰的思路,非常有层次感。思维不会陷入混乱,这是值得体会的。当然,这样做也有一些问题:当分的块太多了,会导致变量的命名出现问题,可能出现不同的程序间变量名重叠,导致程序运行不正确。还有,过于分散的小块当汇总为完整的程序时,发现并不是非常的兼容,往往出现很多不对应的问题,这一次的课设中,当将一个个小程序结合在一起时,出现了很多意想不到的问题,调试经常出错。这是非常值得注意的总而言之,这次课设虽然不能说对学习这门课有多大的作用,但是,对于程序的理解确是贯穿始终的,而并不仅仅局限于是汇编编程。附录:完整程序RUZHAN MACRO ;宏定义 PUSH AXPUSH BXPUSH C
25、XPUSH DXPUSH SIPUSH DIENDMCHUZHAN MACRO ;宏定义POP DI POP SIPOP DXPOP CXPOP BXPOP AXENDM ;结束宏DATA SEGMENTBKCOLOR DW 15 X DW 280 Y DW 240 RADIUS DW 150 COLOR DW 02 MESSAGE DB 'Thangk You,the game is over!',0ah,0dh,'$'BUFF0 DB 04H,02H,0EHBUFF1 DB ' *',0AH,0DH,' * *',0AH,0D
26、H,' * * * ',0AH,0DH,' * * * *',0AH,0DH,' * * * ',0AH,0DH,' * *',0AH,0DH,' *',0AH,0DH,'$' LENGTH1 EQU $-BUFF1BUFF2 DB ' *',2 DUP(0AH),0DH,'* * * *',2 DUP(0AH),0DH,' * *',2 DUP(0AH),0DH,' *',2 DUP(0AH),0DH,' * *',&
27、#39;$' LENGTH2 EQU $-BUFF2BUFF3 DB ' *',0AH,0DH,' * *',0AH,0DH,' * *',0AH,0DH, ' * *',0AH,0DH,' * * * * *','$' LENGTH3 EQU $-BUFF3BUFF4 DB ' *',0AH,0DH,' * *',0AH,0DH,' * * *',0AH,0DH,' * * * *',0AH,0DH,'* * * *
28、*',0AH,0DH,' * * * *',0AH,0DH,' * * *',0AH,0DH,' * *',0AH,0DH,' *','$' LENGTH4 EQU $-BUFF4 DATA ENDSSTACK1 SEGMENT PARA STACK 'STACK' DB 200 DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START: ;键盘输入检查 MOV AX,DATA MOV DS,AX MOV AH,08
29、H INT 21H CMP AL,'q' JZ QUIT CMP AL,'Q' JZ QUIT CMP AL,'A' JZ FIGURE_A CMP AL,'B' JZ FIGURE_B CMP AL,'C' JZ FIGURE_C CMP AL,'D' JZ FIGURE_D CMP AL,'E' JE XX CMP AL,'F' JE YYQUIT : LEA DX,MESSAGE ;显示提示信息并结束程序 MOV AH,09H INT 21H MOV AH,4C
30、H INT 21HXX: CALL FIGURE_EYY: CALL FIGURE_F DELAY_1s PROC NEAR ;延时一秒子程序 RUZHAN MOV AX,0FFFHNEXT1: MOV CX,0FFFHNEXT2: DEC AX JNE NEXT1 CHUZHAN RETDELAY_1s ENDPFIGURE_A: FIGURE_A: MOV AL,3 ;图形A变换 MOV AH,0 INT 10H MOV BP,SEG BUFF1 MOV ES,BP MOV BP,OFFSET BUFF1 MOV CX,LENGTH1 MOV DX,0 MOV BL,04H MOV AL,
31、0 MOV AH,13H INT 10H CALL DELAY_1S MOV BL,02H MOV AL,0 MOV AH,13H INT 10H CALL DELAY_1S MOV BL,0EH MOV AL,0 MOV AH,13H INT 10H JMP STARTFIGURE_B: MOV AL,3 ;图形B变换 MOV AH,0 INT 10H MOV BP,SEG BUFF2 MOV ES,BP MOV BP,OFFSET BUFF2 MOV CX,LENGTH2 MOV DX,0 MOV BL,04H MOV AL,0 MOV AH,13H INT 10H CALL DELAY_
32、1S CALL DELAY_1S MOV BL,02H MOV AL,0 MOV AH,13H INT 10H CALL DELAY_1SCALL DELAY_1S MOV BL,0EH MOV AL,0 MOV AH,13H INT 10H JMP START FIGURE_C: MOV AL,3 ;图形C变换 MOV AH,0 INT 10H MOV BP,SEG BUFF3 MOV ES,BP MOV BP,OFFSET BUFF3 MOV CX,LENGTH3 MOV DX,0 MOV BL,04H MOV AL,0 MOV AH,13H INT 10H CALL DELAY_1SCA
33、LL DELAY_1S CALL DELAY_1S MOV BL,02H MOV AL,0 MOV AH,13H INT 10H CALL DELAY_1SCALL DELAY_1S CALL DELAY_1S MOV BL,0EH MOV AL,0 MOV AH,13H INT 10H JMP STARTFIGURE_D: MOV AL,3 ;图形D变换 MOV AH,0 INT 10H MOV BP,SEG BUFF4 MOV ES,BP MOV BP,OFFSET BUFF4 MOV CX,LENGTH4 MOV DX,0 MOV BL,04H MOV AL,0 MOV AH,13H I
34、NT 10H CALL DELAY_1S CALL DELAY_1S MOV BL,02H MOV AL,0 MOV AH,13H INT 10H CALL DELAY_1SCALL DELAY_1S MOV BL,0EH MOV AL,0 MOV AH,13H INT 10H JMP STARTFIGURE_E PROC NEAR PUSH CX PUSHF PUSH DS ;图形E长方形变换子程序 MOV AX,0 PUSH AX MOV AH,0 MOV AL,4 INT 10H MOV AH,0BH MOV BH,0 MOV BL,0FH INT 10H MOV AH,0BH MOV
35、BH,1 MOV BL,0 INT 10H MOV DX,99 MOV CX,0 DRAW_U:MOV AH,0CH MOV AL,2 INT 10H DEC DX CMP DX,-1 JNZ DRAW_U INC DX DRAW_R: MOV AH,0CH MOV AL,2 INT 10H INC CX CMP CX,100 JNZ DRAW_R DEC CX DRAW_D:MOV AH,0CH MOV AL,2 INT 10H INC DX CMP DX,100 JNZ DRAW_D DEC DX DRAW_L:MOV AH,0CH MOV AL,2 INT 10H DEC CX CMP
36、CX,-1 JNZ DRAW_L POPF POP CX RETFIGURE_E ENDPFIGURE_F PROC NEAR ;图形F变换子程序MOV AX,0A000H MOV ES,AX MOV AX,0012H INT 10H ;设置640*480*16图形模式 MOV AL,2 CALL SET_WRITE_MODE ;将写模式设为写模式2 again:MOV AX,BKCOLOR CALL CLEAR ;将背景清成白色 MOV AX,WORD PTR X PUSH AX MOV AX,WORD PTR Y PUSH AX MOV AX,WORD PTR RADIUS PUSH AX
37、 CALL CIRCLE ;640*480*16模式下的画点函数PIXEL PROC PUSH BP PUSH BX PUSH CX PUSH DS MOV BP,SP MOV AX,80 MOV BX,WORD PTRBP+12 ;BX<=Y MUL BX ;(DX:AX)<=80*Y MOV BX,AX ; MOV AX,WORD PTRBP+14 ;AX<-X MOV CL,8 ; | | DIV CL ;AL<=商(X/8),AH<=余数(X%8) SP-> | | MOV CL,AH ;CL<=AH | DS |<-BP MOV AH,
38、0 ; | CX |<-BP+2 ADD BX,AX ;BX(OFFSET)<=80*Y+X/8 | BX |<-BP+4 MOV AL,80H ; | BP |<-BP+6 SHR AL,CL ;AL(MASK)<=(80H>>CL) |返回地址|<-BP+8 PUSH AX ; | COLOR |<-BP+10 MOV DX,3CEH ; | Y |<-BP+12 MOV AL,8 ; | X |<-BP+14 OUT DX,AL ; | | MOV DX,3CFH ; PIXEL堆栈结构 POP AX OUT DX,AL
39、MOV AL,ES:BX MOV AX,WORD PTRBP+10 ;AX<=COLOR MOV BYTE PTR ES:BX,AL POP DS POP CX POP BX POP BP RET 6 PIXEL ENDP ;清屏函数 CLEAR PROC NEAR MOV BX,0 CLR1: MOV ES:BX,AL INC BX CMP BX,9600H;80*480 JNB CLR2 JMP CLR1 CLR2: RET CLEAR ENDP;Bresenham算法实现的画圆函数 CIRCLE PROC NEAR PUSH BP MOV BP,SP SUB SP,6 MOV WO
40、RD PTRBP-2,0 ;X<=0 | | MOV AX,WORD PTRBP+4 ; | | MOV WORD PTRBP-4,AX ;Y<=R SP-> | | MOV AX,0FFFEH ; | P |<-BP-6 IMUL WORD PTRBP+4 ;AX<=RADIUS*(-2) | Y |<-BP-4 ADD AX,3 ;AX<=3-2*RADIUS | X |<-BP-2 MOV WORD PTRBP-6,AX ;P=3-2*RADIUS | BP |<-BP C0: MOV AX,WORD PTRBP-2 ;AX<=
41、X |返回地址|<-BP+2 CMP AX,WORD PTRBP-4 ;IF X<Y,JMP C00 | RADIUS |<-BP+4 JL C00 ; | YC |<-BP+6 JMP C3 ; | XC |<-BP+8 C00: PUSH WORD PTRBP+8 ; CIRCLE堆栈结构 PUSH WORD PTRBP+6 ; PUSH WORD PTRBP-2 PUSH WORD PTRBP-4 CALL CIRCLE_POINT CMP WORD PTRBP-6,0 JGE C1 MOV AX,4 MUL WORD PTRBP-2 ADD AX,6 AD
42、D AX,WORD PTRBP-6 MOV WORD PTRBP-6,AX JMP C2 C1: MOV AX,WORD PTRBP-2 SUB AX,WORD PTRBP-4 MOV BX,4 IMUL BX ADD AX,10 ADD AX,WORD PTRBP-6 MOV WORD PTRBP-6,AX DEC WORD PTRBP-4 C2: INC WORD PTRBP-2 JMP C0 C3: MOV AX,WORD PTRBP-2 CMP AX,WORD PTRBP-4 JNE C4 PUSH WORD PTRBP+8 PUSH WORD PTRBP+6 PUSH WORD PT
43、RBP-2 PUSH WORD PTRBP-4 CALL CIRCLE_POINT C4: MOV SP,BP POP BP RET 6 CIRCLE ENDP CIRCLE_POINT PROC NEAR PUSH BP MOV BP,SP SUB SP,16 MOV AX,WORD PTRBP+10 ; ADD AX,WORD PTRBP+6 ; MOV WORD PTRBP-2,AX ;XC+X MOV AX,WORD PTRBP+10 ; SUB AX,WORD PTRBP+6 ; MOV WORD PTRBP-4,AX ;XC-X MOV AX,WORD PTRBP+10 ; | | ADD AX,WORD PTRBP+4 ; | | MOV WORD PTRBP-6,AX ;XC+Y | | MOV AX,WORD PTRBP+10 ; SP-> | | SUB AX,WORD PTRBP+4 ; | YC-Y |<-BP-16 MOV WORD PTRBP-8,AX ;XC-Y | YC+Y |<-BP-14 MOV AX,WORD PTRBP+8 ; | YC-X |<-BP-12 ADD AX,WORD PTRBP+6 ; | YC+X |<-BP-10 MOV WORD PTR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025内蒙古气象部门招聘70人考前自测高频考点模拟试题(含答案详解)
- 2025广东佛山市顺德区公办中小学招聘教师92人(编制)考前自测高频考点模拟试题及1套完整答案详解
- 2025北京顺义区北务镇卫生院招聘编外人员3人模拟试卷附答案详解(典型题)
- 2025贵州金沙县国有资本投资运营集团有限公司招聘经理层高级管理人员(财务总监)1人考前自测高频考点模拟试题及一套参考答案详解
- 2025年春季广东华兴银行校园招聘考前自测高频考点模拟试题及答案详解(网校专用)
- 2025吉林白山抚松县招聘高中教师9人模拟试卷及答案详解(名校卷)
- 2025年宣城宁国市人民医院招聘医疗卫生人才15人模拟试卷(含答案详解)
- 2025呼伦贝尔扎兰屯市社会福利中心护理员招聘模拟试卷及一套答案详解
- 2025年上海复旦大学附属浦东实验学校教师招聘模拟试卷及答案详解1套
- 2025广西百色市凌云县新活力劳务有限责任公司工作人员招聘8人考前自测高频考点模拟试题有完整答案详解
- 箱变应急预案与响应方案
- 肿瘤患者家庭肠内营养护理
- 《拒绝沉迷手机远离“垃圾快乐”》班会课件
- 沉井顶管施工方案
- 锅炉设备更换技术方案
- 班次调度冲突解决
- 管理会计学 第10版 课件 第1、2章 管理会计概论、成本性态与变动成本法
- 领导科学之领导用人(经典)
- 大米先生管理制度
- 手术室仪器设备管理PPT
- 高中政治课程标准解读
评论
0/150
提交评论