用汇编语言控制颜色变化.doc_第1页
用汇编语言控制颜色变化.doc_第2页
用汇编语言控制颜色变化.doc_第3页
用汇编语言控制颜色变化.doc_第4页
用汇编语言控制颜色变化.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

下面是他的一些常用中断向量的入口值详解:(记住哦,很用的.呵呵) IBM PC 中断 int10 ooH 屏幕方式设置 入口:AH0,AL显示方式代码(06) 0:40*25 黑白 1:40*25 彩色 2:80*25 黑白 3:80*25 彩色文本 4:320*200 彩色 5:320*200 黑白 6:640*200 黑白图形模式 7:80*25 单色字符(单色显示器) 0BH 色彩设置 入口:AH0B,BL0 设背景色,BH015 BL1 设调色码,BH01 0CH 写图形点 入口:AH0C,CX:DX列号:行号,AL颜色 ODH 读图形点 入口:AH0D,CX:DX列号:行号 返回:AL颜色 0EH 在当前页、当前光标处写字符 入口:AH0E,AL字符的ASCII码,BL前景色 OFH 显示器状态 入口:AH0F 返回:AL当前显示器方式,AH屏幕列数,BH当前页号 01H 光标设置 入口:AH1,CH光标起始行号(000C),CL光标结束行号(000C) 注:CH CL 02H 光标定位 入口:AH2,BH页号,DH:DL起始行:列 03H 读光标位置 入口:AH3,BH页号。 返回:DH:DL起始行:列 06H 窗口上卷 入品:AH6,AL窗口上卷行数,CH:CLDH:DL 窗口坐标 注:AL0 卷动整个窗口 07H 窗口下卷 入口:AH7,AL窗口下卷行数,CH:CLDH:DL 窗口坐标 08H 读当前光标处字符和属性 入口:AH8,BH页号。 返回:AH:AL字符的颜色:字符的ASCII码 注:颜色代码见下对照表 09H:在当前光标处写字符和属性 注:光标不下移 入口:AH9,BH页号,BL:AL字符的颜色:字符的ASCII码,CX重复次数 1 2 3 4 5 6 7 8 BL R G B I R G B 闪烁 字符底色 加亮 字符颜色;* ;A1:用汇编语言实现:通过键盘输入任意两点坐标, ;在屏幕上开一个窗口,并设定控制窗口的颜色,要求 ;屏幕呈现颜色的变化。(huangyujie) ;* datarea segment numdw 4 dup(?) mess1db 13,10,Enter win_ulr: $ mess2db 13,10,Enter win_ulc: $ mess3db 13,10,Enter win_lrr: $ mess4db 13,10,Enter win_lrc: $ merrordb 13,10,Enter number 1 to 8 to change color! $ win_high dw ? win_width dw ? colordb ? datarea ends ;* prognamsegment ;- mainprocfar assume cs:prognam,ds:datarea start: pushds subax,ax pushax mov ax,datarea movds,ax callinput movax,13h int10h movax,0a000h moves,ax cld callscreen_color movax, num4 subax,num0 addax,1 movwin_high,ax movax, num6 subax,num2 addax,1 movwin_width,ax movcolor,00h change: mov al,color calldraw_win movah,8h int 21h cmpal,20h jenext movcolor,al cmpal, 1bh ;ESC_key jeexit jmpchange next:addcolor,1 jmpchange exit: movax,3 int10h ret mainendp ;- inputprocnear movsi,0 get_char: cmpsi,0 jzx1 cmpsi,2 jzy1 cmpsi,4 jzx2 cmpsi,6 jzy2 x1:leadx,mess1 jmpenter y1:leadx,mess2 jmpenter x2: leadx,mess3 jmpenter y2:leadx,mess4 jmpenter enter: movah,09h int21h calldecibin cmpdl,13 jestore addsi,2 cmpsi,8 jnzget_char store: movnumsi,bx addsi,2 cmpsi,8 jnzget_char ret inputendp ;- decibinprocnear movbx,0 newchar: movah,1 int21h movdl,al subal,30h cmpal,0 jlexit1 cmpal,9d jgexit1 cbw xchgax,bx movcx,10d mulcx xchgax,bx addbx,ax jmpnewchar exit1: ret decibinendp ;- draw_winprocnear movcx,num2 movsi, num0 pushax movax,320 mulsi movdi,ax adddi,cx popax pushdi movbx,win_high ;r2-r1+1 win1: movcx,win_width ;c2-c1+1 repstosb popdi adddi,320 pushdi decbx jnzwin1 popdi ret draw_win endp ;- screen_color proc near movch,0 movcl,0h movdh,0h movbx,0h movax,1010h movdl,64 prog: int10h incch incbx decdl jnzprog movdi,0 moval,3fh callband ret screen_col

温馨提示

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

评论

0/150

提交评论