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

📄 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 = 10
;	retrace = 12
;	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 0c 00 00 		mov	WORD PTR [bp+12],0	;retrace
; Line 17
; Line 18
	*** 000030	eb 59 			jmp	SHORT $L20001
					$I18:
; Line 19
	*** 000032	b8 a0 00 		mov	ax,160
	*** 000035	f7 6e 04 		imul	WORD PTR [bp+4]	;row
	*** 000038	8b 4e 06 		mov	cx,[bp+6]	;col
	*** 00003b	d1 e1 			shl	cx,1
	*** 00003d	03 c1 			add	ax,cx
	*** 00003f	80 c4 00 		add	ah,0
	*** 000042	ba 00 b8 		mov	dx,-18432
	*** 000045	89 46 fa 		mov	[bp-6],ax	;scr_ofs
	*** 000048	89 56 fc 		mov	[bp-4],dx
; Line 21
	*** 00004b	eb 3e 			jmp	SHORT $L20001
					$WC20:
; Line 22
; Line 23
	*** 00004d	8b 76 0a 		mov	si,[bp+10]	;attr
	*** 000050	b1 08 			mov	cl,8
	*** 000052	d3 e6 			shl	si,cl
	*** 000054	8b 5e 08 		mov	bx,[bp+8]	;str
	*** 000057	ff 46 08 		inc	WORD PTR [bp+8]	;str
	*** 00005a	8a 07 			mov	al,[bx]
	*** 00005c	98 			cbw	
	*** 00005d	0b f0 			or	si,ax
; Line 25
	*** 00005f	83 7e 0c 00 		cmp	WORD PTR [bp+12],0	;retrace
	*** 000063	74 1c 			je	$I22
; Line 26
; Line 27
					$WC24:
	*** 000065	b8 da 03 		mov	ax,986
	*** 000068	50 			push	ax
	*** 000069	e8 00 00 		call	_inp
	*** 00006c	83 c4 02 		add	sp,2
	*** 00006f	a8 01 			test	al,1
	*** 000071	75 f2 			jne	$WC24
; Line 28
					$WC26:
	*** 000073	b8 da 03 		mov	ax,986
	*** 000076	50 			push	ax
	*** 000077	e8 00 00 		call	_inp
	*** 00007a	83 c4 02 		add	sp,2
	*** 00007d	a8 01 			test	al,1
	*** 00007f	74 f2 			je	$WC26
; Line 29
; Line 31
					$I22:
	*** 000081	c4 5e fa 		les	bx,[bp-6]	;scr_ofs
	*** 000084	83 46 fa 02 		add	WORD PTR [bp-6],2	;scr_ofs
	*** 000088	26 89 37 		mov	es:[bx],si
; Line 32
					$L20001:
	*** 00008b	8b 5e 08 		mov	bx,[bp+8]	;str
	*** 00008e	80 3f 00 		cmp	BYTE PTR [bx],0
	*** 000091	75 ba 			jne	$WC20
; Line 33
	*** 000093	5e 			pop	si
	*** 000094	8b e5 			mov	sp,bp
	*** 000096	5d 			pop	bp
	*** 000097	c3 			ret	

_vputstr	ENDP
_TEXT	ENDS
END

⌨️ 快捷键说明

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