(→예시) |
(→기호) |
||
| 69번째 줄: | 69번째 줄: | ||
|- | |- | ||
| VSH | | VSH | ||
| 현재 | | 현재 값 출력<ref>최근에 접근 된 값을 보여준다. MOV를 사용하였다면 메모리 주소를 보여주고 OPN을 사용하였다면 OPN에서 가져온 값을 보여준다.</ref> | ||
| VSH | | VSH | ||
|- | |- | ||
| CLM | | CLM | ||
| | | 열려있는 메모리 닫기 | ||
| CLM | | CLM | ||
|- | |- | ||
2022년 10월 27일 (목) 21:21 판
개요
CSM은 Low-Level 언어이다.
CSM에서는 코드 내 기호는 모두 대문자 로마자로 작성되고 확장자는 '*.cm'으로 저장되며 실행파일(타겟파일)은 '*.s'로 저장된다.
| 언어 | 명칭+ |
|---|---|
| çivùque spika matikakomkos | |
| aitovi lan bioxi | |
| 개발언어식 | |
| Development language expression | |
| roqkfdjsdjtlr | |
| kr;fwjtsjtndx |
기호
| 기호 | 의미 | 사용 |
|---|---|---|
| MSP | 프로그램 시작점 | MSP: |
| MSE | 프로그램 종료점 | :MSE |
| SET | 메모리 값 설정 | SET [메모리 타입&크기]:[명칭] > [값] |
| T | 비트 | T[값][3] |
| O | 8진수 | O[값] |
| X | 16진수 | X[값] |
| S | 문자열 | S[문자길이] |
| B | 바이트 | B[크기] |
| MOV | 메모리 주소로 이동 | MOV [명칭] |
| NOM | 현재 메모리의 주소 | NOM |
| OPN | 메모리의 값 가져오기 | OPN [메모리 타입&크기]:[메모리 주소] |
| TMV[4] | 메모리의 값 가져오기 | TMV [명칭] |
| VSH | 현재 값 출력[5] | VSH |
| CLM | 열려있는 메모리 닫기 | CLM |
| ADD | 값 더하기 | ADD [명칭]:[값] |
| SUB | 값 빼기 | SUB [명칭]:[값] |
| BML | 왼쪽 비트쉬프트 | BML [명칭]:[이동 할 비트 수] |
| BMR | 오른쪽 비트쉬프트 | BMR [명칭]:[이동 할 비트 수] |
구조
메모리 접근과 값 가져오기
- 방법 1
메모리에 값 설정하기 [SET] 메모리 주소로 이동하기 [MOV] 현재 메모리의 값 가져오기 [OPN] 메모리 접근 종료 [CLM]
- 방법 2
메모리에 값 설정하기 [SET] 메모리의 값 가져오기 [TMV] 메모리 접근 종료 [CLM]
예시
- Hello, World! 출력
MSP: SET S16:exam > Hello, World! MOV exam OPN S16:NOM VSH CLM :MEP