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

📄 loopnz.asm

📁 想学习汇编语言的
💻 ASM
字号:
TITLE Scanning for a Positive Value        (Loopnz.asm)

; Scan an array for the first positive value.
; If no value is found, ESI will point to a sentinel
; value (0) stored immediately after the array.
; Last update: 11/4/01

INCLUDE Irvine32.inc
.data
array  SWORD  -3,-6,-1,-10,10,30,40,4
;array    SWORD  -3,-6,-1,-10		; alternate test data
sentinel SWORD  0

.code
main PROC
	mov esi,OFFSET array
	mov ecx,LENGTHOF array

next:
	test WORD PTR [esi],10000000b	; test highest bit
	pushfd		; push flags on stack
	add esi,TYPE array
	popfd		; pop flags from stack
	loopnz next 		; continue loop
	jnz quit		; none found

	sub esi,TYPE array		; SI points to value

quit:
	call  crlf
	exit
main ENDP

END main

⌨️ 快捷键说明

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