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

📄 serial_init.s

📁 阿基米德操作系统的源代码
💻 S
字号:

///////////////////////////////////////////////////////////////////////////////

COM_RDR		=	0x3F8
COM_THR		=	0x3F8
COM_IER		=	0x3F9
COM_BRDL	=	0x3F8
COM_BRDH	=	0x3F9
COM_IIR		=	0x3FA
COM_FCR		=	0x3FA
COM_LCR		=	0x3FB
COM_MCR		=	0x3FC
COM_LSR		=	0x3FD
COM_MSR		=	0x3FE

.globl serial_init

.align 4
serial_init:
	pushl	%edx
	pushl	%eax

	movw	$COM_MCR, %dx
	movb	$0x00, %al
	outb	%al, %dx

	movw	$COM_LCR, %dx
	movb	$0x9f, %al
	outb	%al, %dx

	movw	$COM_BRDL, %dx
	movw	serial_BAUD, %ax
	outb	%al, %dx

	movw	$COM_BRDH, %dx
	movb	%ah, %al
	outb	%al, %dx

	movw	$COM_LCR, %dx
	movb	$0x1f, %al
	outb	%al, %dx

	movw	$COM_RDR, %dx
	inb		%dx, %al

	movw	$COM_LSR, %dx
	inb		%dx, %al

	movw	$COM_LSR, %dx
	movb	$0x60, %al
	outb	%al, %dx

	movw	$COM_MSR, %dx
	inb		%dx, %al

	movw	$COM_MSR, %dx
	movb	$0x00, %al
	outb	%al, %dx

	movw	$COM_IER, %dx
	movb	$0x07, %al
	outb	%al, %dx

	movw	$COM_IIR, %dx
	inb		%dx, %al
	inb		%dx, %al
	inb		%dx, %al

	movw	$COM_MCR, %dx
	movb	$0x08, %al
	outb	%al, %dx

	popl	%eax
	popl	%edx

	ret

///////////////////////////////////////////////////////////////////////////////


⌨️ 快捷键说明

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