图形变换程序设计(2)

来源:网络收集 时间:2025-06-26 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

INT 10H

LEADX,ERRINFO ;存偏移地址到DX CALL CL_SCREEN

CALL DISPLAY ;调用显示子程序 ;检验键盘状态

MOVAH,0BH ;功能号,返回参数AL INT 21H CMPAL,0 JETMP

;键盘输入,无回显 MOVAH,07H ;功能号 INT 21H TMP:

JZCONTIUNE CHUZHAN RET

ERRORDISENDP

;---------------------------------------------------------- ;子程序,清屏

CL_SCREENPROCNEAR RUZHAN

MOVAH,7 ;卷屏功能号 MOVAL,0 ;初始化屏幕

MOVBH,7 ;卷入行属性,上此处为正常显示 MOVCH,0 ;左上角行号 MOVCL,0 ;左上角列号 MOVDH,24 ;右下角行号 MOVDL,79 ;右下角列号 INT 10H CHUZHAN RET

CL_SCREENENDP

;---------------------------------------------------------- ;子程序,画圆 CIRCLEPROCNEAR

RUZHAN ;调用宏,保存寄存器 CALL SCREEN ;调用屏幕子程序 MOV COUNT,90

MOVSI,OFFSETSINE+89*2 ;转化为用于设定COS函数值1到0 MOVDI,OFFSETSINE AGAIN:

CALL COMPUTE ;调用计算圆边像素点 CALL WRITE ;描圆边

SUBSI,2 ;SI与源操作数相减

ADDDI,2 ;DI与源操作数相加 DEC COUNT

JNZAGAIN ;标志符ZF不为0跳转 CHUZHAN ;调用宏,恢复寄存器 RET

CIRCLEENDP

;---------------------------------------------------------- ;子程序,设置屏幕 SCREENPROCNEAR MOVAX,12H ;显示方式 INT 10H ;调用BIOS中断 MOVAH,0BH ;置彩色调板

MOVBX,0 ;BH为彩色调色板ID,BL为ID配套使用的颜色 INT 10H RET

SCREENENDP

;---------------------------------------------------------- ;子程序,计算圆边像素点 COMPUTEPROCNEAR

MOVAX,[SI] ;地址SI所指向内容赋给AX,SI++依次得到所有圆边点 MULRADIUS ;目的操作数AX与源操作数RADIUS相乘,结果放AX DIVKK ;得到圆边像素点的列位置 MOVMM,AX

NEGAX ;将AX转化为二进制补码,以求相对应的像素点 MOVF_MM,AX ;补码形式的AX放入F_MM MOVAX,[DI] MULRADIUS

DIVKKMOV NN,AX NEGAX

MOVF_NN,AX RET

COMPUTEENDP

;---------------------------------------------------------- ;子程序,描点 WRITE PROC

MOVDX,F_MM ;对应像素列 ADDDX,OY

MOVCX,NN ;对应像素行 ADDCX,OX

CALL WR_DOT MOVCX,F_NN ADDCX,OX

CALL WR_DOT MOVDX,MM

ADDDX,OY

CALL WR_DOT MOVCX,NN ADDCX,OX

CALL WR_DOT RET

WRITE ENDP

;---------------------------------------------------------- ;子程序,写像素 WR_DOTPROC

MOVAH,0CH ;写像素功能号 MOVAL,COLOUR ;颜色值 MOVBH,0 ;页号 INT 10H RET

WR_DOTENDP

;---------------------------------------------------------- ;子程序,画三角形 TRIANGLEPROCNEAR RUZHAN ;保存寄存器

MOVBL,9 ;字符属性,暗蓝 GOON:

MOVCH,1 ;1代表走,0代表暂停 COLOR:

MOVAH,0BH ;检验键盘状态 INT 21H CMPAL,0 JNZAA CMPCH,1 JNZCOLOR ;置光标位置

MOVCX,1 ;显示字符个数 MOVAH,2 ;功能号 MOVBH,0 ;页号 MOVDH,6 ;行号 MOVDL,36 ;列号 INT 10H

HUATU:

MOVAH,2 ;置光标 INT 10H

;在光标位置显示字符和属性 MOVAH,9 ;功能号 MOVBH,0 ;显示页

MOVAL,2AH ;字符,'*' INT 10H

INCDH ;行数加1,DOS窗口向下画 DECDL ;列号减1,以便形成三角形

ADDCX,2 ;每画一行,显示字符数加2个 CMPCX,21 ;画完为止 JNZHUATU INCBL CMPBL,15 JNZGOON AA: MOVAH,7 INT 21H CMPAL,'Q' JNZ BB JMPEE BB: CMPCH,0 JZCC

MOVCH,0 JMPCOLOR

CC: MOVCH,1 JMPCOLOR

EE: CHUZHAN ;恢复寄存器 RET

TRIANGLEENDP

;---------------------------------------------------------- ;子程序,画矩形

RECTANGLEPROCNEAR RUZHAN ;保存寄存器 ;设置显示方式 ;MOVAH,0 ;MOVAL,12H ;INT 10H

;置光标初始位置 MOVCX,1 MOVAH,2 MOVBH,0 MOVDH,6 MOVDL,6 INT 10H

;光标右移,向右画 RIGHT:

MOVAH,2 ;置光标位置

INT 10H

MOVAH,9 ;功能号9,显示字符和属性 MOVAL,2AH ;字符,'*'

MOVBL,0FAH ;字符属性,背景为白,前景为红 ;MOVCX,6 INT 10H

INCDL ;列数增加 CMPDL,20

JNERIGHT ;当ZF为1时光标继续右移,为0时跳转 JMPDOWN ;光标下移,向下画 DOWN: MOVAH,2 INT 10H MOVAH,9 MOVAL,2AH MOVBL,0FAH ;MOVCX,6 INT 10H INCDH CMPDH,12 JNZDOWN JMPLEFT

;光标左移,向左画 LEFT: MOVAH,2 INT 10H MOVAH,9 MOVAL,2AH MOVBL,0FAH ;MOVCX,6 INT 10H DECDL CMPDL,6 JNZLEFT JMPUP

;光标上移,向上画 UP:

MOVAH,2 INT 10H MOVAH,9 MOVAL,2AH

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库图形变换程序设计(2)在线全文阅读。

图形变换程序设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/447375.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219