일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Class
- architecture
- DS
- javascript
- DATAPATH
- Pipelining
- DB
- html
- while
- Java
- XML
- computer
- MIPS
- system
- web
- react
- mysql
- DoM
- MacOS
- Algorithm
- control
- Linux
- php
- python
- instruction
- CSS
- function
- for
- data structure
- github
- Today
- Total
YYYEJI
[MacOS] QtSpim 사용하기 본문
OtSpim 사용법에 대해서 알아보겠습니다.
↓↓↓ 설치를 위해서 링크를 클릭해 주세요 ↓↓↓
https://yyyeji.tistory.com/149
아래 사진들은 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
◡̈
'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 |