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

📄 pscreen.cod

📁 汇编源代码大全4
💻 COD
字号:
;	Static Name Aliases
;
;	$S116_buffrecs	EQU	buffrecs
	TITLE   pscreen
;	NAME    pscreen.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	_inp:NEAR
EXTRN	__chkstk:NEAR
EXTRN	__fmalloc:NEAR
EXTRN	_vidmode:NEAR
_DATA      SEGMENT
$S116_buffrecs	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
_DATA      ENDS
_TEXT      SEGMENT
; Line 19
	PUBLIC	_pushscreen
_pushscreen	PROC NEAR
	*** 000000	55 			push	bp
	*** 000001	8b ec 			mov	bp,sp
	*** 000003	b8 0c 00 		mov	ax,12
	*** 000006	e8 00 00 		call	__chkstk
	*** 000009	57 			push	di
	*** 00000a	56 			push	si
; Line 20
;	buff = 4
;	retrace = 6
;	scr_ofs = -10
;	bp = -6
;	i = -12
;	register si = c
; Line 26
	*** 00000b	8b 7e 04 		mov	di,[bp+4]	;buff
	*** 00000e	b1 02 			mov	cl,2
	*** 000010	d3 e7 			shl	di,cl
	*** 000012	81 c7 00 00 		add	di,OFFSET DGROUP:$S116_buffrecs
	*** 000016	8b 05 			mov	ax,[di]
	*** 000018	0b 45 02 		or	ax,[di+2]
	*** 00001b	75 18 			jne	$I126
; Line 27
	*** 00001d	b8 a0 0f 		mov	ax,4000
	*** 000020	50 			push	ax
	*** 000021	e8 00 00 		call	__fmalloc
	*** 000024	83 c4 02 		add	sp,2
	*** 000027	89 05 			mov	[di],ax
	*** 000029	89 55 02 		mov	[di+2],dx
	*** 00002c	0b c2 			or	ax,dx
	*** 00002e	75 05 			jne	$I126
; Line 28
	*** 000030	2b c0 			sub	ax,ax
	*** 000032	e9 80 00 		jmp	$EX120
					$I126:
	*** 000035	8b 5e 04 		mov	bx,[bp+4]	;buff
	*** 000038	d1 e3 			shl	bx,1
	*** 00003a	d1 e3 			shl	bx,1
	*** 00003c	8b 87 00 00 		mov	ax,WORD PTR $S116_buffrecs[bx]
	*** 000040	8b 97 02 00 		mov	dx,WORD PTR $S116_buffrecs[bx+2]
	*** 000044	89 46 fa 		mov	[bp-6],ax	;bp
	*** 000047	89 56 fc 		mov	[bp-4],dx
; Line 31
	*** 00004a	e8 00 00 		call	_vidmode
	*** 00004d	3d 07 00 		cmp	ax,7
	*** 000050	75 11 			jne	$I128
; Line 32
; Line 33
	*** 000052	c7 46 f6 00 00 		mov	WORD PTR [bp-10],0	;scr_ofs
	*** 000057	c7 46 f8 00 b0 		mov	WORD PTR [bp-8],-20480
; Line 34
	*** 00005c	c7 46 06 00 00 		mov	WORD PTR [bp+6],0	;retrace
; Line 35
; Line 36
	*** 000061	eb 0a 			jmp	SHORT $I129
					$I128:
; Line 37
	*** 000063	c7 46 f6 00 00 		mov	WORD PTR [bp-10],0	;scr_ofs
	*** 000068	c7 46 f8 00 b8 		mov	WORD PTR [bp-8],-18432
					$I129:
; Line 39
	*** 00006d	c7 46 f4 00 00 		mov	WORD PTR [bp-12],0	;i
					$F130:
; Line 40
; Line 41
	*** 000072	c4 5e f6 		les	bx,[bp-10]	;scr_ofs
	*** 000075	83 46 f6 02 		add	WORD PTR [bp-10],2	;scr_ofs
	*** 000079	26 8b 37 		mov	si,es:[bx]
; Line 42
	*** 00007c	83 7e 06 00 		cmp	WORD PTR [bp+6],0	;retrace
	*** 000080	74 1c 			je	$I134
; Line 43
; Line 44
					$WC136:
	*** 000082	b8 da 03 		mov	ax,986
	*** 000085	50 			push	ax
	*** 000086	e8 00 00 		call	_inp
	*** 000089	83 c4 02 		add	sp,2
	*** 00008c	a8 01 			test	al,1
	*** 00008e	75 f2 			jne	$WC136
					$WB137:
; Line 45
	*** 000090	b8 da 03 		mov	ax,986
	*** 000093	50 			push	ax
	*** 000094	e8 00 00 		call	_inp
	*** 000097	83 c4 02 		add	sp,2
	*** 00009a	a8 01 			test	al,1
	*** 00009c	74 f2 			je	$WB137
; Line 46
; Line 47
					$I134:
	*** 00009e	c4 5e fa 		les	bx,[bp-6]	;bp
	*** 0000a1	83 46 fa 02 		add	WORD PTR [bp-6],2	;bp
	*** 0000a5	26 89 37 		mov	es:[bx],si
; Line 48
	*** 0000a8	ff 46 f4 		inc	WORD PTR [bp-12]	;i
	*** 0000ab	81 7e f4 d0 07 		cmp	WORD PTR [bp-12],2000	;i
	*** 0000b0	7c c0 			jl	$F130
; Line 50
	*** 0000b2	b8 01 00 		mov	ax,1
					$EX120:
	*** 0000b5	5e 			pop	si
	*** 0000b6	5f 			pop	di
	*** 0000b7	8b e5 			mov	sp,bp
	*** 0000b9	5d 			pop	bp
	*** 0000ba	c3 			ret	

_pushscreen	ENDP
; Line 54
	PUBLIC	_popscreen
_popscreen	PROC NEAR
	*** 0000bb	55 			push	bp
	*** 0000bc	8b ec 			mov	bp,sp
	*** 0000be	b8 0c 00 		mov	ax,12
	*** 0000c1	e8 00 00 		call	__chkstk
	*** 0000c4	56 			push	si
; Line 55
;	buff = 4
;	retrace = 6
;	scr_ofs = -10
;	bp = -6
;	i = -12
;	register si = c
; Line 61
	*** 0000c5	8b 5e 04 		mov	bx,[bp+4]	;buff
	*** 0000c8	d1 e3 			shl	bx,1
	*** 0000ca	d1 e3 			shl	bx,1
	*** 0000cc	8b 87 00 00 		mov	ax,WORD PTR $S116_buffrecs[bx]
	*** 0000d0	0b 87 02 00 		or	ax,WORD PTR $S116_buffrecs[bx+2]
	*** 0000d4	75 04 			jne	$I148
; Line 62
	*** 0000d6	2b c0 			sub	ax,ax
	*** 0000d8	eb 7e 			jmp	SHORT $EX143
					$I148:
	*** 0000da	8b 5e 04 		mov	bx,[bp+4]	;buff
	*** 0000dd	d1 e3 			shl	bx,1
	*** 0000df	d1 e3 			shl	bx,1
	*** 0000e1	8b 87 00 00 		mov	ax,WORD PTR $S116_buffrecs[bx]
	*** 0000e5	8b 97 02 00 		mov	dx,WORD PTR $S116_buffrecs[bx+2]
	*** 0000e9	89 46 fa 		mov	[bp-6],ax	;bp
	*** 0000ec	89 56 fc 		mov	[bp-4],dx
; Line 65
	*** 0000ef	e8 00 00 		call	_vidmode
	*** 0000f2	3d 07 00 		cmp	ax,7
	*** 0000f5	75 0f 			jne	$I149
; Line 66
; Line 67
	*** 0000f7	c7 46 f6 00 00 		mov	WORD PTR [bp-10],0	;scr_ofs
	*** 0000fc	c7 46 f8 00 b0 		mov	WORD PTR [bp-8],-20480
; Line 68
	*** 000101	c7 46 06 00 00 		mov	WORD PTR [bp+6],0	;retrace
; Line 69
; Line 70
					$I149:
	*** 000106	c7 46 f6 00 00 		mov	WORD PTR [bp-10],0	;scr_ofs
	*** 00010b	c7 46 f8 00 b8 		mov	WORD PTR [bp-8],-18432
; Line 72
	*** 000110	c7 46 f4 00 00 		mov	WORD PTR [bp-12],0	;i
					$F150:
; Line 73
; Line 74
	*** 000115	c4 5e fa 		les	bx,[bp-6]	;bp
	*** 000118	83 46 fa 02 		add	WORD PTR [bp-6],2	;bp
	*** 00011c	26 8b 37 		mov	si,es:[bx]
; Line 75
	*** 00011f	83 7e 06 00 		cmp	WORD PTR [bp+6],0	;retrace
	*** 000123	74 1c 			je	$I154
; Line 76
; Line 77
					$WC155:
	*** 000125	b8 da 03 		mov	ax,986
	*** 000128	50 			push	ax
	*** 000129	e8 00 00 		call	_inp
	*** 00012c	83 c4 02 		add	sp,2
	*** 00012f	a8 01 			test	al,1
	*** 000131	75 f2 			jne	$WC155
					$WB156:
; Line 78
	*** 000133	b8 da 03 		mov	ax,986
	*** 000136	50 			push	ax
	*** 000137	e8 00 00 		call	_inp
	*** 00013a	83 c4 02 		add	sp,2
	*** 00013d	a8 01 			test	al,1
	*** 00013f	74 f2 			je	$WB156
; Line 79
; Line 80
					$I154:
	*** 000141	c4 5e f6 		les	bx,[bp-10]	;scr_ofs
	*** 000144	83 46 f6 02 		add	WORD PTR [bp-10],2	;scr_ofs
	*** 000148	26 89 37 		mov	es:[bx],si
; Line 81
	*** 00014b	ff 46 f4 		inc	WORD PTR [bp-12]	;i
	*** 00014e	81 7e f4 d0 07 		cmp	WORD PTR [bp-12],2000	;i
	*** 000153	7c c0 			jl	$F150
; Line 83
	*** 000155	b8 01 00 		mov	ax,1
					$EX143:
	*** 000158	5e 			pop	si
	*** 000159	8b e5 			mov	sp,bp
	*** 00015b	5d 			pop	bp
	*** 00015c	c3 			ret	

_popscreen	ENDP
_TEXT	ENDS
END

⌨️ 快捷键说明

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