w501.lst

来自「汇编语言学习的资料希望对大家有很大的帮助啊!!」· LST 代码 · 共 107 行

LST
107
字号
Microsoft (R) Macro Assembler Version 6.00     		    10/27/03 11:01:29
w501.asm						     Page 1 - 1



				        .model small
				        .stack
 0000				        .data
 0000 02 04 06 08 0A		n01     db 2,4,6,8,10
 0005 0000			result  dw ?
 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    

				;****************************
				;求AX绝对值的单分支结构
				;****************************

				        .if ax<0     ;ax作为无符号数处理,程序错误!
 0017  83 F8 00		   *	    cmp    ax, 000h
 001A  73 02		   *	    jae    @C0001    ;ax无论为任何数,都将转移!
 001C  F7 D8			          neg ax
				        .endif
 001E			   *@C0001:
 001E  A3 0005 R		        mov result,ax

				;****************************
				;求AX绝对值的单分支结构
				;****************************

				        .if sword ptr ax<0     ;ax作为有符号数处理,程序正确!
 0021  83 F8 00		   *	    cmp    sword ptr ax, 000h
 0024  7D 02		   *	    jge    @C0003
 0026  F7 D8			          neg ax
				        .endif
 0028			   *@C0003:
 0028  A3 0005 R		        mov result,ax

				;+++++++++++++++++++++++++++++
				;双分支结构程序段
				;+++++++++++++++++++++++++++++

				        .if ax==5   ;判断是否相等,有符号或无符号两可。
 002B  83 F8 05		   *	    cmp    ax, 005h
 002E  75 07		   *	    jne    @C0005
 0030  8B D8			        mov bx,ax
 0032  B8 0000			        mov ax,0
				        .else
 0035  EB 01		   *	    jmp    @C0007
 0037			   *@C0005:
 0037  48			        dec ax
				        .endif
 0038			   *@C0007:

				;-----------------------------
				        .exit 0
 0038  B8 4C00		   *	    mov    ax, 04C00h
 003B  CD 21		   *	    int    021h
				        end
Microsoft (R) Macro Assembler Version 6.00     		    10/27/03 11:01:29
w501.asm						     Symbols 2 - 1




Segments and Groups:

                N a m e                 Size     Length   Align   Combine Class

DGROUP . . . . . . . . . . . . .	GROUP
_DATA  . . . . . . . . . . . . .	16 Bit	 0007	  Word	  Public  'DATA'	
STACK  . . . . . . . . . . . . .	16 Bit	 0400	  Para	  Stack	  'STACK'	 
_TEXT  . . . . . . . . . . . . .	16 Bit	 003D	  Word	  Public  'CODE'	


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
n01  . . . . . . . . . . . . . .	Byte	 0000	  _DATA	
result . . . . . . . . . . . . .	Word	 0005	  _DATA	

	   0 Warnings
	   0 Errors

⌨️ 快捷键说明

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