Paarsuse biti kalkuleerimine
#8
Proovisin leida baidi paarsust C keeles. (Puht laiskusest.)
Aga katsuge sama teha ASMis.
Seal peaks kuluma 7 käsku?
Muuses, seda C-d võib transleerida ka PICi jaoks.

Kood:
#include <stdio.h>
#include <stdlib.h>

int main(int argc,char *argv[]){
int a =0x93,b,i;
    fprintf(stdout,"Arv (detsi hex bin)-vahekujud (hex bin)-paarsus\n");
    for(i=0;i<=255;i++){
// Katsetame leida arvude 0 kuni 255 paarsust
        b=i;
// nihutame baiti 4 bitti paremale ja kasutame XOR käsku
        b=b^(b>>4);
// nihutame baiti 2 bitti paremale ja kasutame XOR käsku
        b=b^(b>>2);
// nihutame baiti 1 bitti paremale ja kasutame XOR käsku
        b=b^(b>>1);
        fprintf(stdout,"%3d %2X %8b - %2X %8b - %d\n",i,i,i,b,b,b&1);
    }
    fprintf(stdout,"Käsud nihutada ja XOR on olemas ka ASMis\n");

    return 0;
}
_________________________________
Õhtu on vist ikka hommikust targem.
Kui nihutada vasakule, siis saab suunata baidi märgi järgi.
Jälle üks käsk vähem. Smile
Vasta


Sõnumeid selles teemas
Paarsuse biti kalkuleerimine - Autor: felch - 18-09-2012, 09:49 PM
RE: Paarsuse biti kalkuleerimine - Autor: andrei - 19-09-2012, 02:28 PM
RE: Paarsuse biti kalkuleerimine - Autor: tvtv - 19-09-2012, 04:25 PM
RE: Paarsuse biti kalkuleerimine - Autor: felch - 21-09-2012, 08:00 AM
RE: Paarsuse biti kalkuleerimine - Autor: ahelet - 24-09-2012, 11:06 PM
RE: Paarsuse biti kalkuleerimine - Autor: felch - 25-09-2012, 07:56 AM
RE: Paarsuse biti kalkuleerimine - Autor: madis - 25-09-2012, 10:31 AM
RE: Paarsuse biti kalkuleerimine - Autor: A.R. - 26-09-2012, 11:48 AM
RE: Paarsuse biti kalkuleerimine - Autor: felch - 01-10-2012, 08:54 AM
RE: Paarsuse biti kalkuleerimine - Autor: A.R. - 02-10-2012, 09:42 AM

Alamfoorumi hüpe:


Kasutaja, kes vaatavad seda teemat: 1 külali(st)ne