2013-01-22 4 views
1

재미있게 4 비트 명령어로 8 비트 프로세서 아키텍처를 설계 중이며 4 비트 명령어로 몇 가지 제한 사항이 있습니다.JFE와 JNE는 조립에 필수입니까? 아니면 제거 할 수 있습니까?

SHR (오른쪽으로 시프트) 및 SHL (왼쪽으로 시프트) 안내를 포함하고 싶지만 그만큼 공간이 부족한 것 같습니다. 나는 현재 JGE (점프 크거나 같은 경우), JLE (점프 작거나 같은 경우), JFE (점프 동일한 경우) 및 JNE (점프 동일하지 않은 경우), 그리고 이들의 네 필요한 경우 궁금하네요.

깨끗한 코드에 필요한 이러한 점프 조건이 모두 네, 아니면 내가 안전하게 SHRSHL에 대한 JFEJNE을 드롭 할 수 있습니까?

편집 : 나는 JMP을 수행하고 절대 아니다.

+0

하드웨어 사람이 아니라 단지 낮은 수준의 프로그래머 인 아니, 당신은 나오지 않았어 궁금 ' "조건 레지스터"를 취할 명령어 세트를 설계하십시오 - FLAGS || CCREG'; 예, 이것은 조건부 점프가 두 가지 명령 일 수 있음을 의미합니다. - 'MOV IMM, CCREG; JC CCREG, TGT' -하지만 명령을 훨씬 유연하게 설정할 수 있습니다. 교대에 대해서도 동일하다 - 하나의 opcode로 signed-const-in-reg에 의한 교대. 실제로, 나는 모든 연산/논리를 opcode 슬롯에 매우 엄격한 경우 'ALUOP OPREG, SRC, TGT'로 인코딩하려고 시도 할 것입니다. –

답변

4

Carl Norum의 답변 외에도 무조건 점프 명령 (JMP)에 대한 지원이있는 경우 JFE가 있으면 JFE로 JFE로 코딩 할 수 있기 때문에 JFE를 보완 할 필요가 없습니다. . 마찬가지로 JG, JFE 및 JMP를 사용하는 경우 JLE가 필요하지 않습니다.

shift의 경우 명령어가 인수를 사용하고 해당 인수가 워드 크기보다 큰 값을 허용하는 경우 shift-left 및 shift-right에 동일한 명령어를 사용하고 인수 값이 하나인지 아니면 그 이상인지 결정할 수 있습니다 다른.

+0

또한 무조건 점프를 없애고 JEQ와 JNE를 유지할 수 있습니다.쌍은 함께 무조건 부합 시키거나 정상적으로 하나 또는 다른 것을 사용합니다. 논리/alu 연산에 따라 무조건 조건을 없애고 단 하나의 조건 만 유지할 수 있습니다 (예 : mov reg, 0, sub reg, jeq 다음에 오는 조건없는 점프). 다른 alu/logic 연산을 기반으로하는 다른 조건문을 통해 작업하십시오. 4 가지 지시와 같은 명령어 세트는 이런 종류의 일을한다. –

3

"깨끗한"이라고하면 "읽기 쉽다"는 것을 의미 할 수 있지만 지침이 많을수록 좋습니다. 어쨌든, 요점까지. 실제로

, 당신은 단지 하나의 조건 점프 명령이 필요합니다.

Brainfuck 예를 들어 만 8 '지침'이있다. 두 개의 점프가 있습니다. 하나는 앞쪽에, 다른 하나는 뒤쪽에 있지만, 프로세서가 절대 점프를 사용하면 두 점프가 같을 수 있습니다.

프로세서 용 어셈블러를 작성하고 있습니까? 그렇다면 다른 점프 양식을 관리하는 매크로 명령을 추가하여 칩에서 실제로 지원되는 저수준 작업으로 변환 할 수 있습니다.

+1

참고 사항 [단일 명령어가있는 아키텍처] (http://en.wikipedia.org/wiki/One_instruction_set_computer))) – Jester

+0

그래, 그게 한계 야. 그들은 가독성을 가지고 창밖으로 던져 버립니다. –

+0

@Jester Pffffft. – Zyerah

3

다음은 JFE 및 JNE를 삭제하는 한 가지 방법입니다.

이 코드는 테스트가 동일한 지 (definitely_equal로 분기) 여부에 따라 다른 위치로 분기됩니다 (definitely_not_equal로 분기).

JGE maybe_equal 
    JLE definitely_not_equal 
maybe_equal: 
    JLE definitely_equal 
    JGE definitely_not_equal 

나는이 깨끗한 코드를 계산 여부를 결정하는 당신에게 그것을 떠날거야 ...