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