일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- github
- data structure
- CSS
- javascript
- Pipelining
- computer
- system
- DoM
- control
- Algorithm
- Linux
- Java
- DB
- while
- instruction
- MacOS
- web
- html
- DATAPATH
- MIPS
- php
- architecture
- function
- mysql
- DS
- Class
- python
- XML
- for
- react
- Today
- Total
YYYEJI
[MacOS] QtSpim 사용하기 본문
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
◡̈
'Computer architectures' 카테고리의 다른 글
[MIPS] MIPS Instruction Summary (0) | 2022.10.10 |
---|---|
[MacOS] MIPS assembly language 알아보기 (0) | 2022.10.08 |
[MacOS] QtSpim 설치하기 (0) | 2022.10.07 |
[MIPS] Control Instruction (2) | 2022.09.25 |
[MIPS] Unconditional Branch Instructions (Jump etc.) (2) | 2022.09.25 |