YYYEJI

[MacOS] QtSpim 사용하기 본문

Computer architectures

[MacOS] QtSpim 사용하기

YEJI ⍢ 2022. 10. 7. 23:55
728x90

 

OtSpim 사용법에 대해서 알아보겠습니다.

 

 

↓↓↓       설치를 위해서 링크를 클릭해 주세요      ↓↓↓

https://yyyeji.tistory.com/149

 

[MacOS] OtSpim 다운로드하기

Spim 이란? MIPS chip이 아니여도 assembly 코드를 읽고 실행시켜 주는 simulator입니다. 여러 OS(window, mac os, linux)에서 한 줄씩 실행시켜 줍니다. (interface) (앞에 붙은 Ot는 최신 버전을 뜻합니다.) ↓..

yyyeji.tistory.com

 

 

 

아래 사진들은 Otspim을 실행했을 때 나오는 첫 화면들입니다.

 

 

 

✓  새로운 파일을 생성할 때 쓰는 확장자는 .a or .s or .asm 입니다.

✓ assembly 언어가 화면에 뜰 때 정확히 일치하지 않을 수도 있습니다.

 

 

 

아래 보이는 화면은 각 레지스터(register)의 내용 입니다.

 

 

 

실행(Execution)를 하기 위해서는 loading을 한 후

실행 버튼이나 simulator을 클릭하면 됩니다.

(F5도 가능합니다.)

 

 

 

실행을 시키면 0x00400044 주소부터 시작을 한 건지 묻는 창이 나옵니다.

OK를 눌러주세요 !

 

 

 

재실행(Re-execution)을 하기 위해서는 레지스터를 clear 시켜줘야 됩니다.

Simulator에서 Clear Registers를 클릭하면 됩니다.

(그 후에 다시 execute하면 됩니다.)

 

 

 

 

똑같은 파일을 reloading 할 땐 아래와 같이 하시면 됩니다.

 

 

 

주석(comment)는 #으로 사용할 수 있습니다.

 

 

 

 

코드를 작성할 때 text 부분과 data 부분으로 나뉩니다.

text부분은 program이고,

(.text로 시작)

data 부분은 program의 data입니다. 

(.data로 시작)

 

 

 

 

아래 코드를 assembly language로 작성해 보겠습니다.

 

↓↓↓      C language code      ↓↓↓

#include <stdio.h>

int main(){
    printf("Hello World!!!\n");
    return 0;
}

 

 

↓↓↓       Assembly language code      ↓↓↓

# test.s
# print "Hello World!!!"
.data
    str: .asciiz "\nHello, World!\n"

.text
main:
    li $v0, 4
    la $a0, str
    syscall

    li $v0, 10
    syscall

✓ main은 label 이고,

main 밑에 부분은 program 이고,

.data 밑에 부분은 data 입니다.

 

 

 

 

https://yyyeji.tistory.com/151

 

[MacOS] MIPS assembly language 알아보기

아래 코드를 가지고 설명하겠습니다. ↓↓↓ C language code     ↓↓↓ #include int main(){ printf("Hello World!!!\n"); return 0; } ↓↓↓  Assembly language code    ↓↓↓ # test.s # print..

yyyeji.tistory.com

 

 

 

 

 ◡̈