庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>程序设计>汇编语言>相关源码>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

汇编的的各类源码--CLR

 作者:本站收集   日期:2005-8-1 15:39:21
字号选择〖 〗/ 双击滚屏 单击停止   
	PAGE   60,132
;  CLR.ASM   05/29/84
;  Subroutine called by a basic program to scroll a window.
;
;
DGROUP	GROUP	DATASEG
DATASEG SEGMENT PARA PUBLIC 'DATA'
FUNCT	DW	0		;function 1=6,0=7
FG_COLR DW	0		;forground color
BG_COLR DW	0		;backround color
LINES	DW	0		;number of lines to scroll or 0 for clear
ULROW	DW	0		;upper left row
ULCOL	DW	0		;upper left column
LRROW	DW	0		;lower right row
LRCOL	DW	0		;lower left column
ATTRIB	DB	0		;temp hold for attribute byte
CALNU	DB	0		;temp hold for call function 6 or 7
DATASEG ENDS
;
CSEG	SEGMENT 'CODE'
	ASSUME	CS:CSEG
	PUBLIC CLR
CLR	PROC	FAR
	PUSH	BP		;BP unknown (don't care)
	MOV	BP,SP		;set base for parm list
	PUSH	DS		;DS -> basic work area
	PUSH	ES		;ES -> basic work area
	MOV	AX,DATASEG	;establish data addressability
	MOV	DS,AX		;now DS -> my data
	ASSUME	DS:DATASEG
;
;
	MOV	SI,SS:[BP+6]   ;get addr of parameter
	MOV	AX,ES:[SI]	;get value of parm
	MOV	FUNCT,AX
	MOV	SI,SS:[BP+8]   ;get addr of parameter
	MOV	AX,ES:[SI]	;get value of parm
	MOV	BG_COLR,AX
	MOV	SI,SS:[BP+10]	;get addr of parameter
	MOV	AX,ES:[SI]	;get value of parm
	MOV	FG_COLR,AX
	MOV	SI,SS:[BP+12]	;get addr of parameter
	MOV	AX,ES:[SI]	;get value of parm
	MOV	LINES,AX
	MOV	SI,SS:[BP+14]	;get addr of parameter
	MOV	AX,ES:[SI]	;get value of parm
	MOV	ULROW,AX
	MOV	SI,SS:[BP+16]	;get addr of parameter
	MOV	AX,ES:[SI]	;get value of parm
	MOV	ULCOL,AX
	MOV	SI,SS:[BP+18]	 ;get addr of parameter
	MOV	AX,ES:[SI]	;get value of parm
	MOV	LRROW,AX
	MOV	SI,SS:[BP+20]	 ;get addr of parameter
	MOV	AX,ES:[SI]	;get value of parm
	MOV	LRCOL,AX
;
	MOV	AX,1
	SUB	LRROW,AX	;convert 1-80 cols
	SUB	LRCOL,AX	; and 1-25 rows into
	SUB	ULROW,AX	; 0-79 cols and
	SUB	ULCOL,AX	; 0-24 rows
;
;  change forground & backround colors into single attribute byte
;
	MOV	BX,FG_COLR	;move foreground color to bx
	MOV	AL,BL		;move lower byte to al
	MOV	BX,BG_COLR	;move backround color to bx
	MOV	AH,BL		;move lower byte to ah
	CMP	AL,15		;check for color > 15 ie blinking
	JG	BLNK		;if > 15 then set blink bit
	AND	AL,15		;set normal fg color
	JMP	N_BLNK		;
BLNK:	OR	AL,128		;set blink bit 7
	AND	AL,143		;zero out bit 6,5,4 used for backround
N_BLNK: AND	AH,7		;zero out bit 7,6,5,4,3 used for forground
	MOV	CL,4		;4 bit shift count
	SHL	AH,CL		;shift right 3 bits to pos 6,5,4
	OR	AL,AH		;combine for & back to form attribute byte
	MOV	ATTRIB,AL	;move it to STORAGE

;
;   convert 1 and 0 to 6 and 7 for routine call
;
	MOV	BX,FUNCT	;move function into bx
	CMP	BL,0		;compare to one
	JG	F6		;if 1 then function is 6
	MOV	AH,7H		;set function 7
	JMP	OUT1		;jump around
F6:	MOV	AH,6H		;set function 6
OUT1:	MOV	CALNU,AH	;move it to storage
;
;
;  set up for bios rom call 10 function 6 (scroll up )
;
	PUSH	BX
	MOV	BX,LINES	;set # of lines to scroll or 0 to clear
	MOV	AL,BL		;put in pass register
	MOV	BX,ULROW	;set upper left row of block 0-24
	MOV	CH,BL		;put in pass register
	MOV	BX,ULCOL	;set upper left column of block 0-79
	MOV	CL,BL		;put in pass register
	MOV	BX,LRROW	;set lower right row of block 0-24
	MOV	DH,BL		;put in pass register
	MOV	BX,LRCOL	;set lower right column of block 0-79
	MOV	DL,BL		;put in pass register
	MOV	BL,CALNU	;set call number 6 to scroll up 7 down
	MOV	AH,BL		;put in pass register
	MOV	BL,ATTRIB	;set color attribute byte
	MOV	BH,BL		;put in pass register
	INT	10H		; make bios call
	POP	BX
;
FINISH: POP	ES
	POP	DS
	POP	BP
	RET	16		;return to basic
CLR	ENDP
CSEG	ENDS
	END

上一篇:汇编的的各类源码--COBLOAD    下一篇:汇编的的各类源码--CLOCK  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-8-1 15:39:21
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿