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

📄 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	8b 5e 12 		mov	bx,[bp+18]	;frame
	*** 000063	8b 37 			mov	si,[bx]
	*** 000065	8b 46 0e 		mov	ax,[bp+14]	;battr
	*** 000068	b1 08 			mov	cl,8
	*** 00006a	d3 e0 			shl	ax,cl
	*** 00006c	0b f0 			or	si,ax
; Line 35
	*** 00006e	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 000071	56 			push	si
	*** 000072	52 			push	dx
	*** 000073	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 000076	83 46 f8 02 		add	WORD PTR [bp-8],2	;scr_ofs
	*** 00007a	e8 00 00 		call	_vput
	*** 00007d	83 c4 08 		add	sp,8
; Line 37
	*** 000080	8b 5e 12 		mov	bx,[bp+18]	;frame
	*** 000083	8b 77 08 		mov	si,[bx+8]
	*** 000086	8b 46 0e 		mov	ax,[bp+14]	;battr
	*** 000089	b1 08 			mov	cl,8
	*** 00008b	d3 e0 			shl	ax,cl
	*** 00008d	0b f0 			or	si,ax
; Line 38
	*** 00008f	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 000092	ff 76 fe 		push	WORD PTR [bp-2]	;iwid
	*** 000095	56 			push	si
	*** 000096	ff 76 fa 		push	WORD PTR [bp-6]
	*** 000099	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 00009c	e8 00 00 		call	_vputn
	*** 00009f	83 c4 0a 		add	sp,10
	*** 0000a2	89 46 f8 		mov	[bp-8],ax	;scr_ofs
	*** 0000a5	89 56 fa 		mov	[bp-6],dx
; Line 40
	*** 0000a8	8b 5e 12 		mov	bx,[bp+18]	;frame
	*** 0000ab	8b 77 02 		mov	si,[bx+2]
	*** 0000ae	8b 46 0e 		mov	ax,[bp+14]	;battr
	*** 0000b1	b1 08 			mov	cl,8
	*** 0000b3	d3 e0 			shl	ax,cl
	*** 0000b5	0b f0 			or	si,ax
; Line 41
	*** 0000b7	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 0000ba	56 			push	si
	*** 0000bb	52 			push	dx
	*** 0000bc	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 0000bf	e8 00 00 		call	_vput
	*** 0000c2	83 c4 08 		add	sp,8
; Line 43
	*** 0000c5	8b 46 f0 		mov	ax,[bp-16]	;iht
	*** 0000c8	89 46 f2 		mov	[bp-14],ax	;i
; Line 44
	*** 0000cb	eb 7f 			jmp	SHORT $L20001
					$WC29:
; Line 45
; Line 46
	*** 0000cd	81 46 f4 a0 00 		add	WORD PTR [bp-12],160	;vstart
; Line 47
	*** 0000d2	8b 46 06 		mov	ax,[bp+6]	;col
	*** 0000d5	d1 e0 			shl	ax,1
	*** 0000d7	03 46 f4 		add	ax,[bp-12]	;vstart
	*** 0000da	8b 56 f6 		mov	dx,[bp-10]
	*** 0000dd	89 46 f8 		mov	[bp-8],ax	;scr_ofs
	*** 0000e0	89 56 fa 		mov	[bp-6],dx
; Line 49
	*** 0000e3	8b 5e 12 		mov	bx,[bp+18]	;frame
	*** 0000e6	8b 77 0a 		mov	si,[bx+10]
	*** 0000e9	8b 46 0e 		mov	ax,[bp+14]	;battr
	*** 0000ec	b1 08 			mov	cl,8
	*** 0000ee	d3 e0 			shl	ax,cl
	*** 0000f0	0b f0 			or	si,ax
; Line 50
	*** 0000f2	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 0000f5	56 			push	si
	*** 0000f6	52 			push	dx
	*** 0000f7	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 0000fa	83 46 f8 02 		add	WORD PTR [bp-8],2	;scr_ofs
	*** 0000fe	e8 00 00 		call	_vput
	*** 000101	83 c4 08 		add	sp,8
; Line 52
	*** 000104	8b 5e 12 		mov	bx,[bp+18]	;frame
	*** 000107	8b 77 0c 		mov	si,[bx+12]
	*** 00010a	8b 46 0c 		mov	ax,[bp+12]	;attr
	*** 00010d	b1 08 			mov	cl,8
	*** 00010f	d3 e0 			shl	ax,cl
	*** 000111	0b f0 			or	si,ax
; Line 53
	*** 000113	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 000116	ff 76 fe 		push	WORD PTR [bp-2]	;iwid
	*** 000119	56 			push	si
	*** 00011a	ff 76 fa 		push	WORD PTR [bp-6]
	*** 00011d	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 000120	e8 00 00 		call	_vputn
	*** 000123	83 c4 0a 		add	sp,10
	*** 000126	89 46 f8 		mov	[bp-8],ax	;scr_ofs
	*** 000129	89 56 fa 		mov	[bp-6],dx
; Line 55
	*** 00012c	8b 5e 12 		mov	bx,[bp+18]	;frame
	*** 00012f	8b 77 0a 		mov	si,[bx+10]
	*** 000132	8b 46 0e 		mov	ax,[bp+14]	;battr
	*** 000135	b1 08 			mov	cl,8
	*** 000137	d3 e0 			shl	ax,cl
	*** 000139	0b f0 			or	si,ax
; Line 56
	*** 00013b	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 00013e	56 			push	si
	*** 00013f	52 			push	dx
	*** 000140	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 000143	e8 00 00 		call	_vput
	*** 000146	83 c4 08 		add	sp,8
; Line 57
	*** 000149	ff 4e f2 		dec	WORD PTR [bp-14]	;i
; Line 58
					$L20001:
	*** 00014c	83 7e f2 00 		cmp	WORD PTR [bp-14],0	;i
	*** 000150	74 03 			je	$JCC336
	*** 000152	e9 78 ff 		jmp	$WC29
					$JCC336:
; Line 59
	*** 000155	81 46 f4 a0 00 		add	WORD PTR [bp-12],160	;vstart
; Line 60
	*** 00015a	8b 46 06 		mov	ax,[bp+6]	;col
	*** 00015d	d1 e0 			shl	ax,1
	*** 00015f	03 46 f4 		add	ax,[bp-12]	;vstart
	*** 000162	8b 56 f6 		mov	dx,[bp-10]
	*** 000165	89 46 f8 		mov	[bp-8],ax	;scr_ofs
	*** 000168	89 56 fa 		mov	[bp-6],dx
; Line 61
	*** 00016b	8b 5e 12 		mov	bx,[bp+18]	;frame
	*** 00016e	8b 77 04 		mov	si,[bx+4]
	*** 000171	8b 46 0e 		mov	ax,[bp+14]	;battr
	*** 000174	b1 08 			mov	cl,8
	*** 000176	d3 e0 			shl	ax,cl
	*** 000178	0b f0 			or	si,ax
; Line 62
	*** 00017a	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 00017d	56 			push	si
	*** 00017e	52 			push	dx
	*** 00017f	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 000182	83 46 f8 02 		add	WORD PTR [bp-8],2	;scr_ofs
	*** 000186	e8 00 00 		call	_vput
	*** 000189	83 c4 08 		add	sp,8
; Line 64
	*** 00018c	8b 5e 12 		mov	bx,[bp+18]	;frame
	*** 00018f	8b 77 08 		mov	si,[bx+8]
	*** 000192	8b 46 0e 		mov	ax,[bp+14]	;battr
	*** 000195	b1 08 			mov	cl,8
	*** 000197	d3 e0 			shl	ax,cl
	*** 000199	0b f0 			or	si,ax
; Line 65
	*** 00019b	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 00019e	ff 76 fe 		push	WORD PTR [bp-2]	;iwid
	*** 0001a1	56 			push	si
	*** 0001a2	ff 76 fa 		push	WORD PTR [bp-6]
	*** 0001a5	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 0001a8	e8 00 00 		call	_vputn
	*** 0001ab	83 c4 0a 		add	sp,10
	*** 0001ae	89 46 f8 		mov	[bp-8],ax	;scr_ofs
	*** 0001b1	89 56 fa 		mov	[bp-6],dx
; Line 67
	*** 0001b4	8b 5e 12 		mov	bx,[bp+18]	;frame
	*** 0001b7	8b 77 06 		mov	si,[bx+6]
	*** 0001ba	8b 46 0e 		mov	ax,[bp+14]	;battr
	*** 0001bd	b1 08 			mov	cl,8
	*** 0001bf	d3 e0 			shl	ax,cl
	*** 0001c1	0b f0 			or	si,ax
; Line 68
	*** 0001c3	ff 76 10 		push	WORD PTR [bp+16]	;retrace
	*** 0001c6	56 			push	si
	*** 0001c7	52 			push	dx
	*** 0001c8	ff 76 f8 		push	WORD PTR [bp-8]	;scr_ofs
	*** 0001cb	e8 00 00 		call	_vput
	*** 0001ce	83 c4 08 		add	sp,8
; Line 69
	*** 0001d1	5e 			pop	si
	*** 0001d2	8b e5 			mov	sp,bp
	*** 0001d4	5d 			pop	bp
	*** 0001d5	c3 			ret	

_vputbox	ENDP
_TEXT	ENDS
END

⌨️ 快捷键说明

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