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
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ß, dann werden alle Bits für
|
|
alle gleichen Datenelemente im Zieloperanden auf 1 gesetzt.
|
|
Entsprechend werden alle Bits im Zieloperanden gelö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ür alle Datenelemente die gleich sind, wird der Wert FFh
|
|
(255d) im Zieloperanden eingetragen. Entsprechend befinden sich
|
|
die Werte 0 für alle ungleichen Datenelemente im Zieloperanden.</P>
|
|
|
|
<P>Der PCMPEQW-Befehl vergleicht die gepackten Wortwerte des
|
|
Zieloperanden mit den gepackten Wortwerten des Quelloperanden.
|
|
Für alle Datenelemente die gleich sind, wird der Wert FFFFh
|
|
(65535d) im Zieloperanden eingetragen. Entsprechend befinden sich
|
|
die Werte 0 fü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ür alle Datenelemente die gleich sind, wird
|
|
der Wert FFFF FFFFh im Zieloperanden eingetragen. Entsprechend
|
|
befinden sich die Werte 0 fü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öß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öß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öß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ür
|
|
alle vorzeichenbehafteten Datenelemente des Zieloperanden, die
|
|
größer als die vorzeichenbehafteten Datenelemente des
|
|
Quelloperanden sind, werden alle Bits im Zieloperanden auf 1
|
|
gesetzt. Entsprechend werden alle Bits im Zieloperanden gelö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ür alle Datenelemente des Zieloperanden, die größer
|
|
als die des Quelloperanden sind, wird der Wert FFh (255d) im
|
|
Zieloperanden eingetragen. Entsprechend befinden sich die Werte 0
|
|
fü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ür
|
|
alle Datenelemente des Zieloperanden, die größer als die
|
|
des Quelloperanden sind, wird der Wert FFFFh (65535d) im Zieloperanden
|
|
eingetragen. Entsprechend befinden sich die Werte 0 fü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ür alle Datenelemente des Zieloperanden, die größer als
|
|
die des Quelloperanden sind, wird der Wert FFFF FFFFh im Zieloperanden
|
|
eingetragen. Entsprechend befinden sich die Werte 0 fü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äge zu dieser Webseite, bitte per email an:
|
|
<A HREF="mailto:hohmuth@t-online.de">
|
|
<B>hohmuth@t-online.de</B>
|
|
</A>
|
|
<BR>
|
|
Letzte Änderungen am: 20.01.1997, Jens Hohmuth.
|
|
</ADDRESS>
|
|
</BODY>
|
|
</HTML>
|