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

📄 dosio.asm

📁 大量的汇编程序源代码
💻 ASM
字号:
	include	dos.inc

LineLen	=	132

	.model	small
	.code
	.data

	public	LineBuf

DosLineBuf	db	LineLen,0
LineBuf		db	LineLen dup(0)

DGroup	group	_TEXT,_DATA

	.code

	public	InBuf, OutCh, InCh, CrLf

InCh:
	DOS	InCharNoEcho
	ret

;Get input line

InBuf:
	mov	dx,offset DGroup:DosLineBuf	;Input buffer
	DOS	InputLine		;Get input line from console

;Convert unquoted input to upper case
	mov	si,offset DGroup:LineBuf
	mov	di,si
CaseChk:
	lodsb
	cmp	al,"a"
	jb	NoConv
	cmp	al,"z"
	ja	NoConv
	sub	al,"a"-"A"		;Convert to upper case
NoConv:
	stosb				;Put it back where we got it
	cmp	al,13			;End of line?
	jz	InDone
	cmp	al,'"'
	jz	QuotScan
	cmp	al,"'"
	jnz	CaseChk
QuotScan:
	mov	ah,al			;Remember which quote mark
KillStr:
	lodsb
	stosb
	cmp	al,13
	jz	InDone
	cmp	al,ah
	jnz	KillStr
	jmp	CaseChk

InDone:
	mov	si,offset DGroup:LineBuf	;Set up SI for command processing

;Output CR/LF sequence

CrLf:
	mov	al,13
	call	OutCh
	mov	al,10

;Console output of character in AL

OutCh:
	push	ax		;Character to output on stack
	push	dx
	and	al,7FH
	mov	dl,al
	DOS	OutChar
	pop	dx
	pop	ax
	ret

end

⌨️ 快捷键说明

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