Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:26
                                                             Page     1-1


				;
				; memory routines
				;
				
				.list
				
				sBegin	code
 0000                        2	_TEXT segment 
				assumes cs,code
				
				cProc	Move,<PUBLIC>,<DS,SI,DI>
 0000                        2	Move label near 
				parmD	src
				parmD	dst
				parmW	count
				cBegin
 0000                        1		    _Move proc NEAR 
 0000  55                    1			push bp 
 0001  8B EC                 1			mov bp,sp 
 0003  56                    3	push si 
 0004  57                    3	push di 
 0005  1E                    3	push ds 
 0006  8B 4E 0C				mov	cx,count
 0009  E3 2D				jcxz	NoByte			; No ch
				aracters to move
 000B  C4 7E 08				les	di,dst			; grab 
				pointers
 000E  C5 76 04				lds	si,src
 0011  FC				cld
 0012  8C D8				mov	ax,ds
 0014  3B 46 0A				cmp	ax,Seg_dst
 0017  75 04				jnz	SimpleMove		; segme
				nts are NOT the same, no opt
 0019  3B F7				cmp	si,di			; is th
				e start of source before dest
 001B  72 09				jb	TestMove		; yes, 
				try to optimize
				
 001D				SimpleMove:
 001D  D1 E9				shr	cx,1
 001F  F3/ A5				rep	movsw
 0021  73 15				jnc	NoByte
 0023  A4				movsb
 0024  EB 12				jmp	short NoByte
				
 0026				TestMove:
 0026  8B C7				mov	ax,di
 0028  2B C6				sub	ax,si			; ax = 
				difference between regions
 002A  3B C1				cmp	ax,cx			; is di
				fference greater than region?
 002C  73 EF				jae	SimpleMove		; yes, 
				no optimize
 002E  8B C1				mov	ax,cx			; optim
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:26
                                                             Page     1-2


				ize by copying down from top
 0030  48				dec	ax
 0031  03 F8				add	di,ax
 0033  03 F0				add	si,ax
 0035  FD				std
 0036  F3/ A4				rep	movsb			; no wo
				rd optimization here
				
 0038				NoByte:
 0038  FC				cld
				cEnd
 0039  1F                    3	pop ds 
 003A  5F                    3	pop di 
 003B  5E                    3	pop si 
 003C  8B E5                 1			mov sp,bp 
 003E  5D                    1			pop bp 
 003F  C3                    1			ret 
 0040                        1		_Move endp 
				
				cProc	Fill,<PUBLIC>,<DI>
 0040                        2	Fill label near 
				parmD	dst
				parmB	value
				parmW	count
				cBegin
 0040                        1		    _Fill proc NEAR 
 0040  55                    1			push bp 
 0041  8B EC                 1			mov bp,sp 
 0043  57                    3	push di 
 0044  FC				cld
 0045  C4 7E 04				les	di,dst
 0048  8A 46 08				mov	al,value
 004B  8A 66 08				mov	ah,value
 004E  8B 4E 0A				mov	cx,count
 0051  D1 E9				shr	cx,1
 0053  E3 02				jcxz	fill1
 0055  F3/ AB				rep	stosw
 0057				fill1:
 0057  73 01				jnc	fill2
 0059  AA				stosb
 005A				fill2:
				cEnd
 005A  5F                    3	pop di 
 005B  8B E5                 1			mov sp,bp 
 005D  5D                    1			pop bp 
 005E  C3                    1			ret 
 005F                        1		_Fill endp 
				
				sEnd
 005F                        1		_TEXT ends 
				
				end

Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:26
                                                             Symbols-1


Macros:

		N a m e			Lines

?UTPE  . . . . . . . . . . . . .  	   1
ADDSEG . . . . . . . . . . . . .  	  20
ADD_DGROUP . . . . . . . . . . .  	   1
ADD_IGROUP . . . . . . . . . . .  	   1
ARG  . . . . . . . . . . . . . .  	   4
ASSUMES  . . . . . . . . . . . .  	  20
BEGINCODE  . . . . . . . . . . .  	   2
BEGINDATA  . . . . . . . . . . .  	   2
CBEGIN . . . . . . . . . . . . .  	   0
CCALL  . . . . . . . . . . . . .  	  30
CEND . . . . . . . . . . . . . .  	   0
CPROC  . . . . . . . . . . . . .  	   1
CREATESEG  . . . . . . . . . . .  	  16
DEFB . . . . . . . . . . . . . .  	   1
DEFCP  . . . . . . . . . . . . .  	   1
DEFD . . . . . . . . . . . . . .  	   1
DEFDP  . . . . . . . . . . . . .  	   1
DEFGRP . . . . . . . . . . . . .  	   1
DEFQ . . . . . . . . . . . . . .  	   1
DEFT . . . . . . . . . . . . . .  	   1
DEFW . . . . . . . . . . . . . .  	   1
ERRN$  . . . . . . . . . . . . .  	   1
ERRNZ  . . . . . . . . . . . . .  	   5
ERRNZ1 . . . . . . . . . . . . .  	   1
ERROR  . . . . . . . . . . . . .  	   2
EXTERNB  . . . . . . . . . . . .  	   1
EXTERNCP . . . . . . . . . . . .  	   1
EXTERND  . . . . . . . . . . . .  	   1
EXTERNDP . . . . . . . . . . . .  	   1
EXTERNFP . . . . . . . . . . . .  	   1
EXTERNNP . . . . . . . . . . . .  	   1
EXTERNP  . . . . . . . . . . . .  	   1
EXTERNQ  . . . . . . . . . . . .  	   1
EXTERNT  . . . . . . . . . . . .  	   1
EXTERNW  . . . . . . . . . . . .  	   1
GLOBALB  . . . . . . . . . . . .  	   2
GLOBALCP . . . . . . . . . . . .  	   1
GLOBALD  . . . . . . . . . . . .  	   2
GLOBALDP . . . . . . . . . . . .  	   1
GLOBALQ  . . . . . . . . . . . .  	   2
GLOBALT  . . . . . . . . . . . .  	   2
GLOBALW  . . . . . . . . . . . .  	   2
IN_DGROUP  . . . . . . . . . . .  	   7
IN_IGROUP  . . . . . . . . . . .  	   7
LABELB . . . . . . . . . . . . .  	   1
LABELCP  . . . . . . . . . . . .  	   1
LABELD . . . . . . . . . . . . .  	   1
LABELDP  . . . . . . . . . . . .  	   1
LABELFP  . . . . . . . . . . . .  	   1
LABELNP  . . . . . . . . . . . .  	   1
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:26
                                                             Symbols-2


LABELP . . . . . . . . . . . . .  	   1
LABELQ . . . . . . . . . . . . .  	   1
LABELT . . . . . . . . . . . . .  	   1
LABELW . . . . . . . . . . . . .  	   1
LOCALB . . . . . . . . . . . . .  	   1
LOCALCP  . . . . . . . . . . . .  	   1
LOCALD . . . . . . . . . . . . .  	   5
LOCALDP  . . . . . . . . . . . .  	   1
LOCALQ . . . . . . . . . . . . .  	   1
LOCALT . . . . . . . . . . . . .  	   1
LOCALV . . . . . . . . . . . . .  	   1
LOCALW . . . . . . . . . . . . .  	   1
OUTIF  . . . . . . . . . . . . .  	  17
PARMB  . . . . . . . . . . . . .  	   1
PARMCP . . . . . . . . . . . . .  	   1
PARMD  . . . . . . . . . . . . .  	  13
PARMDP . . . . . . . . . . . . .  	   1
PARMQ  . . . . . . . . . . . . .  	   1
PARMT  . . . . . . . . . . . . .  	   1
PARMW  . . . . . . . . . . . . .  	   1
REGPTR . . . . . . . . . . . . .  	   8
SAVE . . . . . . . . . . . . . .  	   2
SBEGIN . . . . . . . . . . . . .  	   1
SEND . . . . . . . . . . . . . .  	   1
SMASHES  . . . . . . . . . . . .  	   5
STATICB  . . . . . . . . . . . .  	   2
STATICCP . . . . . . . . . . . .  	   1
STATICD  . . . . . . . . . . . .  	   2
STATICDP . . . . . . . . . . . .  	   1
STATICQ  . . . . . . . . . . . .  	   2
STATICT  . . . . . . . . . . . .  	   2
STATICW  . . . . . . . . . . . .  	   2

Segments and Groups:

                N a m e         	Length	 Align	Combine Class

DGROUP . . . . . . . . . . . . .  	GROUP
  _DATA  . . . . . . . . . . . .  	0000	WORD	PUBLIC	'DATA'
IGROUP . . . . . . . . . . . . .  	GROUP
  _TEXT  . . . . . . . . . . . .  	005F	BYTE	PUBLIC	'CODE'

Symbols:            

                N a m e         	Type	 Value	 Attr

ALTVECT  . . . . . . . . . . . .  	ALIAS	 FALSE		
ASMPASS  . . . . . . . . . . . .  	NUMBER	0002	

BUFFERFLAG . . . . . . . . . . .  	NUMBER	FFFF	

CODEOFFSET . . . . . . . . . . .  	TEXT  OFFSET IGROUP:		
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:26
                                                             Symbols-3


COUNT  . . . . . . . . . . . . .  	TEXT  word ptr [bp+10]		

DATAOFFSET . . . . . . . . . . .  	TEXT  OFFSET DGROUP:		
DEF_DGROUP . . . . . . . . . . .  	NUMBER	0002	
DEF_IGROUP . . . . . . . . . . .  	NUMBER	0002	
DST  . . . . . . . . . . . . . .  	TEXT  DWORD ptr [bp+4]		

FALSE  . . . . . . . . . . . . .  	NUMBER	0000	
FILL . . . . . . . . . . . . . .  	L NEAR	0040	_TEXT
FILL1  . . . . . . . . . . . . .  	L NEAR	0057	_TEXT
FILL2  . . . . . . . . . . . . .  	L NEAR	005A	_TEXT

IBM  . . . . . . . . . . . . . .  	ALIAS	 IBMVER		
IBMCOPYRIGHT . . . . . . . . . .  	ALIAS	 FALSE		
IBMJAPAN . . . . . . . . . . . .  	ALIAS	 FALSE		
IBMJAPVER  . . . . . . . . . . .  	ALIAS	 FALSE		
IBMVER . . . . . . . . . . . . .  	ALIAS	 TRUE		
INTERNAT . . . . . . . . . . . .  	ALIAS	 FALSE		

JAPAN  . . . . . . . . . . . . .  	ALIAS	 FALSE		

KANJI  . . . . . . . . . . . . .  	ALIAS	 FALSE		
KOREA  . . . . . . . . . . . . .  	ALIAS	 FALSE		

MEMC . . . . . . . . . . . . . .  	NUMBER	0000	
MEMH . . . . . . . . . . . . . .  	NUMBER	0000	
MEML . . . . . . . . . . . . . .  	NUMBER	0000	
MEMM . . . . . . . . . . . . . .  	NUMBER	0000	
MEMMOD . . . . . . . . . . . . .  	NUMBER	0001	
MEMS . . . . . . . . . . . . . .  	NUMBER	0001	
MOVE . . . . . . . . . . . . . .  	L NEAR	0000	_TEXT
MSVER  . . . . . . . . . . . . .  	NUMBER	0000	

NOBYTE . . . . . . . . . . . . .  	L NEAR	0038	_TEXT

OFF_DST  . . . . . . . . . . . .  	TEXT  WORD ptr [bp+4]		
OFF_SRC  . . . . . . . . . . . .  	TEXT  WORD ptr [bp+4]		

SEG_DST  . . . . . . . . . . . .  	TEXT  WORD ptr [bp+6]		
SEG_SRC  . . . . . . . . . . . .  	TEXT  WORD ptr [bp+6]		
SIMPLEMOVE . . . . . . . . . . .  	L NEAR	001D	_TEXT
SIZEC  . . . . . . . . . . . . .  	NUMBER	0000	
SIZED  . . . . . . . . . . . . .  	NUMBER	0000	
SRC  . . . . . . . . . . . . . .  	TEXT  DWORD ptr [bp+4]		

TESTMOVE . . . . . . . . . . . .  	L NEAR	0026	_TEXT
TRUE . . . . . . . . . . . . . .  	NUMBER	FFFF	
TRUEBYTE . . . . . . . . . . . .  	NUMBER	00FF	

VALUE  . . . . . . . . . . . . .  	TEXT  byte ptr [bp+8]		

??0000 . . . . . . . . . . . . .  	NUMBER	0001	
@CPU . . . . . . . . . . . . . .  	TEXT  0101h		
@FILENAME  . . . . . . . . . . .  	TEXT  move		
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:26
                                                             Symbols-4


@VERSION . . . . . . . . . . . .  	TEXT  510		
_Fill  . . . . . . . . . . . . .  	N PROC	0040	_TEXT	Global	Length = 001F
_Move  . . . . . . . . . . . . .  	N PROC	0000	_TEXT	Global	Length = 0040


   1111 Source  Lines
   2260 Total   Lines
    206 Symbols

  46988 + 239963 Bytes symbol space free

      0 Warning Errors
      0 Severe  Errors
