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

📄 vputstr.cod

📁 汇编源代码大全4
💻 COD
字号:
;	Static Name Aliases
;
	TITLE   vputstr
;	NAME    vputstr.C

	.287
_TEXT	SEGMENT  BYTE PUBLIC 'CODE'
_TEXT	ENDS
_DATA	SEGMENT  WORD PUBLIC 'DATA'
_DATA	ENDS
CONST	SEGMENT  WORD PUBLIC 'CONST'
CONST	ENDS
_BSS	SEGMENT  WORD PUBLIC 'BSS'
_BSS	ENDS
DGROUP	GROUP	CONST,	_BSS,	_DATA
	ASSUME  CS: _TEXT, DS: DGROUP, SS: DGROUP, ES: DGROUP
EXTRN	_vidmode:NEAR
EXTRN	_inp:NEAR
EXTRN	__chkstk:NEAR
_TEXT      SEGMENT
; Line 6
	PUBLIC	_vputstr
_vputstr	PROC NEAR
	*** 000000	55 			push	bp
	*** 000001	8b ec 			mov	bp,sp
	*** 000003	b8 06 00 		mov	ax,6
	*** 000006	e8 00 00 		call	__chkstk
	*** 000009	56 			push	si
; Line 9
;	row = 4
;	col = 6
;	str = 8
;	attr = 12
;	retrace = 14
;	register si = c
;	scr_ofs = -6
; Line 13
	*** 00000a	e8 00 00 		call	_vidmode
	*** 00000d	3d 07 00 		cmp	ax,7
	*** 000010	75 20 			jne	$I18
; Line 14
; Line 15
	*** 000012	b8 a0 00 		mov	ax,160
	*** 000015	f7 6e 04 		imul	WORD PTR [bp+4]	;row
	*** 000018	8b 4e 06 		mov	cx,[bp+6]	;col
	*** 00001b	d1 e1 			shl	cx,1
	*** 00001d	03 c1 			add	ax,cx
	*** 00001f	80 c4 00 		add	ah,0
	*** 000022	ba 00 b0 		mov	dx,-20480
	*** 000025	89 46 fa 		mov	[bp-6],ax	;scr_ofs
	*** 000028	89 56 fc 		mov	[bp-4],dx
; Line 16
	*** 00002b	c7 46 0e 00 00 		mov	WORD PTR [bp+14],0	;retrace
; Line 17
; Line 18
	*** 000030	eb 66 			jmp	SHORT $L20001
					$I18:
; Line 19
; Line 20
	*** 000032	e8 00 00 		call	_vidmode
	*** 000035	3d 02 00 		cmp	ax,2
	*** 000038	75 04 			jne	$I20
; Line 21
	*** 00003a	80 4e 0c 07 		or	BYTE PTR [bp+12],7	;attr
; Line 22
					$I20:
	*** 00003e	b8 a0 00 		mov	ax,160
	*** 000041	f7 6e 04 		imul	WORD PTR [bp+4]	;row
	*** 000044	8b 4e 06 		mov	cx,[bp+6]	;col
	*** 000047	d1 e1 			shl	cx,1
	*** 000049	03 c1 			add	ax,cx
	*** 00004b	80 c4 00 		add	ah,0
	*** 00004e	ba 00 b8 		mov	dx,-18432
	*** 000051	89 46 fa 		mov	[bp-6],ax	;scr_ofs
	*** 000054	89 56 fc 		mov	[bp-4],dx
; Line 23
; Line 25
	*** 000057	eb 3f 			jmp	SHORT $L20001
					$WC21:
; Line 26
; Line 27
	*** 000059	8b 76 0c 		mov	si,[bp+12]	;attr
	*** 00005c	b1 08 			mov	cl,8
	*** 00005e	d3 e6 			shl	si,cl
	*** 000060	c4 5e 08 		les	bx,[bp+8]	;str
	*** 000063	ff 46 08 		inc	WORD PTR [bp+8]	;str
	*** 000066	26 8a 07 		mov	al,es:[bx]
	*** 000069	98 			cbw	
	*** 00006a	0b f0 			or	si,ax
; Line 29
	*** 00006c	83 7e 0e 00 		cmp	WORD PTR [bp+14],0	;retrace
	*** 000070	74 1c 			je	$I23
; Line 30
; Line 31
					$WC25:
	*** 000072	b8 da 03 		mov	ax,986
	*** 000075	50 			push	ax
	*** 000076	e8 00 00 		call	_inp
	*** 000079	83 c4 02 		add	sp,2
	*** 00007c	a8 01 			test	al,1
	*** 00007e	75 f2 			jne	$WC25
; Line 32
					$WC27:
	*** 000080	b8 da 03 		mov	ax,986
	*** 000083	50 			push	ax
	*** 000084	e8 00 00 		call	_inp
	*** 000087	83 c4 02 		add	sp,2
	*** 00008a	a8 01 			test	al,1
	*** 00008c	74 f2 			je	$WC27
; Line 33
; Line 35
					$I23:
	*** 00008e	c4 5e fa 		les	bx,[bp-6]	;scr_ofs
	*** 000091	83 46 fa 02 		add	WORD PTR [bp-6],2	;scr_ofs
	*** 000095	26 89 37 		mov	es:[bx],si
; Line 36
					$L20001:
	*** 000098	c4 5e 08 		les	bx,[bp+8]	;str
	*** 00009b	26 80 3f 00 		cmp	BYTE PTR es:[bx],0
	*** 00009f	75 b8 			jne	$WC21
; Line 37
	*** 0000a1	5e 			pop	si
	*** 0000a2	8b e5 			mov	sp,bp
	*** 0000a4	5d 			pop	bp
	*** 0000a5	c3 			ret	

_vputstr	ENDP
_TEXT	ENDS
END

⌨️ 快捷键说明

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