235 lines
6.7 KiB
HTML
235 lines
6.7 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>MMX Erweiterung -- neue Befehle (Logische 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>Logische Befehle</H2></TH>
|
|
</FONT>
|
|
</TR></TABLE>
|
|
|
|
<BR>
|
|
|
|
<TABLE BORDER=2 WIDTH="100%" >
|
|
<TR ALIGN=LEFT BGCOLOR="#000080">
|
|
<TH ALIGN=LEFT>
|
|
<FONT COLOR="#C0C0FF">
|
|
|
|
<A NAME="PAND">
|
|
<U>PAND</U> register, memory/register -- ge<U>P</U>acktes
|
|
Verknüpfen durch <U>AND</U>
|
|
</A>
|
|
|
|
</FONT>
|
|
</TH>
|
|
</TR></TABLE>
|
|
|
|
<P>Der PAND-Befehl verknüpft den gesamten 64-Bit
|
|
breiten Quelloperanden bitweise durch eine UND-Verknüpfung
|
|
mit dem Zieloperanden. Das Ergebnis dieser Verknüpfung
|
|
befindet sich nach dem Befehl im Zieloperanden.</P>
|
|
|
|
<FONT COLOR="#0000FF"><PRE>
|
|
MM0= 0370 0020 01A1 E2F2h
|
|
(= 0000 0011 0111 0000 0000 0000 0010 0000 0000 0001 1010 0001 1110 0010 1111 0010b)
|
|
|
|
MM1= 0123 4567 89AB CDEFh
|
|
(= 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111b)
|
|
|
|
PAND MM0, MM1
|
|
|
|
Ergebnis in MM0= 0120 0020 01A1 C0E2h
|
|
(= 0000 0001 0010 0000 0000 0000 0010 0000 0000 0001 1010 0001 1100 0000 1110 0010b)
|
|
</PRE></FONT>
|
|
|
|
<TABLE BORDER=2 WIDTH="100%" >
|
|
<TR ALIGN=LEFT BGCOLOR="#000080">
|
|
<TH ALIGN=LEFT>
|
|
<FONT COLOR="#C0C0FF">
|
|
|
|
<A NAME="PANDN">
|
|
<U>PANDN</U> register, memory/register --
|
|
</A>
|
|
|
|
</FONT>
|
|
</TH>
|
|
</TR></TABLE>
|
|
|
|
<P>Der PANDN-Befehl arbeitet in zwei Schritten. In einem ersten
|
|
Schritt wird der Zieloperand bitweise negiert. Damit wird aus jeder
|
|
1 eine 0 und umgekehrt. In einem zweiten Schritt wird das Ergebnis
|
|
dieser Negation mit dem Quelloperanden bitweise UND-verknüpft
|
|
und im Zieloperanden gespeichert.</P>
|
|
|
|
<FONT COLOR="#0000FF"><PRE>
|
|
MM0= 0370 0020 01A1 E2F2h
|
|
(= 0000 0011 0111 0000 0000 0000 0010 0000 0000 0001 1010 0001 1110 0010 1111 0010b)
|
|
|
|
MM1= 0123 4567 89AB CDEFh
|
|
(= 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111b)
|
|
|
|
PANDN MM0, MM1
|
|
|
|
; Negation von MM0 im ersten Schritt ergibt
|
|
|
|
(= 1111 1100 1000 1111 1111 1111 1101 1111 1111 1110 0101 1110 0001 1101 0000 1101b)
|
|
|
|
; Verknüpfung von Negation-MM0 mit MM1 ergibt Ergebnis in MM0
|
|
|
|
MM0= 0003 4547 880A 0D0Dh
|
|
(= 0000 0000 0000 0011 0100 0101 0100 0111 1000 1000 0000 1010 0000 1101 0000 1101b)
|
|
</PRE></FONT>
|
|
|
|
<TABLE BORDER=2 WIDTH="100%" >
|
|
<TR ALIGN=LEFT BGCOLOR="#000080">
|
|
<TH ALIGN=LEFT>
|
|
<FONT COLOR="#C0C0FF">
|
|
|
|
<A NAME="POR">
|
|
<U>POR</U> register, memory/register -- ge<U>P</U>acktes
|
|
verknüpfen mit <U>OR</U> (Oder-Verknüpfung)
|
|
</A>
|
|
|
|
</FONT>
|
|
</TH>
|
|
</TR></TABLE>
|
|
|
|
<P>Der POR-Befehl verknüpft den gesamten 64 Bit breiten
|
|
Quelloperanden bitweise durch eine ODER-Verknüpfung mit
|
|
dem Zieloperanden. Das Ergebnis dieser Verknüpfung befindet
|
|
sich nach dem Befehl im Zieloperanden.</P>
|
|
|
|
<FONT COLOR="#0000FF"><PRE>
|
|
MM0= 0370 0020 01A1 E2F2h
|
|
(= 0000 0011 0111 0000 0000 0000 0010 0000 0000 0001 1010 0001 1110 0010 1111 0010b)
|
|
|
|
MM1= 0123 4567 89AB CDEFh
|
|
(= 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111b)
|
|
|
|
POR MM0, MM1
|
|
|
|
Ergebnis in MM0= 0373 4567 89AB EFFFh
|
|
(= 0000 0011 0111 0011 0100 0101 0110 0111 1000 1001 1010 1011 1110 1111 1111 1111b)
|
|
</PRE></FONT>
|
|
|
|
<TABLE BORDER=2 WIDTH="100%" >
|
|
<TR ALIGN=LEFT BGCOLOR="#000080">
|
|
<TH ALIGN=LEFT>
|
|
<FONT COLOR="#C0C0FF">
|
|
|
|
<A NAME="PXOR">
|
|
<U>PXOR</U> register, memory/register -- ge<U>P</U>acktes
|
|
verknüpfen mit <U>XOR</U> (Exklusive-Oder-Verknüpfung)
|
|
</A>
|
|
|
|
</FONT>
|
|
</TH>
|
|
</TR></TABLE>
|
|
|
|
<P>Der PXOR-Befehl verknüpft den gesamten 64 Bit breiten
|
|
Quelloperanden bitweise durch eine Exklusive-ODER-Verknüpfung
|
|
(XOR) mit dem Zieloperanden. Das Ergebnis der Verknüpfung
|
|
befindet sich nach dem Befehl im Zieloperanden.</P>
|
|
|
|
<FONT COLOR="#0000FF"><PRE>
|
|
MM0= 0370 0020 01A1 E2F2h
|
|
(= 0000 0011 0111 0000 0000 0000 0010 0000 0000 0001 1010 0001 1110 0010 1111 0010b)
|
|
|
|
MM1= 0123 4567 89AB CDEFh
|
|
(= 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111b)
|
|
|
|
PXOR MM0, MM1
|
|
|
|
Ergebnis in MM0= 0253 4547 880A 2F1Dh
|
|
(= 0000 0010 0101 0011 0100 0101 0100 0111 1000 1000 0000 1010 0010 1111 0001 1101b)
|
|
</PRE></FONT>
|
|
|
|
<!-- wie gehts weiter ------------------------------------------------------>
|
|
<P><HR SIZE=2></P>
|
|
<A HREF="mmx_8.htm" onMouseOver="touch( 'left' );" onMouseOut="release( 'left' );">
|
|
<IMG SRC="../images/arrowl.gif" NAME="left" ALT="zurueck" BORDER=0 ALIGN=LEFT></A>
|
|
|
|
<A HREF="mmx_10.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: 02.01.1999, Jens Hohmuth.
|
|
</ADDRESS>
|
|
</BODY>
|
|
</HTML>
|