[컴퓨터구조] Logical Instructions: and/or/nor/sll/srl

젠니·2023년 9월 28일
0

컴퓨터구조

목록 보기
4/11

Bitwise Logical Instructions

Exercise

.text
.globl main
main:
	addi $t1, $0, 0x3C00
    addi $t2, $0, 0x0DC0
    or $t0, $t1, $t2
    ori $t3, $t1, 0
    and $t4, $t1, $t2
    andi $t5, $t1, -1
    nor $t6, $t1, $t2
    nor $t7, $t1, $t1
    ori $s0, $0, 9
    sll $t2, $s0, 4
    srl $t4, $t2, 2

or $t0, $t1, $t2 / ori $t3, $t1, 0 (상수)

bitwise 연산은 이렇게 비트끼리 연산한다.

and $t4, $t1, $t2

andi $t4, $t1, -1

결과를 보면 $t1 레지스터와 값이 같은 것을 볼 수 있다.
왜냐하면, A and 1 = A 이기 때문이다.

nor $t6, $t1, $t2 = not or

위와 같이, 더하고 나서 뒤집어주는 것을 볼 수 있다.

❗ 만약 not 연산을 해주고 싶으면 자기 자신을 operand로 쓰면 된다.

nor $t7, $t1, $t1 = ~$t1

sll $t2, $s0, 4

$s0을 4bit 왼쪽으로 이동시킨다.

왼쪽으로 x bit 이동하는 것은 2^x 로 곱하는 것과 같은 결과가 나오지만, 속도가 훨씬 빠르다.

srl $t4, $t2, 2

$t2를 2bit 오른쪽으로 이동시킨다.

오른쪽으로 x bit 이동하는 것은 2^x 로 나누는 것과 같은 결과가 나오지만, 속도가 훨씬 빠르다.

profile
젠니의 개발 라이푸우

0개의 댓글

관련 채용 정보