[컴퓨터 구조] 7. MIPS 명령어 총 정리

2024. 4. 16. 20:03·CS/컴퓨터 구조
반응형

산술 명령어 (Arithemtic Instructions)

R - Format

add, sub

add rd, rs, rt   => rd = rs + rt

sub rd, rs, rt    => rd = rs - rt

 

mult $r, $s       => r * s,        곱셈의 경우, 연산 결과는 따로 어딘가에 저장됨

mfhi $d             => set hi to $d 연산 결과의 상위 32bit를 $d 레지스터에 이동

mflo $d             => set lo to $d 연산 결과의 하위 32bit를 $d 레지스터에 이동

 

div

 

I - Format

addi / addiu

addi rt, rs, imm  => rt = rs + imm  (rd 가 없으니 rt 를 대신 목적지로 사용한다. addiu 는imm 값을 zero extend 한다.)


논리 명령어 (Logical Instructions)

R - Format

and, or, nor, xor

and rd, rs, rt      => rd = rs & rt

 

I - Format

andi, ori, xori

andi rt, rs, imm   => rt = rs & imm   (논리 연산자는 기본적으로 imm 필드를 unsigned 로 zero extend 힌다.)

 

R - Format

sll, srl, sra

sll rd, rt, shamt      =>  rd  = rt  << shamt

 

sllv, srlv, srav

sllv rd, rt, rs             => rd = rt << rs    (레지스터의 하위 5bit만 읽음, rt, rs 위치가 다른 R-Format과 반대다.)


데이터 전송 명령어 (Data Transfer Instructions)

I - Format

lw, sw, lb, sb, lh, sh

lw rt, imm(rs)       =>    rt <= memory [ rs + imm ]

sw rt, imm(rs)      =>    rt => memory [ rs + imm ]

 

lhu, lbu

형식은 동일, 레지스터에 값을 채울 때, LSB 부터 채우고 나머지 위치를 zero extension 으로 채움

 

lui (load upper immediate)

lui 0x1234

Pseudo Instructions

li (load immedate)

la (load address)

move r1, r2 => add r1, r2, $0

nop => sll $0, $0, 0


분기 명령어 (Branch Instuctions)

조건 분기 (Conditional Branch)

I - Format

beq, bne

beq rs, rt, label     => goto label if rs == rt

 

slti, sltiu

slti rt, rs, imm         => set rt 1 if rs < imm

 

R - Format

slt, sltu

slt rd, rs, rt              => set rd 1 if rs < rt

 

Pseudo Instructions

bge, bgt, ble, blt   /    bltu, bleu, bgtu, bgeu

bge r1, r2, label

 

slt 를 사용하여 $at 레지스터 세팅 후, $at 레지스터를 $zero 레지스터와 비교


무조건 분기 (Unconditional Branch)

J - Format

j target       => jump to target

jal target    => link and jump to target

 

R - Format

jr rs            => 5bit 만 있으면 되니까 R Format, 나머지는 0으로 초기화

반응형
저작자표시 비영리 변경금지 (새창열림)

'CS > 컴퓨터 구조' 카테고리의 다른 글

[컴퓨터 구조] 9. 곱셈, 부동 소수점  (1) 2024.04.17
[컴퓨터 구조] 8. Computer Performance  (0) 2024.04.16
[컴퓨터 구조] 6. MIPS Branch Instructions  (0) 2024.04.15
[컴퓨터 구조] 5. MIPS Data Transfer Instructions (2)  (0) 2024.04.14
[컴퓨터 구조] 4. MIPS Data Transfer Instructions (1)  (0) 2024.04.06
'CS/컴퓨터 구조' 카테고리의 다른 글
  • [컴퓨터 구조] 9. 곱셈, 부동 소수점
  • [컴퓨터 구조] 8. Computer Performance
  • [컴퓨터 구조] 6. MIPS Branch Instructions
  • [컴퓨터 구조] 5. MIPS Data Transfer Instructions (2)
에버듀
에버듀
개발은 좋은데 뭘로 개발할까
  • 에버듀
    Blog. 에버듀
    에버듀
  • 전체
    오늘
    어제
    • 분류 전체보기 (614)
      • 개인 프로젝트 (43)
        • 토이 프로젝트 (3)
        • [2020] 카카오톡 봇 (9)
        • [2021] 코드악보 공유APP (22)
        • [2022] 유튜브 뮤직 클론코딩 (9)
        • [2025] 한글 SQL 데이터베이스 (0)
      • 팀 프로젝트 (22)
        • [2020] 인공지능 숫자야구 (4)
        • [2022] OSAM 온라인 해커톤 (10)
        • [2024] GDSC 프로젝트 트랙 (6)
        • [2025] 큰소리 웹 페이지 (2)
      • CS (335)
        • 자료구조 (19)
        • 어셈블리 (41)
        • 멀티미디어응용수학 (7)
        • 컴퓨터 구조 (29)
        • 알고리즘 분석 (4)
        • 컴퓨터 네트워크 (38)
        • 프로그래밍언어론 (15)
        • HCI 윈도우즈프로그래밍 (26)
        • 기초데이터베이스 (29)
        • 운영체제 (23)
        • 오토마타 (24)
        • 문제해결기법 (11)
        • 블록체인 (22)
        • 소프트웨어공학 (21)
        • 기계학습심화 (12)
        • 컴퓨터그래픽스와 메타버스 (8)
        • 분산시스템특론 (6)
      • 자기계발 (44)
        • 생각 정리 (22)
        • 대외활동 (11)
        • 동아리 (7)
        • 자격증 (3)
        • 머니 스터디 (1)
      • 알고리즘 (PS) (107)
        • BOJ (101)
        • Programmers (5)
        • 알고리즘 이모저모 (1)
      • WEB(BE) (8)
        • express.js (1)
        • Spring & Spring Boot (7)
      • WEB(FE) (2)
        • html, css, js (1)
        • React.js (1)
      • Tool & Language (6)
        • Edit Plus (1)
        • Git (1)
        • Python3 (2)
        • Java (2)
      • Infra (12)
        • AWS (1)
        • Oracle Cloud (8)
        • Firebase (2)
        • Network (1)
      • Android (18)
        • Java (6)
        • Flutter (12)
      • Window (2)
        • Visual Studio 없이 WPF (1)
        • MFC (1)
      • 독서 (14)
        • Inside Javascript (7)
        • Database Internals (6)
        • 한 글 후기 (1)
  • 링크

    • github
    • website
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
에버듀
[컴퓨터 구조] 7. MIPS 명령어 총 정리
상단으로

티스토리툴바