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

📄 lt530.lst

📁 汇编语言学习的资料希望对大家有很大的帮助啊!!
💻 LST
字号:
Microsoft (R) Macro Assembler Version 6.00     		    10/27/03 14:18:45
lt530.asm						     Page 1 - 1


				;p123 lt530.asm


				        .MODEL SMALL

				CHECKSUMD PROTO C,A1:word,A2:word
				        .STACK 256
 0000				        .DATA
 = 000A				COUNT   EQU 10
 0000 12 25 F0 A3 03 68		ARRAY   DB 12H,25H,0F0H,0A3H,3,68H,71H,0CAH,0FFH,90H
       71 CA FF 90
 000A 00			RESULT  DB ?
 0000				        .CODE
				        .STARTUP
 0000			   *@Startup:
 0000  BA ---- R	   	   *	    mov    dx, DGROUP
 0003  8E DA		   *	    mov    ds, dx
 0005  8C D3		   *	    mov    bx, ss
 0007  2B DA		   *	    sub    bx, dx
 0009  D1 E3		   *	    shl    bx, 001h
 000B  D1 E3		   *	    shl    bx, 001h
 000D  D1 E3		   *	    shl    bx, 001h
 000F  D1 E3		   *	    shl    bx, 001h
 0011  FA		   	   *	    cli    
 0012  8E D2		   *	    mov    ss, dx
 0014  03 E3		   *	    add    sp, bx
 0016  FB		  	   *	    sti    
				        INVOKE    CHECKSUMD   ,COUNT,OFFSET ARRAY
 0017  B8 0000 R	                     *	    mov    ax, word  ptr OFFSET ARRAY
 001A  50		   	   *	    push   ax                          ;实参2入栈
 001B  B8 000A		   *	    mov    ax, +0000Ah
 001E  50		  	   *	    push   ax                          ;实参1入栈
 001F  E8 002D R	   	   *	    call   CHECKSUMD
 0022  83 C4 04            	   *                 add    sp, 00004h             ;主程序负责平衡堆栈
 0025  A2 000A R		        MOV RESULT,AL
				        .EXIT 0
 0028  B8 4C00		   *	    mov    ax, 04C00h
 002B  CD 21		   *	    int    021h

				;-------------------------------------------

 002D				CHECKSUMD   PROC    C    USES BX CX,  c1:word,  a4:word
 002D  55		  	   *	    push   bp
 002E  8B EC		   *	    mov    bp, sp          ;起始代码,建立堆栈祯(堆栈框架)
 0030  53		   	   *	    push   bx
 0031  51		    	   *	    push   cx
 0032  8B 5E 06			        MOV BX,a4       ;a4=[bp+6],取偏移地址(看机器码)
 0035  8B 4E 04			        MOV CX,c1       ;c1=[bp+4],取数据个数
 0038  32 C0			        XOR AL,AL
 003A  02 07			SUMD:   ADD AL,[BX]
 003C  43			                          INC BX
 003D  E2 FB			        LOOP SUMD
                                                                                 RET       ;这里没有与其对应的机器码
 003F  59		   	   *	    pop    cx     ;结尾代码
 0040  5B		   	   *	    pop    bx
 0041  5D		   	   *	    pop    bp
 0042  C3                  	 	   *        ret    00000h ;这里用RET 0返回
 0043				CHECKSUMD ENDP
				        END
Microsoft (R) Macro Assembler Version 6.00     		    10/27/03 14:18:45
lt530.asm						     Symbols 2 - 1




Segments and Groups:

                N a m e                 Size     Length   Align   Combine Class

DGROUP . . . . . . . . . . . . .	GROUP
_DATA  . . . . . . . . . . . . .	16 Bit	 000B	  Word	  Public  'DATA'	
STACK  . . . . . . . . . . . . .	16 Bit	 0100	  Para	  Stack	  'STACK'	 
_TEXT  . . . . . . . . . . . . .	16 Bit	 0043	  Word	  Public  'CODE'	


Procedures,  parameters and locals:

                N a m e                 Type     Value    Attr

CHECKSUMD  . . . . . . . . . . .	P Near	 002D	  _TEXT	Length= 0016 Public C
  c1 . . . . . . . . . . . . . .	Word	 bp + 0004
  a4 . . . . . . . . . . . . . .	Word	 bp + 0006
  SUMD . . . . . . . . . . . . .	L Near	 003A	  _TEXT	


Symbols:

                N a m e                 Type     Value    Attr

@CodeSize  . . . . . . . . . . .	Number	 0000h	 
@DataSize  . . . . . . . . . . .	Number	 0000h	 
@Interface . . . . . . . . . . .	Number	 0000h	 
@Model . . . . . . . . . . . . .	Number	 0002h	 
@Startup . . . . . . . . . . . .	L Near	 0000	  _TEXT	
@code  . . . . . . . . . . . . .	Text   	 _TEXT
@data  . . . . . . . . . . . . .	Text   	 DGROUP
@fardata?  . . . . . . . . . . .	Text   	 FAR_BSS
@fardata . . . . . . . . . . . .	Text   	 FAR_DATA
@stack . . . . . . . . . . . . .	Text   	 DGROUP
ARRAY  . . . . . . . . . . . . .	Byte	 0000	  _DATA	
COUNT  . . . . . . . . . . . . .	Number	 000Ah	 
RESULT . . . . . . . . . . . . .	Byte	 000A	  _DATA	

	   0 Warnings
	   0 Errors

⌨️ 快捷键说明

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