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

📄 iolib.s

📁 操作系统源代码
💻 S
字号:
! Some I/O related routines like:!	unsigned char inb(int port);!	unsigned short inw(int port);!	void outb(int port, int value);!	void outw(int port, int value);!	void rep_inb(int port, unsigned char *buf, size_t count);!	void rep_inw(int port, unsigned short *buf, size_t count);!	void rep_outb(int port, unsigned char *buf, size_t count);!	void rep_outw(int port, unsigned short *buf, size_t count);!	void intr_enable(void);!	void intr_disable(void);.text.define _inb_inb:	push	bp	mov	bp, sp	mov	dx, 4(bp)		! port	inb	dx			! read 1 byte	xorb	ah, ah	pop	bp	ret.define _inw_inw:	push	bp	mov	bp, sp	mov	dx, 4(bp)		! port	in	dx			! read 1 word	pop	bp	ret.define _outb_outb:	push	bp	mov	bp, sp	mov	dx, 4(bp)		! port	mov	ax, 4+2(bp)		! value	outb	dx			! output 1 byte	pop	bp	ret.define _outw_outw:	push	bp	mov	bp, sp	mov	dx, 4(bp)		! port	mov	ax, 4+2(bp)		! value	out	dx			! output 1 word	pop	bp	ret.define _rep_inb_rep_inb:	push	bp	mov	bp, sp	push	di	mov	dx, 4(bp)		! port	mov	di, 6(bp)		! buf	mov	cx, 8(bp)		! byte count    rep	inb	dx			! input many bytes	pop	di	pop	bp	ret.define _rep_inw_rep_inw:	push	bp	mov	bp, sp	push	di	mov	dx, 4(bp)		! port	mov	di, 6(bp)		! buf	mov	cx, 8(bp)		! byte count	shr	cx, #1			! word count    rep	in	dx			! input many words	pop	di	pop	bp	ret.define _rep_outb_rep_outb:	push	bp	mov	bp, sp	push	si	mov	dx, 4(bp)		! port	mov	si, 6(bp)		! buf	mov	cx, 8(bp)		! byte count    rep	outb	dx			! output many bytes	pop	si	pop	bp	ret.define _rep_outw_rep_outw:	push	bp	mov	bp, sp	push	si	mov	dx, 4(bp)		! port	mov	si, 6(bp)		! buf	mov	cx, 8(bp)		! byte count	shr	cx, #1			! word count    rep	out	dx			! output many words	pop	si	pop	bp	ret.define _intr_disable_intr_disable:	push	bp	mov	bp, sp	cli	pop	bp	ret.define _intr_enable_intr_enable:	push	bp	mov	bp, sp	sti	pop	bp	ret

⌨️ 快捷键说明

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