디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

플밍(ARM) 고수님들만 마프 간단한 과제 에러 좀 도와죠ㅜㅜ

뉴븨(61.36) 2011.11.27 19:40:48
조회 66 추천 0 댓글 2
														

ARM으로 어셈블 함수 만들어서 C코드에넣는거야 횽들

원하는 시작 메모리 시작 주소 넣고 끝내는 시작주소 넣고 어셈블로 넘겨서
그걸 레지스터로 받고 00000000, 11111111 이걸 다른 레지스터에 넣은후
그 메모리 시작 레지스터랑 비교하고 제대로 스토어 로드가 되면 카운터 하나씩 올려서 메모리가 몇개를 쓸 수 있나 알아보는거야 횽들

#include<stdio.h>
typedef struct info_struct {

  int start;
  int finish;
  int count;
} info;

__value_in_regs extern RAM_test(int a, int b, int c);

int main()
{
  int a, b;
  int c=0;
  info res;

  printf(" Enter start address : ");
  if(scanf("%x", &a)!=1)
  {puts("Bad numbers");}
  printf(" Enter finish addresss : ");
  if(scanf("%x", &b)!=1)
  {puts("Bad numbers");}

  res=RAM_test(a, b, c); ->cast to non-equal \'info_struct\' illegag 이거는 어셈블 코드로 함수 만든거야 횽들

  printf("Memory test OK");
  printf("usual RAM = %8x Byte ", res.count);


  return 0;
} ->missing newline before EOF - inserted 왜 에러가 나는건지 모르겠어 횽들

여기는 어셈블 코드
 AREA |counterpattern$$code|, CODE, READONLY
|x$codeseg|


    EXPORT RAM_test


; r0=depature address, r1=last address , r2=counter, r3=00000000, r4=11111111

RAM_test
 MOV r3, #00000000
 MOV r4, #0xff
 
LOOP
 CMP r0, r1 ;

 MOV pc, lr;

 END
   
 STRNE r3, [r0] ; [r0]=r3

  CMP r3, [r0] ;

  STREQ r4, [r0] ; [r0]=r4

   CMP r4, [r0], #1 ;
 
    ADDEQ r2, r2, #1 ;

    BNE LOOP;

  ADDNE r0, r0, #1;
  
  LOOP;


어셈블 코드는 논리적으로 틀릴지는 모르겠는데 에러가 안나..ㅜㅜ 근데 c코드는 에러가 뜨더라구.
이거 해결 좀 부탁해줘 횽들.
혹시나 제대로 할 수 있는 횽들한테는 카톡으로 만원어치 쏠게 횽들..
제대로 해줄 횽들은 밑에 문제 참조해서 읽어줘 횽들

power up될 때 수행하는 작업 중의 하나가 RAM test입니다. 이때는 RAM에 아무런 내용이 올라가 있지 않는 상황에서 현재 사용가능한 RAM 크기를 확인합니다.

입/출력 및 메시지 출력은 C 프로그램이 담당하고 RAM test는 ARM 어셈블리 프로그램을 사용하도록 합시다.

C 프로그램에서 test할 main memory 시작주소(32bit), test할 byte 수(32bit)를 입력받습니다. 어셈블리 프로그램에게 그 parameter를 전달해주면 어셈블리 프로그램에서는 test 합니다.

메모리 test에서 사용하는 data pattern은 \'00000000\'와 ‘11111111’입니다. 각 pattern을 메모리에 쓰고 바로 읽습니다. 두 data가 같으면 그 주소가 정상이고 다르면 비정상임을 나타냅니다.
 
test 도중 error가 발생하면 그 번지 전까지 counter값을 C로 반환합니다. 정상 완료되면 확인한 counter 값을 C로 반환합니다. C에서 "Memory test OK"라는 메시지와 함께 "현재 사용가능한 RAM 크기 = ???? Byte" 라는 메시지를 보내줍니다. 

주의사항: ARM emulator를 사용하므로 현재 사용 중이 아닌 메모리영역에서 test 해야 합니다. 수행중인 프로그램이 들어가 있는 번지에 대하여 test를 수행하면 그 번지에 특정 pattern을 쓰게 되므로 그 프로그램이 깨지게 됩니다. test 할 때 시작주소는 0x000a0000을 사용하고 counter값은 8bit수로 사용하십시오.





추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 연말 모임 가는 곳마다 가장 인싸일 것 같은 스타는? 운영자 25/12/08 - -
AD 루틴 ON! 운동 찐템! 지금 할인 중 운영자 25/11/27 - -
291148 정치얘기는 끊임없이 올라오는구나 三didas갤로그로 이동합니다. 11.11.28 27 0
291147 경찰 폭행하는 나쁜 시위자들 모두 처형해야한다 [4] 곽노현차장(59.13) 11.11.28 106 1
291143 내가 회사를 가고 학교를 가고 돈을 벌어야되는 이유.jpg [4] Stan(220.244) 11.11.28 289 0
291142 리얼스틸 후기 [2] McHello갤로그로 이동합니다. 11.11.28 104 1
291140 오늘은 집에서 쉬자 [1] 알탱o갤로그로 이동합니다. 11.11.28 31 0
291137 쿄스케횽 오면 보구 [3] 찌뱅긔갤로그로 이동합니다. 11.11.28 51 0
291135 오늘 자대 돌아감 ㅠㅠ 가기싫헝 ㅜ [7] 돌고래스피커갤로그로 이동합니다. 11.11.28 94 0
291134 오랫만에 프게이 짤방과 함께 활기찬 하루! [1] foriequal0갤로그로 이동합니다. 11.11.28 43 0
291131 아 페이스북 아쉬운점이 한가지 있제잉 나리링갤로그로 이동합니다. 11.11.28 62 0
291129 존나조은아침이요 三didas갤로그로 이동합니다. 11.11.28 59 0
291125 야 왜 나는 니들 친목에 안껴주냐?? 시바시바 [4] 곽노현환자(220.244) 11.11.28 85 0
291124 쿨럭 elwlwlwk갤로그로 이동합니다. 11.11.28 27 0
291122 소프트웨어적인 입력 하드웨어입력으로 바꾸기. [1] 갤로그로 이동합니다. 11.11.28 66 0
291117 C언어 에러 질문한넘한테 조언 ㅁㅇㄴㄹ(118.45) 11.11.28 40 0
291116 공부하다 여기 들어오면.... [3] 땡칠도사갤로그로 이동합니다. 11.11.28 156 0
291115 C에서 변수에 포인터 붙일때 아스테리스크 위치 [4] ㅁㅇㄴㄹ(118.45) 11.11.28 75 0
291114 뭐 하나만 물어보자. 기계 제어의 원리에 대해 [10] ㄹㄹㄹ(121.129) 11.11.28 105 0
291113 C언어 에러좀제발고쳐주세요 [3] ㅁㄴㄹ(211.246) 11.11.28 52 0
291112 트라이 캐치문... ㅁㅇㄴㄹ(118.45) 11.11.28 54 0
291111 츄라이 캣치? [3] LazyGyu갤로그로 이동합니다. 11.11.28 64 0
291110 천한 늅늅이가 질문하나 여쭈겠사옵니다 [1] 닥회드(119.64) 11.11.28 34 0
291109 아까 자바스크립트 색깔 변경하는거 물어본 애는 보긔 [5] 돌아이바갤로그로 이동합니다. 11.11.28 81 0
291108 c언어 디버깅에러좀봐주세요 [2] 미나리(211.246) 11.11.28 64 0
291107 드릴은 참대단한거 같아 [2] 타살춤(59.3) 11.11.28 94 0
291106 혹시 이거 아시는 능력자분 있나요? [7] ㄹㅇㄹㄴㅇ(59.4) 11.11.28 122 0
291104 인문계 좆고딩은 프로그래밍 언어 깔짝대면 안됨? [6] 좆고딩(121.173) 11.11.28 139 0
291102 10시간뒤면 프로젝트 발표다 [2] ㅈㅈㅈㅈ(118.47) 11.11.28 66 0
291098 출근하기 완전 실타.. 므해?갤로그로 이동합니다. 11.11.28 38 0
291097 형들 자바뉴비인데 이것좀 도와주세요!! ㅠㅠ [10] 디크레센도갤로그로 이동합니다. 11.11.28 102 0
291096 아 드디어 에러 잡았다 시벌 [2] 시벌(115.22) 11.11.28 75 0
291095 문명 재밌음? [1] ㅋㄱ(183.96) 11.11.28 24 0
291093 제일 눈에 띄는게 뭐야.jpg [3] elwlwlwk갤로그로 이동합니다. 11.11.28 108 0
291092 집안에서 이쪽관련 일하는거 반대한 형들없나여 ㅜㅜ [2] 즐쿰갤로그로 이동합니다. 11.11.28 56 0
291090 프로그래밍 배우려는 만학도입니다.. 시중에 많은 컴퓨터 학원들 궁금해요 [9] 2만TEU(180.227) 11.11.28 208 0
291089 아.... 디스코팡팡갤로그로 이동합니다. 11.11.28 21 0
291088 이거 마셔볼사람 모집 [3] elwlwlwk갤로그로 이동합니다. 11.11.28 98 0
291087 안드로이드 질문하나만 더하께요... [7] 뇌지랄갤로그로 이동합니다. 11.11.28 81 0
291086 니들 jericho html 써븜? 돌아이바갤로그로 이동합니다. 11.11.28 59 0
291085 헤드퍼스트 디자인 패턴을 보는데 되게 신기하다.. [3] ㅇㅇㅋ(119.193) 11.11.27 104 0
291084 횽들아 이클립스에서 안드로이드 디버깅 어케하냐능 [9] 뇌지랄갤로그로 이동합니다. 11.11.27 120 0
291083 위기가 기회라는데 정말 일까 ? [2] 좋은아버지갤로그로 이동합니다. 11.11.27 72 0
291082 초보가 하나만 질문할께요 [14] 디스코팡팡갤로그로 이동합니다. 11.11.27 78 0
291080 갤청소합니다. 모두 나가주세요. 갤청소부갤로그로 이동합니다. 11.11.27 39 0
291079 행님들 c++ 포인터 주소값 오류좀 알려주세요 ㅜㅜ [3] 행님들헬프점(211.205) 11.11.27 54 0
291077 야 왜 다 학원 존나 비추하냐 [4] 보통카덕갤로그로 이동합니다. 11.11.27 193 0
291076 갤K 에 리눅스 or 윈도우 포팅할 순 없냐? [1] 한모금후PLAY갤로그로 이동합니다. 11.11.27 50 0
291075 [질문] 밑에 제 질문 아시는 분 답점 해주세요 ㅎㅎ 도롱이(124.49) 11.11.27 22 0
291074 형들 파싱에 대해서 다시한번질문 [8] ㅁㄴㅇㄹ(14.42) 11.11.27 96 0
291073 형들 행렬 곱셈 좀 알려줘ㅠ 스카치테이프(124.3) 11.11.27 47 0
291072 C++ 파일 입력 도와주세요 ㅠ!! ...(1.227) 11.11.27 34 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2