⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arcmode.s

📁 十七种模拟器源代码 非常有用的作课程设计不可缺少的
💻 S
字号:
#include "asmdefs.inc"CODE_SEG//code for programming the VGA card//reads in array vgaregs320x240 and setups the registers//MACROS for the different register types//CRTC registers#define MCRTC ; \	movb %bl,%ah; \	lodsb; \	xchgb	%ah,%al; \	outw %ax,%dx; \	incb	%bl;//'general' registers#define MGEN ; \	movb	%bl,%ah; \	lodsb; \	xchg	%ah,%al; \	outw	%ax,%dx;//Attribute registers#define MATTR ; \	movw	$0x3da,%dx; \	inb		%dx,%al; \	movw	$0x3c0,%dx; \	movb	%bl,%al; \	orb		$32,%al; \	outb	%al,%dx; \	lodsb; \	outb	%al,%dx;FUNC(setarcademode)	pushl	%eax	pushl	%ebx	pushl	%ecx	pushl	%edx	pushl	%edi	pushl	%esi	cld//get our array	leal	GLOBL(vgaregs320x240),%ecx//first things first//clear the protection on the VGA regs	movw	$0x3d4,%dx	movb	$0x11,%al	outb	%al,%dx	incw	%dx	inb		%dx,%al	andb	$127,%al	movb	%al,%ah	decw	%dx	movb	$0x11,%al	outw	%ax,%dx//load up the array of values	movl	%ecx,%esi//then set the registers//3c2 misc. output registers	lodsb	movw	$0x3c2,%dx	outb 	%al,%dx//3d4 the CRTC registers	movw	$0x3d4,%dx	movl	$10,%ecx	xorw 	%bx,%bx1:	MCRTC	loop	1b	movl	$8,%ecx	movb	$0x10,%bl2:	MCRTC	loop	2b//3c4 the sequencer registers	movw	$0x3c4,%dx	movb	$1,%bl	MGEN	movb	$4,%bl	MGEN//3ce - graphics controller registers	movw	$0x3ce,%dx	movb	$5,%bl	MGEN	movb	$6,%bl	MGEN//3c0 - attribute address registers	movb	$0x10,%bl	MATTR	movb	$0x13,%bl	MATTR	popl	%esi	popl	%edi	popl	%edx	popl	%ecx	popl	%ebx	popl	%eax	ret

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -