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

📄 vputbox.cod

📁 汇编源代码大全4
💻 COD
字号:
;	Static Name Aliases
;
	TITLE   vputbox
;	NAME    vputbox.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	_vputn:NEAR
EXTRN	_vidmode:NEAR
EXTRN	_vput:NEAR
EXTRN	__chkstk:NEAR
_TEXT      SEGMENT
; Line 16
	PUBLIC	_vputbox
_vputbox	PROC NEAR
	*** 000000	55 			push	bp
	*** 000001	8b ec 			mov	bp,sp
	*** 000003	b8 10 00 		mov	ax,16
	*** 000006	e8 00 00 		call	__chkstk
	*** 000009	56 			push	si
; Line 17
;	row = 4
;	col = 6
;	width = 8
;	height = 10
;	attr = 12
;	battr = 14
;	retrace = 16
;	frame = 18
;	register si = c
;	scr_ofs = -8
;	vstart = -12
;	iwid = -2
;	iht = -16
;	i = -14
; Line 22
	*** 00000a	8b 46 08 		mov	ax,[bp+8]	;width
	*** 00000d	2d 02 00 		sub	ax,2
	*** 000010	89 46 fe 		mov	[bp-2],ax	;iwid
; Line 23
	*** 000013	8b 46 0a 		mov	ax,[bp+10]	;height
	*** 000016	2d 02 00 		sub	ax,2
	*** 000019	89 46 f0 		mov	[bp-16],ax	;iht
; Line 25
	*** 00001c	e8 00 00 		call	_vidmode
	*** 00001f	3d 07 00 		cmp	ax,7
	*** 000022	75 19 			jne	$I26
; Line 26
; Line 27
	*** 000024	b8 a0 00 		mov	ax,160
	*** 000027	f7 6e 04 		imul	WORD PTR [bp+4]	;row
	*** 00002a	80 c4 00 		add	ah,0
	*** 00002d	ba 00 b0 		mov	dx,-20480
	*** 000030	89 46 f4 		mov	[bp-12],ax	;vstart
	*** 000033	89 56 f6 		mov	[bp-10],dx
; Line 28
	*** 000036	c7 46 10 00 00 		mov	WORD PTR [bp+16],0	;retrace
; Line 29
; Line 30
	*** 00003b	eb 12 			jmp	SHORT $I27
					$I26:
; Line 31
	*** 00003d	b8 a0 00 		mov	ax,160
	*** 000040	f7 6e 04 		imul	WORD PTR [bp+4]	;row
	*** 000043	80 c4 00 		add	ah,0
	*** 000046	ba 00 b8 		mov	dx,-18432
	*** 000049	89 46 f4 		mov	[bp-12],ax	;vstart
	*** 00004c	89 56 f6 		mov	[bp-10],dx
					$I27:
; Line 33
	*** 00004f	8b 46 06 		mov	ax,[bp+6]	;col
	*** 000052	d1 e0 			shl	ax,1
	*** 000054	03 46 f4 		add	ax,[bp-12]	;vstart
	*** 000057	8b 56 f6 		mov	dx,[bp-10]
	*** 00005a	89 46 f8 		mov	[bp-8],ax	;scr_ofs
	*** 00005d	89 56 fa 		mov	[bp-6],dx
; Line 34
	*** 000060	c4 5e 12 		les	bx,[bp+18]	;frame
	*** 000063	26 8b 37 		mov	si,es:[bx]
	*** 000066	8b 46 0e 		mov	ax,[bp+14]	;battr
	*** 000069	b1 08 			mov	cl,8
	*** 00006b	d3 e0 			shl	ax,cl
	*** 00006d	0b f0 			or	si,ax
; Line 35
	*** 00006f	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 000072	56 			push	si
	*** 000073	52 			push	dx
	*** 000074	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 000077	83 46 f8 02 		add	WORD PTR [bp-8],2	;scr_ofs
	*** 00007b	e8 00 00 		call	_vput
	*** 00007e	83 c4 08 		add	sp,8
; Line 37
	*** 000081	c4 5e 12 		les	bx,[bp+18]	;frame
	*** 000084	26 8b 77 08 		mov	si,es:[bx+8]
	*** 000088	8b 46 0e 		mov	ax,[bp+14]	;battr
	*** 00008b	b1 08 			mov	cl,8
	*** 00008d	d3 e0 			shl	ax,cl
	*** 00008f	0b f0 			or	si,ax
; Line 38
	*** 000091	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 000094	ff 76 fe 		push	WORD PTR [bp-2]	;iwid
	*** 000097	56 			push	si
	*** 000098	ff 76 fa 		push	WORD PTR [bp-6]
	*** 00009b	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 00009e	e8 00 00 		call	_vputn
	*** 0000a1	83 c4 0a 		add	sp,10
	*** 0000a4	89 46 f8 		mov	[bp-8],ax	;scr_ofs
	*** 0000a7	89 56 fa 		mov	[bp-6],dx
; Line 40
	*** 0000aa	c4 5e 12 		les	bx,[bp+18]	;frame
	*** 0000ad	26 8b 77 02 		mov	si,es:[bx+2]
	*** 0000b1	8b 46 0e 		mov	ax,[bp+14]	;battr
	*** 0000b4	b1 08 			mov	cl,8
	*** 0000b6	d3 e0 			shl	ax,cl
	*** 0000b8	0b f0 			or	si,ax
; Line 41
	*** 0000ba	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 0000bd	56 			push	si
	*** 0000be	52 			push	dx
	*** 0000bf	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 0000c2	e8 00 00 		call	_vput
	*** 0000c5	83 c4 08 		add	sp,8
; Line 43
	*** 0000c8	8b 46 f0 		mov	ax,[bp-16]	;iht
	*** 0000cb	89 46 f2 		mov	[bp-14],ax	;i
; Line 44
	*** 0000ce	e9 82 00 		jmp	$L20001
					$WC29:
; Line 45
; Line 46
	*** 0000d1	81 46 f4 a0 00 		add	WORD PTR [bp-12],160	;vstart
; Line 47
	*** 0000d6	8b 46 06 		mov	ax,[bp+6]	;col
	*** 0000d9	d1 e0 			shl	ax,1
	*** 0000db	03 46 f4 		add	ax,[bp-12]	;vstart
	*** 0000de	8b 56 f6 		mov	dx,[bp-10]
	*** 0000e1	89 46 f8 		mov	[bp-8],ax	;scr_ofs
	*** 0000e4	89 56 fa 		mov	[bp-6],dx
; Line 49
	*** 0000e7	c4 5e 12 		les	bx,[bp+18]	;frame
	*** 0000ea	26 8b 77 0a 		mov	si,es:[bx+10]
	*** 0000ee	8b 46 0e 		mov	ax,[bp+14]	;battr
	*** 0000f1	b1 08 			mov	cl,8
	*** 0000f3	d3 e0 			shl	ax,cl
	*** 0000f5	0b f0 			or	si,ax
; Line 50
	*** 0000f7	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 0000fa	56 			push	si
	*** 0000fb	52 			push	dx
	*** 0000fc	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 0000ff	83 46 f8 02 		add	WORD PTR [bp-8],2	;scr_ofs
	*** 000103	e8 00 00 		call	_vput
	*** 000106	83 c4 08 		add	sp,8
; Line 52
	*** 000109	c4 5e 12 		les	bx,[bp+18]	;frame
	*** 00010c	26 8b 77 0c 		mov	si,es:[bx+12]
	*** 000110	8b 46 0c 		mov	ax,[bp+12]	;attr
	*** 000113	b1 08 			mov	cl,8
	*** 000115	d3 e0 			shl	ax,cl
	*** 000117	0b f0 			or	si,ax
; Line 53
	*** 000119	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 00011c	ff 76 fe 		push	WORD PTR [bp-2]	;iwid
	*** 00011f	56 			push	si
	*** 000120	ff 76 fa 		push	WORD PTR [bp-6]
	*** 000123	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 000126	e8 00 00 		call	_vputn
	*** 000129	83 c4 0a 		add	sp,10
	*** 00012c	89 46 f8 		mov	[bp-8],ax	;scr_ofs
	*** 00012f	89 56 fa 		mov	[bp-6],dx
; Line 55
	*** 000132	c4 5e 12 		les	bx,[bp+18]	;frame
	*** 000135	26 8b 77 0a 		mov	si,es:[bx+10]
	*** 000139	8b 46 0e 		mov	ax,[bp+14]	;battr
	*** 00013c	b1 08 			mov	cl,8
	*** 00013e	d3 e0 			shl	ax,cl
	*** 000140	0b f0 			or	si,ax
; Line 56
	*** 000142	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 000145	56 			push	si
	*** 000146	52 			push	dx
	*** 000147	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 00014a	e8 00 00 		call	_vput
	*** 00014d	83 c4 08 		add	sp,8
; Line 57
	*** 000150	ff 4e f2 		dec	WORD PTR [bp-14]	;i
; Line 58
					$L20001:
	*** 000153	83 7e f2 00 		cmp	WORD PTR [bp-14],0	;i
	*** 000157	74 03 			je	$JCC343
	*** 000159	e9 75 ff 		jmp	$WC29
					$JCC343:
; Line 59
	*** 00015c	81 46 f4 a0 00 		add	WORD PTR [bp-12],160	;vstart
; Line 60
	*** 000161	8b 46 06 		mov	ax,[bp+6]	;col
	*** 000164	d1 e0 			shl	ax,1
	*** 000166	03 46 f4 		add	ax,[bp-12]	;vstart
	*** 000169	8b 56 f6 		mov	dx,[bp-10]
	*** 00016c	89 46 f8 		mov	[bp-8],ax	;scr_ofs
	*** 00016f	89 56 fa 		mov	[bp-6],dx
; Line 61
	*** 000172	c4 5e 12 		les	bx,[bp+18]	;frame
	*** 000175	26 8b 77 04 		mov	si,es:[bx+4]
	*** 000179	8b 46 0e 		mov	ax,[bp+14]	;battr
	*** 00017c	b1 08 			mov	cl,8
	*** 00017e	d3 e0 			shl	ax,cl
	*** 000180	0b f0 			or	si,ax
; Line 62
	*** 000182	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 000185	56 			push	si
	*** 000186	52 			push	dx
	*** 000187	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 00018a	83 46 f8 02 		add	WORD PTR [bp-8],2	;scr_ofs
	*** 00018e	e8 00 00 		call	_vput
	*** 000191	83 c4 08 		add	sp,8
; Line 64
	*** 000194	c4 5e 12 		les	bx,[bp+18]	;frame
	*** 000197	26 8b 77 08 		mov	si,es:[bx+8]
	*** 00019b	8b 46 0e 		mov	ax,[bp+14]	;battr
	*** 00019e	b1 08 			mov	cl,8
	*** 0001a0	d3 e0 			shl	ax,cl
	*** 0001a2	0b f0 			or	si,ax
; Line 65
	*** 0001a4	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 0001a7	ff 76 fe 		push	WORD PTR [bp-2]	;iwid
	*** 0001aa	56 			push	si
	*** 0001ab	ff 76 fa 		push	WORD PTR [bp-6]
	*** 0001ae	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 0001b1	e8 00 00 		call	_vputn
	*** 0001b4	83 c4 0a 		add	sp,10
	*** 0001b7	89 46 f8 		mov	[bp-8],ax	;scr_ofs
	*** 0001ba	89 56 fa 		mov	[bp-6],dx
; Line 67
	*** 0001bd	c4 5e 12 		les	bx,[bp+18]	;frame
	*** 0001c0	26 8b 77 06 		mov	si,es:[bx+6]
	*** 0001c4	8b 46 0e 		mov	ax,[bp+14]	;battr
	*** 0001c7	b1 08 			mov	cl,8
	*** 0001c9	d3 e0 			shl	ax,cl
	*** 0001cb	0b f0 			or	si,ax
; Line 68
	*** 0001cd	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 0001d0	56 			push	si
	*** 0001d1	52 			push	dx
	*** 0001d2	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 0001d5	e8 00 00 		call	_vput
	*** 0001d8	83 c4 08 		add	sp,8
; Line 69
	*** 0001db	5e 			pop	si
	*** 0001dc	8b e5 			mov	sp,bp
	*** 0001de	5d 			pop	bp
	*** 0001df	c3 			ret	

_vputbox	ENDP
_TEXT	ENDS
END

⌨️ 快捷键说明

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