C 프로그램 프로세서의 크기를 찾을 수

C

ckshivaram

Guest
제발 경우 8 비트, 16 비트 32 비트 또는 64 비트 C 프로그램을 사용하는 방법을 procssor IE의 크기를 찾을 수 있는지 알고하자

 
난 너무 귀하의 질문에 확실하지.당신은 그것을 명확하게 할 수 있습니까?

 
로 새 스레드를 배치하는 프로세서의 크기를 찾습니다.
이 사람에 의해 답변이 아니란 걸 이미 다 삭제했다.

 
아니, 그것은 순전히 컨트롤러와 프로세서가 사용에 대해서입니다.

 
사건 먹으렴면 ...당신이 쓰는 프로그램이 될 대상으로 프로세서를 구체적으로합니다.에는 일반적인 프로그램은 8/16/32 비트 프로세서에 대한 어떠한 수정없이 실행할 방법이없습니다.

 
우리는 ARM용으로 작성된 프로그램은 모두 32 비트에서 16 비트 모드뿐만 아니라, 실행할 수있습니다.그럼 왜 우리가 32 비트 프로세서를 호출합니다.

무슨 근거에서 우리는 컨트롤러를 8, 16, 32, 비트 컨트롤러입니다 말하지 않는거야.

 
당신은 16 비트 ARM의 엄지 모드에 대해 얘기하고있습니다.그것은 코드 밀도를 향상시키기 위해 설계된 것이었지만 그 기능이 줄어 듭니다.그리고 발가락의 코드와는 다르게 컴파일됩니다 32 비트 모드입니다.그래서 아직도 다시 설치하지 않고 32 비트와 16 비트 모드에서 코드의 조각 - 컴파일을 실행할 수없습니다!
그래서 당신이 여기서 뭘하려는입니까??

그리고, 어떤 경우는 8/16/32 비트 프로세서, 그것 8/16/32 비트 데이터 처리 ALU의 용량에서 시간에 따라 결정됩니다 말 기준으로 얘기.

 
씨야 ALU가 정확한지, 그들은 또한 데이터 버스, 내부 레지스터, 주소 버스, 또는 주변 장치, 또는 다른 매개 변수에 의존하고있다.

내가 만약 Keil 또는 대상으로 32 비트 컨트롤러를 8을 선택하여, 그때 파일은 ASM을 실행할 필요가 날 프로세서의 크기를 말해 적어도.

1.내가 무슨 생각 프로그램 카운터 카운트 중이 었어요 및 위치 점프의 수에 따라 크기를 결정합니다.
2.밀어 및 POP 레지스터의 크기를 찾을 수있습니다.

같은 방법으로 그것 C 프로그램을 사용하여 찾을 수있습니다.추가 1 분 후 :엄지 코드와는 다르게 컴파일됩니다 32 비트 모드입니다.

뭐 ?????????????

 
ckshivaram 썼습니다 :엄지 코드와는 다르게 컴파일됩니다 32 비트 모드입니다.뭐 ?????????????
 
가요 ???????????????

정보를 주셔서 감사합니다, 당신은했다.하지만 필립스는 내부 버스 아키텍처의 핵심 버스 타이밍 및 메모리 매핑과 부트 로더의 내부 주변 장치에 대한 더 이상의 5 년 동안 일한 당신은 무엇을 말하는 거지 사실이 아니다.

제발 PDF로이 책을 읽어야만 어떤 파일을 말해.전 팀 사람 NXP는 필립스는 지금부터라고 ARM의 pdf 파일을 준비 일원이었다.
그리고 당신은 무엇을 지구에 별도의 컴파일러의 얘기 한거야????

당신은 기본적으로 컴파일러와 함께, 그것을 손가락 모드에 대한 비트 opcode를 생성합니다 Keil IDE를 사용할 수있습니다.
만약 당신이 #에서 Pragma ARM과 그것을 32 비트 opcode를 생성합니다 컴파일이 포함됩니다.
실행의 기본 모드는 손가락 모드입니다.그것은 ARM의 모드로 할 때, 다른 모드로 들어갑니다 이상의 스위치.후에 나올 때 그것 모드로 되돌아갑니다 엄지손가락 정상적인 실행을 시작합니다.

이 pdf 파일이나 말해주세요 어떤 사이트 NXP는 것보다 당신 게시된 정보를 가지고 서로에게서
내 knowledge.I 향상을 좋아할 수도있습니다 나는 오래된 내가 업데이 트해야 할 것 같아요.하지만 난 아직 30 년 동안 난 밖에 나가있어 내가 쉽게 잊을 것 같아요.

 
네에 Keil 사용에서 Pragma 지시자는 할 수 있어야합니다.GCC는 "이 필요합니다 - mthumb"스위치를 동시에 손가락을 생성하기위한 지침을 컴파일하고!
난 "별도의 컴파일러는"말하지 않았어 ..그것을 "별도의 컴파일러 스위치를"예 "- mthumb"됐다!나는 명령 라인에서 "스위치"무슨 뜻인지 알고 바랍니다.
그리고 NXP는 어떠한 데이터 시트 보지 못했 날짜까지 / 필립스는 귀하의 프로그램을 컴파일하는 방법을 알려줍 가세요.하지만 당신은 GCC의 설명서를 반드시 읽어 싶어 수도있습니다.

 
하이,

하기 위해서는 프로세서 여부를 8 비트 또는 16 비트 또는 32 비트 또는 64 비트, 2 개의 정수 변수를 데리고 it.If의 차이는 2 변수가 16 비트 다른 경우의 차이는 4 다음 32입니다이 차이를 찾을 수있는 곳을 찾아야 당신은 현명한 알아낼 수와 같은 비트.

만일 우리의 게시물을 edaboard 위의 비교적 좋은 생각하는 데.

 
sureshreddy 썼습니다 :

하이,하기 위해서는 프로세서 여부를 8 비트 또는 16 비트 또는 32 비트 또는 64 비트, 2 개의 정수 변수를 데리고 it.If의 차이는 2 변수가 16 비트 다른 경우의 차이는 4 다음 32입니다이 차이를 찾을 수있는 곳을 찾아야 당신은 현명한 알아낼 수와 같은 비트.만일 우리의 게시물을 edaboard 위의 비교적 좋은 생각하는 데.
 
하이,

나는 이전에 게시 답장 프로세서에 얼마나 많은 비트를 complier.not
이 정수 값은 상관 없다,하지만 U 변수의 주소의 차이점을 찍고, 그 다음에 쉽게 U 컴파일러를 기반으로 알아낼 수있다.

여기에 얼마나 많은 비트 컴파일러에 대해 하나의 예를 들어 주겠다.

# 포함 <stdio.h>
대문 ()
(
int = 10, b = 20는 C;
는 C = 식사와 침대 - &c; / 주소 / 차이;
(C == 2)
printf (16 비트 컴파일러 \ n)이;
(C == 4);
printf (32 비트 컴파일러 \ n)이;)올린날짜 4 분 후 :하이 cksivaram

U 여부 컴파일러 또는 프로세서에 대한 프로그램이 필요?내 회신해 주시기 바랍니다.추가 21 분 후 :하이,프로세서의 핀 다이어그램 나도 여부를 8 비트 또는 16 비트인지 말할 수있는 임니다.

 
귀하의 코드에서 그 변수를 연속으로 위치를 링커에 의해 배치됩니다 가정합니다.그게 전부의 경우 항상 그렇지는 않아요!만약 여러분의 코드에서 주소 0x1000와 b의 주소에 위치해있습니다 0x100A!이후 단계를 최적화 컴파일러에 의해 수행됩니다 이런 일이 생겼어요.

 
HAI의 CMOS,

모든 지역 변수는 스택 세그먼트에 저장되어 있어야합니다.모든 변수는 연속 메모리에 위치가 아닌 임의의 메모리 위치에 저장해야합니다.그래서이 시점에서 나는 작성한 프로그램이 어느 컴파일러를 찾는 정확 기반.

찾는 또 다른 방법은 (1) 하나를 가지고 있고 16 배 밖으로 65536.if 상태와 함께 확인 다음 16 비트 컴파일러입니다 만족과 함께 왼쪽으로 이동.현명한 U과 같이 각 컴파일러를 확인했다.
참고 :
낮은 비트 컴파일러는 코드 높은 비트 컴파일러 호환성 다시 단어의 개념을 기반으로하지만, 높은 비트 컴파일러를 실행하는 코드는 낮은 비트 컴파일러를 실행할 수없습니다.비록 U 16 비트 컴파일러에서 변수 값을 얻을 것이다 32 비트 값을 저장하려고하는 0입니다.

 
sureshreddy 썼습니다 :

HAI의 CMOS,모든 지역 변수는 스택 세그먼트에 저장되어 있어야합니다.
 
AC 컴파일러의 의무, 스택 또는 연속 순서 또는 0 개입 바이트에 자동으로 변수를 저장할 수있다.대부분의 경우 컴파일러 휴대용 코드를 원하지만, 그것에 의존하지 마세요.

, sizeof (int)를 사용하여 컴파일러의 정수의 크기를 확인하려면

 

Welcome to EDABoard.com

Sponsor

Back
Top