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

📄 02.lst

📁 汇编语言的一些简单代码
💻 LST
字号:
Microsoft (R) Macro Assembler Version 6.11		    11/15/07 22:31:19
F:\课程\aaa\souce\02.asm				     Page 1 - 1


 0000				data segment 
 0000 70 6C 65 61 73 65		message1 db 'please put into string 1',13,10,'$' 
       20 70 75 74 20 69
       6E 74 6F 20 73 74
       72 69 6E 67 20 31
       0D 0A 24
 001B 70 6C 65 61 73 65		message2 db 'please put into string 2',13,10,'$' 
       20 70 75 74 20 69
       6E 74 6F 20 73 74
       72 69 6E 67 20 32
       0D 0A 24
 0036 4D 41 54 43 48 0D		message3 db 'MATCH',13,10,'$' 
       0A 24
 003E 4E 4F 4D 41 54 43		message4 db 'NOMATCH',13,10,'$' 
       48 0D 0A 24
 0048 32 00			seg1 db 50,?,50 dup(?) 
       0032 [
        00
       ]
 007C 1E 00			seg2 db 30,?,30 DUP(?) 
       001E [
        00
       ]
 009C				data ends 
 0000				code segment 
				assume cs:code,ds:data,es:data 
 0000				start: 
 0000  B8 ---- R		mov ax,data 
 0003  8E D8			mov ds,ax 
 0005  8E C0			mov es,ax 

 0007  BA 0000 R		mov dx,offset message1 
 000A  B4 09			mov ah,09h 
 000C  CD 21			int 21h 
 000E  BA 0048 R		mov dx,offset seg1 
 0011  B4 0A			mov ah,0ah 
 0013  CD 21			int 21h 


 0015  BA 001B R		mov dx,offset message2 
 0018  B4 09			mov ah,09h 
 001A  CD 21			int 21h 
 001C  BA 007C R		mov dx,offset seg2 
 001F  B4 0A			mov ah,0ah 
 0021  CD 21			int 21h 


 0023  B8 0048 R		mov ax,offset seg1 
 0026  BB 007C R		mov bx,offset seg2 
 0029  B9 000A			mov cx, 10; 初步设定cx的外部循环的次数
 002C  83 C0 02			add ax,2
 002F  8B F0			mov si,ax;将si指向输入字符的头 
 0031  83 C3 02			add bx,2 
 0034  8B FB			mov di,bx;将di指向key的头 
 0036  53			push bx;保存这个指针,后面会用到 
 0037  FC			cld ;比较方向为正 
 0038  8B C1			L2: mov ax,cx ;保存外部的cx值 
 003A  8B D6			mov dx,si
 003C  B5 00			mov ch,0
 003E  8A 0E 007D R		mov cl,[seg2+1];key的长度给cx,来进行比较 
 0042  F3/ A6			repe cmpsb;字符比较
 0044  74 12			jz L1;若比较完的时候发现相等zf=1,就表示匹配 
 0046  8B F2			mov si,dx
 0048  46			inc si; 要是每次比较完不相等zf=0,就将si下移 
 0049  5F			pop di; 将di重新指向key的开始 
 004A  57			push di;并将di保存,下次使用 
 004B  8B C8			mov cx,ax ;将外部cx的值重新拿出来 
 004D  E2 E9			loop L2 ;回去并重新开始 

 004F  BA 003E R		L4: mov dx,offset message4 
 0052  B4 09			mov ah,09h 
 0054  CD 21			int 21h 
 0056  EB 07			jmp L3 ;输出不匹配,并退出 

 0058  BA 0036 R		L1: mov dx,offset message3 
 005B  B4 09			mov ah,09h 
 005D  CD 21			int 21h ;输出匹配 
 005F  B4 4C			L3: mov ah,04ch 
 0061  CD 21			int 21h 

 0063				code ends 
				end start
Microsoft (R) Macro Assembler Version 6.11		    11/15/07 22:31:19
F:\课程\aaa\souce\02.asm				     Symbols 2 - 1




Segments and Groups:

                N a m e                 Size     Length   Align   Combine Class

code . . . . . . . . . . . . . .	16 Bit	 0063	  Para	  Private 
data . . . . . . . . . . . . . .	16 Bit	 009C	  Para	  Private 


Symbols:

                N a m e                 Type     Value    Attr

L1 . . . . . . . . . . . . . . .	L Near	 0058	  code	
L2 . . . . . . . . . . . . . . .	L Near	 0038	  code	
L3 . . . . . . . . . . . . . . .	L Near	 005F	  code	
L4 . . . . . . . . . . . . . . .	L Near	 004F	  code	
message1 . . . . . . . . . . . .	Byte	 0000	  data	
message2 . . . . . . . . . . . .	Byte	 001B	  data	
message3 . . . . . . . . . . . .	Byte	 0036	  data	
message4 . . . . . . . . . . . .	Byte	 003E	  data	
seg1 . . . . . . . . . . . . . .	Byte	 0048	  data	
seg2 . . . . . . . . . . . . . .	Byte	 007C	  data	
start  . . . . . . . . . . . . .	L Near	 0000	  code	

	   0 Warnings
	   0 Errors

⌨️ 快捷键说明

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