Скачиваний:
15
Добавлен:
09.05.2014
Размер:
32.77 Кб
Скачать

Лабораторная работа по Организации ЭВМ

Битовые операции

Выполнили: студенты группы 2100

Митрофанов Александр

Пермяков Валерий

z=(x1 v /(x2x3))(/x2 v x4)

Реализация задачи на С

#include <reg51.h>

char bdata mem;

unsigned short int bdata out = 0;

sbit x1=mem^0;

sbit x2=mem^1;

sbit x3=mem^2;

sbit x4=mem^3;

sbit z = out^8;

// z= (x1 v /x2x3)(/x2 v x4)

main()

{

for(mem=15;mem>=0;mem--)

{

out <<= 1;

z =((x1|(~(x2&x3)))&((~x2)|x4));

}

P0 = out & 0xFF;

P1 = (out >> 8);

while (1);

}

Реализация задачи на ассемблере

mem equ 0x20

outl equ 0x21

outh equ 0x22

bseg at 0x23

x1 bit mem.0

x2 bit mem.1

x3 bit mem.2

x4 bit mem.3

y bit outl.0

tunec1 bit acc.0

tunec2 bit acc.1

cseg at 0

mov r0, #0x16

mov outl, #0

mov outh, #0

cyc:

mov a, outl

clr c

rlc a

mov outl, a

mov a, outh

rlc a

mov outh, a

mov a, r0

dec a

mov mem, a

mov c, x2 ; c=x2

anl c, x3 ; c=x2&x3

cpl c ; c=/x2&x3

orl c, x1 ; c=(/x2&x3 | x1)

mov tunec1, c ; tunec1=(/x2&x3 | x1)

mov c, x2 ; c=x2

cpl c ; c=/x2

orl c, x4 ; c=(/x2 | x4)

anl c, tunec1 ; c=(/x2&x3 | x1)&(/x2 | x4)

mov y, c

djnz r0, cyc

mov P0, outl

mov P1, outh

noper:

sjmp noper

end

Соседние файлы в папке общий отчет