개요

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! 출력 예시 1
MSP:
   SET S16:exam > Hello, World!
   MOV exam
   OPN S16:NOM
   VSH
   CLM
:MEP
  • Hello, World! 출력 예시 2
MSP:
    SET S16:exam > Hello, World!
    TMV exam[6]
    VSH
    CLM
:MEP
  1. 2024년 5월 18일 18시 03분 29초 기준. 미디어위키 표현식의 한계에 의해서 이 값은 정확하게 나타나기 힘들다. 정확한 값을 얻기 위해서는 사트/표준#Python 구현에서 설명하는 방법을 통하는 것이 바람직하다.
  2. 디스코드 서버에는 차단된 사람이 아니라면 누구나 들어올 수 있습니다.
  3. 0 또는 1
  4. MOV와 OPN을 합친 기호이다.
    큰 기능의 차이는 없지만, 메모리 크기에 대한 정보를 직접적으로 주지않기 때문에 오류가 발생할 수 있다.
  5. 최근에 접근 된 값을 보여준다. MOV를 사용하였다면 메모리 주소를 보여주고 OPN을 사용하였다면 OPN에서 가져온 값을 보여준다.
  6. 예시 1과 다르게 TMV는 MOV와 OPN의 기능을 합친 것과 비슷하기 때문에 사실상 완전 코드라고 봐도 무방하다.