🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #1998

Re: Ustawianie/czyszczenie flagi ZF

#1998
From: gupi man'a'go
Date: Sun, 30 Aug 2009 21:14
47 lines
2020 bytes
‟marcin” zaprogramował/a:
> Czy jest jakiś sposób by jedną instrukcją ustawić/wyczyścić flagę zera?
> Napisałem makro i chciałbym aby po jego opuszczeniu ustawiana bądz
> czyszczona była flaga ZF. Dla przykładu:
> --
>  IsLowerCase MACRO Char
>   LOCAL _IS_NOT_LOWERCASE, _END
> 
>    mov  al, Char
>    cmp  al, 'a'
>    jb  _IS_NOT_LOWERCASE
> 
>    cmp  al, 'z'
>    ja  _IS_NOT_LOWERCASE
> 
>     ;; Set ZF
>    jmp  _END
> 
>   _IS_NOT_LOWERCASE:
>     ;; Clear ZF
> 
>   _END:
> 
>  ENDM
> --
> i w kodzie:
> --
> IsLowerCase(al)
> jz   _END
> --
> i dzięki temu nie musiałbym robić kolejnego sprawdzania czy zwrócono
> true/false. Używany kompilator to TASM 16-bit.
a co powiesz na takie rozwiązanie:

	subb	$'a',%al
	cmpb	$'z'-'a',%al
	jbe	yes

po  co  ci  flaga “zf”, jeśli  są bezpośrednie instrukcje wykonujące się
dla danego stanu flag?
dzięku  usunięciu  niepotrzebnych  instrukcji skoku możesz sobie wrzucić
jakieś instrukcje pomiędzy tymi i nie będzie przestoju.
-- 
/ qo   |)    :@=N%_g=v=a=g_eD_e=c()=d=8! =%!gN@8'Re. w8in/ad
\    _x/ ,   ;h-%-a'hA'H4,X0'Xo~xo~xO,R`-%EXp01ITed: *-7/+eh
/    |    ng `-%__%--'__%--'__%--~__%--^%B`/$qV3r[o; &GooMee
L_._o_O_*_^_"_'_`_ -> http://thereis.notlong.com <- `L"EnOF"
Technical Details
Message-ID: <h7eq2m$2kv4$1@news.ett.com.ua>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!newsfeed.freenet.de!news.ett.com.ua!not-for-mail
References: <h7efnt$sa8$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!newsfeed.freenet.de!news.ett.com.ua!not-for-mail
From: gupi man'a'go <2009czerwiec@inmail.sk>
Newsgroups: pl.comp.lang.asm
Subject: Re: Ustawianie/czyszczenie flagi ZF
Date: Sun, 30 Aug 2009 21:14:11 +0000 (UTC)
Organization: opRWTng
Lines: 47
Message-ID: <h7eq2m$2kv4$1@news.ett.com.ua>
References: <h7efnt$sa8$1@inews.gazeta.pl>
NNTP-Posting-Host: gpftor2.privacyfoundation.de
Mime-Version: 1.0
X-Complaints-To: usenet@news.ett.com.ua
X-Notice: Filtered by postfilter v. 0.6.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit