Notice‎ > ‎

LMC 1.3.3.3 cpu.c ALU patch 1

게시자: 허대영, 2011. 9. 28. 오전 2:01   [ 2011. 9. 28. 오전 2:39에 업데이트됨 ]
파일 이름 cpu.c: ALU 기능 구현이 올바르지 않습니다. 다음을 읽고 수정하거나 소스코드를 다시 다운로드 받아 압축을 풀기 바랍니다.

53: SET_CPU_FLAG(Z, (result.low =0       )?TRUE:FALSE);
53: SET_CPU_FLAG(Z, (result.low==0       )?TRUE:FALSE);

55-63:
      if( SIGN1 == SIGN2 &&
          GET_CPU_FLAG(S) != SIGN1)
        {       
          SET_CPU_FLAG(O, (result.low>=HALF_BOX)?TRUE:FALSE);
        }       
55-63:
      if( SIGN1 == SIGN2 &&
          GET_CPU_FLAG(S) != SIGN1)
        {       
          SET_CPU_FLAG(O, TRUE);
        }       
      else    
        {       
          SET_CPU_FLAG(O, FALSE); 
        }       

위의 빨간색 부분을 초록색 부분과 같이 수정해야 합니다.

수정 내용은 LMC 매뉴얼 "모듈>CPU>Arithmetic/Logic Unit"에서 확인할 수 있습니다.