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

📄 eg0418.lst

📁 宏汇编器
💻 LST
字号:
Microsoft (R) Macro Assembler Version 6.15.8803		    08/18/07 22:31:30
eg0418.asm						     Page 1 - 1


				;eg0418.asm
					include io32.inc
			      C .nolist
			      C .list
			      C 
 00000000				.data
 00000000 000002A3		array	dword 675, 354, -34, 198, 267, 0, 9, 2371, -67, 4257
	   00000162
	   FFFFFFDE
	   000000C6
	   0000010B
	   00000000
	   00000009
	   00000943
	   FFFFFFBD
	   000010A1
 00000000				.code
 00000000			start:
 00000000  6A 0A			push lengthof array	; 压入数据个数
 00000002  68 00000000 R		push offset array	; 压数组的偏移地址
 00000007  E8 0000000F			call mean	; 调用求平均值子程序,出口参数:EAX=平均值(整数部分)
 0000000C  83 C4 08			add esp,8	; 平衡堆栈(压入了8个字节数据)
 0000000F  E8 00000000 E		call dispsid	; 显示

					exit 0
 0000001B			mean	proc	; 计算32位有符号数平均值子程序
 0000001B  55				push ebp	; 入口参数:顺序压入数据个数和数组偏移地址
 0000001C  8B EC			mov ebp,esp	; 出口参数:EAX=平均值
 0000001E  53				push ebx	; 保护寄存器
 0000001F  51				push ecx
 00000020  52				push edx
 00000021  8B 5D 08			mov ebx,[ebp+8]	; EBX=堆栈中取出的偏移地址
 00000024  8B 4D 0C			mov ecx,[ebp+12]	; ECX=堆栈中取出的数据个数
 00000027  33 C0			xor eax,eax	; EAX保存和值
 00000029  33 D2			xor edx,edx	; EDX=指向数组元素
 0000002B  03 04 93		mean1:	add eax,[ebx+edx*4]	; 求和
 0000002E  83 C2 01			add edx,1	; 指向下一个数据
 00000031  3B D1			cmp edx,ecx	; 比较个数
 00000033  72 F6			jb mean1	; 循环
 00000035  99				cdq	; 将累加和EAX符号扩展到EDX
 00000036  F7 F9			idiv ecx	; 有符号数除法,EAX=平均值(余数在EDX中)
 00000038  5A				pop edx	; 恢复寄存器
 00000039  59				pop ecx
 0000003A  5B				pop ebx
 0000003B  5D				pop ebp
 0000003C  C3				ret
 0000003D			mean	endp

					end start
Microsoft (R) Macro Assembler Version 6.15.8803		    08/18/07 22:31:30
eg0418.asm						     Symbols 2 - 1




Macros:

                N a m e                 Type

exit . . . . . . . . . . . . . .	Proc


Segments and Groups:

                N a m e                 Size     Length   Align   Combine Class

FLAT . . . . . . . . . . . . . .	GROUP
_DATA  . . . . . . . . . . . . .	32 Bit	 00000028 Para	  Public  'DATA'	
_TEXT  . . . . . . . . . . . . .	32 Bit	 0000003D Para	  Public  'CODE'	


Procedures,  parameters and locals:

                N a m e                 Type     Value    Attr

ExitProcess  . . . . . . . . . .	P Near	 00000000 FLAT	Length= 00000000 External STDCALL
mean . . . . . . . . . . . . . .	P Near	 0000001B _TEXT	Length= 00000022 Public STDCALL
  mean1  . . . . . . . . . . . .	L Near	 0000002B _TEXT	


Symbols:

                N a m e                 Type     Value    Attr

@CodeSize  . . . . . . . . . . .	Number	 00000000h   
@DataSize  . . . . . . . . . . .	Number	 00000000h   
@Interface . . . . . . . . . . .	Number	 00000003h   
@Model . . . . . . . . . . . . .	Number	 00000007h   
@code  . . . . . . . . . . . . .	Text   	 _TEXT
@data  . . . . . . . . . . . . .	Text   	 FLAT
@fardata?  . . . . . . . . . . .	Text   	 FLAT
@fardata . . . . . . . . . . . .	Text   	 FLAT
@stack . . . . . . . . . . . . .	Text   	 FLAT
array  . . . . . . . . . . . . .	DWord	 00000000 _DATA	
dispbb . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
dispbd . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
dispbw . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
dispcrlf . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
dispc  . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
disphb . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
disphd . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
disphw . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
dispmsg  . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
disprb . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
disprd . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
disprf . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
disprw . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
dispsib  . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
dispsid  . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
dispsiw  . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
dispuib  . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
dispuid  . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
dispuiw  . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
readbb . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
readbd . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
readbw . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
readc  . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
readhb . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
readhd . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
readhw . . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
readmsg  . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
readsib  . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
readsid  . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
readsiw  . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
readuib  . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
readuid  . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
readuiw  . . . . . . . . . . . .	L Near	 00000000 FLAT	External STDCALL
start  . . . . . . . . . . . . .	L Near	 00000000 _TEXT	Public STDCALL

	   0 Warnings
	   0 Errors

⌨️ 快捷键说明

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