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

📄 se.asm

📁 这是一个x86汇编语言的HelloWorld小程序
💻 ASM
字号:
;Hxcan
;2008.1.11
;试编一程序比较两个字符串STR1和STR2是否完全相等,若相等,则显示‘OK!’;若不相等则显示‘Not Found!’ 。

data segment ;数据段。
	STR1 db "ILoveYou,WenJuan!",'$' ;STR1。
	STR2 db "ILoveYou,WenJuan!",'$' ;STR2。
	Endl db 0ah,0dh,'$' ;Endl.
	Length1 db 17d ;STR1的长度。
	Length2 db 17d ;STR2的长度。
	OK db "OK!",'$' ;OK.
	NoFo db "Not Found!",'$' ;Not Found.
data ends ;数据段结束。

stack segment stack ;堆栈段。
	db 100 dup(0) ;堆栈。
stack ends ;堆栈段结束。

code segment 'code' ;代码段。
	assume cs:code,ds:data,ss:stack
	start:
		;例行的初始化:
		mov ax,data
		mov ds,ax
		mov ax,stack
		mov ss,ax
		;例行的初始化结束。

		mov ah,09h ;显示字符串。
		lea dx,STR1 ;STR1.
		int 21h
		lea dx,Endl ;Endl.
		int 21h
		lea dx,STR2 ;STR2.
		int 21h
		lea dx,Endl ;Endl.
		int 21h

		;取得字符串长度:
		mov al,Length1
		mov bl,Length2

		;比较长度:
		cmp al,bl

		jne NoEqual ;不一样长就不相等。

		xor ch,ch
		mov cl,al ;设定循环次数。
		xor bx,bx ;用dx寻址。

	ComTh: ;CompareThem
		mov al,STR1[bx]
		mov dl,STR2[bx]

		cmp al,dl

		jne NoEqual ;不相等就不相等。

		inc bx

		loop ComTh

	Equal:
		lea dx,OK
		mov ah,09h
		int 21h
		jmp quit

	NoEqual:
		lea dx,NoFo
		mov ah,09h
		int 21h

	quit:
		mov ah,4ch ;返回。
		int 21h

code ends ;代码段结束。
	end start

⌨️ 快捷键说明

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