You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

236 lines
7.9 KiB
HTML

<HTML>
<HEAD>
<TITLE>MMX Erweiterung -- neue Befehle (Vergleichs-Befehle)</TITLE>
<SCRIPT LANGUAGE="Javascript">
<!-- Test Browser Version
// Javascript written 1998 by Jens Hohmuth (Script-Version: 3.0)
// (c) Copyright 1998 by Jens Hohmuth@fh-zwickau.de. All rights reserved.
var browserok= 0;
var version= parseInt( navigator.appVersion );
if( version >= 3 ) browserok= 1;
if( document.images ) browserok= 1;
if( browserok )
{
var imgdata_touched = new Array();
var imgdata_released= new Array();
}
// load imagedata
function precache( name, pic1, pic2 )
{
if( browserok )
{
imgdata_touched [ name ]= new Image();
imgdata_touched [ name ].src= pic2;
imgdata_released[ name ]= new Image();
imgdata_released[ name ].src= pic1;
}
}
// "Release", called if mouse left button
function release( name )
{
if( browserok )
{
document.images[ name ].src= imgdata_released[ name ].src;
}
}
// "Touch", called if mouse over link-button
function touch( name )
{
if( browserok )
{
document.images[ name ].src= imgdata_touched[ name ].src;
}
}
// load (precache) Buttons
if( browserok )
{
precache( "left", "../images/arrowl.gif", "../images/arrowlp.gif" );
precache( "right", "../images/arrowr.gif", "../images/arrowrp.gif" );
precache( "index", "../images/index.gif", "../images/indexp.gif" );
}
//-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#C0C0C0" BACKGROUND="../images/stone.jpg">
<TABLE BORDER=2 WIDTH="100%" >
<TR ALIGN=LEFT BGCOLOR="#800000">
<TH ALIGN=LEFT>
<FONT COLOR="#FF8080">
<H2>Vergleichs-Befehle</H2>
</FONT>
</TH>
</TR></TABLE>
<BR>
<TABLE BORDER=2 WIDTH="100%" >
<TR ALIGN=LEFT BGCOLOR="#000080">
<TH ALIGN=LEFT>
<FONT COLOR="#C0C0FF">
<A NAME="PCMPEQB">
<U>PCMPEQB</U> register, memory/register -- Vergleichen
(<U>C</U>o<U>MP</U>are) von ge<U>P</U>ackten
<U>B</U>yte-Datenelementen auf Gleicheit (<U>EQ</U>uality)<BR>
</A>
<A NAME="PCMPEQW">
<U>PCMPEQW</U> register, memory/register -- Vergleichen
(<U>C</U>o<U>MP</U>are) von ge<U>P</U>ackten
<U>W</U>ord-Datenelementen auf Gleicheit (<U>EQ</U>uality)<BR>
</A>
<A NAME="PCMPEQD">
<U>PCMPEQD</U> register, memory/register -- Vergleichen
(<U>C</U>o<U>MP</U>are) von ge<U>P</U>ackten
<U>D</U>oubleword-Datenelementen auf Gleicheit (<U>EQ</U>uality)<BR>
</A>
</FONT>
</TH>
</TR></TABLE>
<P>Die PCMPEQ-Befehle vergleichen die Datenelemente des
Zieloperanden mit den Datenelementen des Quelloperanden. Sind die
Datenelemente gleich gro&szlig;, dann werden alle Bits f&uuml;r
alle gleichen Datenelemente im Zieloperanden auf 1 gesetzt.
Entsprechend werden alle Bits im Zieloperanden gel&ouml;scht, wo
die Datenelemente unterschiedliche Werte aufweisen.</P>
<P>Der PCMPEQB-Befehl vergleicht die gepackten Byte-Werte des
Zieloperanden mit den gepackten Byte-Werten des Quelloperanden.
F&uuml;r alle Datenelemente die gleich sind, wird der Wert FFh
(255d) im Zieloperanden eingetragen. Entsprechend befinden sich
die Werte 0 f&uuml;r alle ungleichen Datenelemente im Zieloperanden.</P>
<P>Der PCMPEQW-Befehl vergleicht die gepackten Wortwerte des
Zieloperanden mit den gepackten Wortwerten des Quelloperanden.
F&uuml;r alle Datenelemente die gleich sind, wird der Wert FFFFh
(65535d) im Zieloperanden eingetragen. Entsprechend befinden sich
die Werte 0 f&uuml;r alle ungleichen Datenelemente im Zieloperanden.</P>
<P>Der PCMPEQD-Befehl vergleicht die gepackten Doubleword-Werte
des Zieloperanden mit den gepackten Doubleword-Werten des
Quelloperanden. F&uuml;r alle Datenelemente die gleich sind, wird
der Wert FFFF FFFFh im Zieloperanden eingetragen. Entsprechend
befinden sich die Werte 0 f&uuml;r alle ungleichen Datenelemente
im Zieloperanden.</P>
<FONT COLOR="#0000FF"><PRE>
MM0= 03 70 00 20 01 A1 E2 F2h ; Zieloperand
MM1= 04 70 45 67 89 A1 E0 42h ; Quelloperand
PCMPEQB MM0, MM1
Ergebnis in MM0= 00 FF 00 00 00 FF 00 00h
</PRE></FONT>
<TABLE BORDER=2 WIDTH="100%" >
<TR ALIGN=LEFT BGCOLOR="#000080">
<TH ALIGN=LEFT>
<FONT COLOR="#C0C0FF">
<A NAME="PCMPGTB">
<U>PCMPGTB</U> register, memory/register -- Vergleichen
(<U>C</U>o<U>MP</U>are), um die gr&ouml;&szlig;eren (<U>G</U>reater
<U>T</U>han) vorzeichenbehafteten, ge<U>P</U>ackten
<U>B</U>yte-Datenelementen zu ermitteln<BR>
</A>
<A NAME="PCMPGTW">
<U>PCMPGTW</U> register, memory/register -- Vergleichen
(<U>C</U>o<U>MP</U>are), um die gr&ouml;&szlig;eren (<U>G</U>reater
<U>T</U>han) vorzeichenbehafteten, ge<U>P</U>ackten
<U>W</U>ord-Datenelementen zu ermitteln<BR>
</A>
<A NAME="PCMPGTD">
<U>PCMPGTD</U> register, memory/register -- Vergleichen
(<U>C</U>o<U>MP</U>are), um die gr&ouml;&szlig;eren (<U>G</U>reater
<U>T</U>han) vorzeichenbehafteten, ge<U>P</U>ackten
<U>D</U>oubleword-Datenelementen zu ermitteln<BR>
</A>
</FONT>
</TH>
</TR></TABLE>
<P>Die PCMPGT-Befehle vergleichen die Datenelemente des
Zieloperanden mit den Datenelementen des Quelloperanden. F&uuml;r
alle vorzeichenbehafteten Datenelemente des Zieloperanden, die
gr&ouml;&szlig;er als die vorzeichenbehafteten Datenelemente des
Quelloperanden sind, werden alle Bits im Zieloperanden auf 1
gesetzt. Entsprechend werden alle Bits im Zieloperanden gel&ouml;scht,
wenn die Datenelemente des Zieloperanden kleiner oder gleich den
entsprechenden Datenelementen des Quelloperanden sind.</P>
<P>Der PCMPGTB-Befehl vergleicht alle gepackten Byte-Werte des
Zieloperanden mit den gepackten Byte-Werten des Quelloperanden.
F&uuml;r alle Datenelemente des Zieloperanden, die gr&ouml;&szlig;er
als die des Quelloperanden sind, wird der Wert FFh (255d) im
Zieloperanden eingetragen. Entsprechend befinden sich die Werte 0
f&uuml;r alle kleineren oder gleichen Datenelemente im Zieloperanden.</P>
<P>Der PCMPGTW-Befehl vergleicht alle gepackten Wortwerte des
Zieloperanden mit den gepackten Wortwerten des Quelloperanden. F&uuml;r
alle Datenelemente des Zieloperanden, die gr&ouml;&szlig;er als die
des Quelloperanden sind, wird der Wert FFFFh (65535d) im Zieloperanden
eingetragen. Entsprechend befinden sich die Werte 0 f&uuml;r alle
kleineren oder gleichen Datenelemente im Zieloperanden.</P>
<P>Der PCMPGTD-Befehl vergleicht alle gepackten Doubleword-Werte
des Zieloperanden mit den gepackten Doubleword-Werten des Quelloperanden.
F&uuml;r alle Datenelemente des Zieloperanden, die gr&ouml;&szlig;er als
die des Quelloperanden sind, wird der Wert FFFF FFFFh im Zieloperanden
eingetragen. Entsprechend befinden sich die Werte 0 f&uuml;r alle
kleineren oder gleichen Datenelemente im Zieloperanden.<BR>
(<B>Anmerkung:</B> Alle PCMPGT-Befehle interpretieren die Datenelemente
als vorzeichenbehaftet)</P>
<FONT COLOR="#0000FF"><PRE>
MM0= 03 71 00 20 01 A1 E2 F2h ; Zieloperand
MM1= 04 70 45 67 89 A1 E0 42h ; Quelloperand
PCMPGTB MM0, MM1
Ergebnis in MM0= 00 FF 00 00 FF 00 FF 00h
</PRE></FONT>
<!-- wie gehts weiter ------------------------------------------------------>
<P><HR SIZE=2></P>
<A HREF="mmx_9.htm" onMouseOver="touch( 'left' );" onMouseOut="release( 'left' );">
<IMG SRC="../images/arrowl.gif" NAME="left" ALT="zurueck" BORDER=0 ALIGN=LEFT></A>
<A HREF="mmx_11.htm" onMouseOver="touch( 'right' );" onMouseOut="release( 'right' );">
<IMG SRC="../images/arrowr.gif" NAME="right" ALT="weiter" BORDER=0 ALIGN=RIGHT></A>
<CENTER>
<A HREF="index.htm#Befehle" onMouseOver="touch( 'index' );" onMouseOut="release( 'index' );">
<IMG SRC = "../images/index.gif" NAME="index" ALT="Zum Index" BORDER=0></A>
</CENTER>
<BR>
<!-- Adresse --------------------------------------------------------------->
<HR SIZE=2>
<ADDRESS>
Probleme oder Vorschl&auml;ge zu dieser Webseite, bitte per email an:
<A HREF="mailto:hohmuth@t-online.de">
<B>hohmuth@t-online.de</B>
</A>
<BR>
Letzte &Auml;nderungen am: 20.01.1997, Jens Hohmuth.
</ADDRESS>
</BODY>
</HTML>