창조유저그룹-커즈닷컴
Window close
ID :     PASS :   
   
  처음으로
  창조
  창조 소개
창조 다운로드
CUGz.com 소개
온라인 도움말
  커뮤니티
  가입인사
자유게시판
Q/A게시판
TIP/TECH
열린강좌
자주하는질문
아이디어게시판
  자료실
  소스자료실
프로그램자료실
기타자료실
명예의 전당
이미지 자료실
  지원/기타
  표준용어재정
구글 웹서치  
관리자 전용


기타자료실
- '창조'로 제작하지 않은 프로그램이나, '창조'와 관련된 프로그램들을 올리는 곳입니다.
- 첨부가능 확장자는 *.zip,*.rar,*.exe,*.jpg,*.gif,*.png 입니다.


LIST ALL
Posted by 김제형2008-11-30 14:35:13, Hit : 5333
난해한 프로그래밍 언어 2
Homepage : http://www.김제형.je.ro
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=pds_etc&no=858

재가 쓸게 별로 없어서 해석을 했거든요.
잘 봐 주시기 바랍니다.

Whirl 프로그래밍언어


1.이 프로그래밍 언어에서 주어진 것은, 오퍼레이션 링과 그에 달린 하나의 숫자(모든 정수 다 됨), 수학 링과 그에 달린 하나의 숫자(모든 정수 다 됨), 무한한 메모리(하나의 메모리 칸에는 하나의 정수를 넣을 수 있다.) 그리고 두 개의 명령어 1과 0이다.


2.명령어
 휠에는 두 가지 명령어가 있다. 1과 0이다.
 1 => 정해진 방향으로 정해진 링을 1칸 돌린다.
 0 => 링을 돌리는 방향을 반대로 한다. 만약 뒤에 0이 있다면, 지금 링의 명령어를 실행하고, 링을 교체한다.(수학 링이면 오퍼레이션 링으로, 오퍼레이션 링이면 수학 링으로)
 처음에는 오퍼레이션 링이 선택 되어 있고 밑 방향으로 돌린다.(시계방향) 그리고 수학 링과 오퍼레이션 링은 Noop명령어로 설정 되어 있다. 만약 1과 0 이외에 명령어가 오면 무시 한다.(PAdd할 때도 무시하는 걸로 알고 있음) 그렇다면 주석을 다는 것은 간편하다. 다만 0과 1만 조심하면 된다.


3.링


오퍼레이션 링


Noop => 아무 일 안함.
Exit => 프로그램을 끝낸다.
One => 오퍼레이션 링에 달린 숫자를 1로 만든다.
Zero => 오퍼레이션 링에 달린 숫자를 0으로 만든다.
Load => 오퍼레이션 링에 달린 숫자를 현재 가르키고 있는 메모리 안의 숫자로 만든다.
Store => 현재 가르키고 있는 메모리 안의 숫자를 오퍼레이션 링에 달린 숫자로 바꾼다.
PAdd => 현재 가르키고 있는 프로그램 포인터에 오퍼레이션 링에 달린 숫자를 더한다.(점프 같지요.JMP)
DAdd => 현재 가르키고 있는 메모리 포인터(메모리 포인터가 가르키는 숫자가 아님)에 오퍼레이션 링에 달린 숫자를 더한다.(브레인
퍽에서는 >혹은 <명령어와 비슷)
Logic => 만약 현재 메모리 포인터가 가르키고 있는 메모리 방 안의 숫자가 0이라면 링에 달린 숫자(뭔지 알겠지?)를 0으로 바꾼다. 아니면 링에 달린 숫자와 1을 AND연산(1&1=1 1&0=0 0&1=0 0&0=0)한다.
If => 만약 현재 메모리 포인터가 가르키는 방의 숫자가 0이 아니면 링에 달린 숫자를 프로그램 포인터에 더한다.(PAdd 비슷)
IntIO => 만약 링에 달린 숫자가 0이라면 숫자를 받아 현재 메모리 포인터가 가르키는 방에 숫자를 넣는다. 아니면 현재 메모리 포인터가 가르키는 방의 숫자를 출력한다.
AscIO => 만약 링에 달린 숫자가 0이라면 문자를 받아 현재 메모리 포인터가 가르키는 방에 문자의 아스키 코드 값을 넣는다. 아니면 현재 메모리 포인터가 가르키는 방의 아스키 코드 값과 일치하는 문자를 출력한다.


수학 링


Noop => 아무 일도 않 함
Load => 수학 링에 달린 숫자를 현재 메모리 포인터가 가르키는 방 안의 숫자로 바꾼다.
Store => 현재 메모리 포인터가 가르키는 방 안의 숫자를 링에 달린 숫자로 바꾼다.
Add => 링에 달린 숫자에 메모리 포인터가 가르키는 방의 숫자를 더한다.
Mult => 링에 달린 숫자에 메모리 포인터가 가르키는 방의 숫자를 곱한다.
Div => 링에 달린 숫자를 메모리 포인터가 가르키는 방의 숫자로 나누어 몫을 링에 달린 숫자에 넣는다.
Zero => 링에 달린 숫자를 0으로 만든다.
< => 만약에 링에 달린 숫자가 메모리 포인터가 가르키는 방의 숫자보다 작다면 링에 달린 숫자를 1로 바꾼다. 아니면 링에 달린 숫자를 0으로 바꾼다.
> => 만약에 링에 달린 숫자가 메모리 포인터가 가르키는 방의 숫자보다 크다면 링에 달린 숫자를 1로 한다. 아니면 링에 달린 숫자를 0으로 한다.
= => 만약 링에 달린 숫자와 메모리 포인터가 가르키는 방의 숫자와 같다면 링에 달린 숫자로 1로 한다. 아니면 링에 달린 숫자를 0으로 한다.
Not => 만약 링에 달린 숫자가 0이 아니면 0으로 바꾼다. 아니면 1로 바꾼다.
Neg => 링에 달린 숫자에 마이너스를 붙인다.(-1을 곱한다. 0 => 0, 1 => -1, 2 => -2, -3 => 3...)


4. 설명
1+1을 출력하는 예제이다.
00 => 오퍼 링의 Noop명령을 실행하고 수학 링으로 바꾼다.
0 => 수학 링의 방향을 시계 반대로 바꾼다.
11 => 수학 링의 Not명령으로 링을 돌린다.
00 => 수학 링의 Not명령을 실행하고 오퍼 링으로 바꾼다.
00 => 오퍼 링의 Noop명령을 실행하고 수학 링으로 바꾼다.
1 => 수학 링의 Add명령으로 링을 돌린다.
00 => 수학 링의 Add명령을 실행하고 오퍼 링으로 바꾼다.
00 => 오퍼 링의 Noop명령을 실행하고 수학 링으로 바꾼다.
0 => 수학 링의 방향을 시계 방향으로 바꾼다.
1 => 수학 링의 Store명령으로 링을 돌린다.
00 => 수학 링의 Store명령을 실행하고 오퍼 링으로 바꾼다.
11 => 오퍼 링의 One명령으로 링을 돌린다.
00 => 오퍼 링의 One명령을 실행하고 수학 링으로 바꾼다.
00 => 수학 링의 Store명령을 실행하고 오퍼 링으로 바꾼다.
0 => 오퍼 링의 방향을 시계 반대 방향으로 바꾼다.
1111 => 오퍼 링의 IntIO명령으로 링을 돌린다.
00 => 오퍼 링의 IntIO명령을 실행하고 수학 링으로 바꾼다.
그럼 소스는 어떻게 만들가요?
위의 소스를 합치면
0001100001000001001100000111100
가 됩니다.
가끔씩 보기 좋도록 같은 크기를 정해 뛰어쓰기도 합니다.
00011000
01000001
00110000
0111100


5. 예제
Hello, World!를 출력 하는 예제.
110011100111000001111100000001000011111000011111100000000010
000011001111100001100010000010011111000100000000000001001111
100000111110001000000000000000001000111110010000001100001111
100011000000000100111110011100111000111000001000111000001111
100000111110010000011111000110011111100001111000001111000001
110011111100001111000110011100000111000100011111000001111100
100000110000000111000001110001111100011111000111000001000001
000011000111110001000001000000011100000111001000111110001111
000001111000011111100001111110000011110000000000000000011110
000011100111000011110011111000111110001111100000100000000000
000000000000111110001110000001110000011100011100111110001000
100000000011100001111100110000000010011111000111100000111100
111100010011100000111110000011111001100111100010001111000000
000001000111110010000010011110011001110001000111110001100000
100011111000011110011100111111000111100000111100011111000000
011110000011100100001111000100011111001100011111000111100000
111001110001100111100100000000000000011111000001111100010010
000011100001111100100000100011100000111000110011110001001111
110001100000111100011111000111100000111001000011110001001111
100000111110000000011110000011110000000000000000111000001110
000011000001100000111000111000001100111110000111111001001110
000011111000001100011000001001111110000011100110011111000000
000111000001110000111100001100


손상진   2008-11-30 PM 8:13:19  
뭐 기계어도 짜면 0010011101011
LIST ALL               GO TO THE TOP


N
Category
   Subject
Posted by
Date
H
322 창조관련
   탄성체 습작 [1]
성인e 2009/05/20  5310
321 창조관련
   다중 되돌리기 기능 구현! [4]
박종훈 2006/05/31  5312
320 창조관련
   [수정]창조 스튜디오 1.1 2번째 파일 [1]
정성우 2005/08/28  5314
319 창조관련
   창조도움말 사용법-_-;
박종훈 2007/01/07  5315
318 창조관련
   창조 설치맨입니다~!! [3]
지상현 2003/02/26  5322
317 기타
   바로 아래보다 최신버전 - 마이크... [2]
ps.구루 2004/04/24  5323
316 기타
   유용한 것같아서 ^^; Win32 SDK R... [6]
박종훈 2006/01/26  5323
315 창조관련
   창조 운영체제...최종.. [8]
qkrwhdgns 2005/06/25  5324
314 기타
   두번째 카스 시디키 뽀리기..
강현구 2003/04/13  5327
313 창조관련
   [버그고침]창조 선언 변환기! API... [5]
지상현 2005/07/31  5329
312 창조관련
   hello, world 출력 [1]
성인e 2009/11/09  5330
311 기타
   공쏘기 버전 업!!! [3]
지상현 2005/12/19  5332
기타
   난해한 프로그래밍 언어 2 [1]
김제형 2008/11/30  5333
309 기타
   Dependency Walker 2.1 - 해당 파... [6]
정성우 2004/05/31  5337
308 기타
   윈도우 XP_P에서.. DNS서버 구축...
손상진 2004/11/23  5340
307 스크린샷
   [필독]창조 다음버전의 새로운 객... [8]
날개달기 2003/12/16  5342
306 기타
   창조 DX의 설명서입니다.... [2]
지상현 2005/12/03  5344
305 스크린샷
   [스샷] 창조 처음할 때 만들었던 ... [4]
최성환 2003/01/05  5355
304 창조관련
   vector [1]
성인e 2009/11/29  5356
303 기타
   [게임]타자게임최신(사운드추가) [9]
김환욱 2006/10/06  5361
302 기타
   아름 엔진 v4... [다시 받으시길] [7]
지상현 2004/07/07  5366
301 창조관련
   창조 웹브라우저 완성 (DLL 사용) [6]
지상현 2004/05/16  5370
300 창조관련
   [테스트요망] 시스템 환경 알아내기 [13]
최재일 2004/09/09  5371
299 기타
   공튀기기 [3]
NaCl 2006/07/21  5374
298 창조관련
   dll 파일 하나 올려봅니다 -__+ [2]
날개달기 2003/01/22  5376
LIST ALL   Prev [1]..[11][12][13][14][15] 16 [17][18][19][20]..[28] Next
Copyright 1999-2024 Zeroboard / skin by reedyfox in miniwini style
로그인
지우개 Expert 3.0
제작자 : 천호성 님 [LINK]
로그인
대박로또2005
제작자 : 최재일 님 [LINK]
로그인
1박종훈15292 점
2지상현8809 점
3손상진7388 점
4권선중6060 점
5이진백5174 점
로그인
가입일닉네임
05/31김동률
03/31홍형기
09/01o00pp99oo
12/27이재민
11/20이희철
로그인