qtspim 예제

다양한 MIPS 예제 프로그램을 사용할 수 있습니다. 첫 번째 프로그램인 example1.asm으로 시작하여 컴퓨터에 다운로드합니다. 로드 명령의 컴퓨터 코드의 예로는 메모리 패널에 데이터와 텍스트라는 두 개의 탭이 있습니다. 텍스트 탭에는 프로그램 메모리 공간의 내용이 표시됩니다. 왼쪽에서 오른쪽으로, 여기에는 QtSpim QtSpim 열기 – 소용돌이 투어 프로그램 프로그램 조립 지침의 프로그램 분석 프로그램 질문 결론을 실행하는 프로그램 1. 값이 메모리에서 교환된 후 7(0x10010008)의 새 위치 바로 다음에 메모리 위치에 어떤 값이 있습니까? 2. 프로그램이 로드된 후 명령 창에 나열된 첫 번째 명령은 무엇입니까? (힌트 : 그것은 코멘트 “# ARGC”를 포함) 3. 커널 코드의 첫 번째 명령의 전체 텍스트는 무엇입니까 (힌트 : 그것은 `addu`명령입니다) 함께 작성, 그것은 0011111 0000 0000 0000 0000 0000 0000 0000 0001 건설적인 의견을 환영합니다처럼 보일 것입니다! 스팸, 또는 욕설이나 비속어는 삭제됩니다. 보도 자료 . 레지스터 17(s1)은 이제 7, 0x1001000의 내용을 포함합니다. 보도 자료 . 레지스터 18(s2)에는 이제 3, 0x10010004의 내용이 들어 있습니다. 보도 자료 .

메모리 주소 0x10010000은 이제 3을 포함합니다. 보도 자료 . 메모리 주소 0x10010004에는 이제 7이 포함됩니다. hexadecimal에서이 이진 문자열을 표현하려면, 우리는 따라서, 네 개의 그룹으로 그룹화할 필요가 : 0011 1100 0000 0000 0000 0000 0000 0001 전체 프로그램을 통해 단계, 그것이 무엇인지 파악, 당신은 QtSPIM 환경이 어떻게 작동하는지 이해해야합니다. 파일 -> 다시 초기화 및 로드 파일을 선택하여 첫 번째 프로그램을 로드합니다. (새로운 우분투 “유니티” GUI는 마우스를 사용할 때까지 화면 상단 메뉴모음이 표시되지 않는다는 것을 기억하십시오.) 이렇게 하면 레지스터 공간이 지워지고 시뮬레이터가 재설정됩니다. 그렇지 않으면 동일한 컴퓨터 상태에서 여러 프로그램을 연속으로 로드하고 실행할 수 있습니다. 따라서 컴퓨터 코드는 1000 1110 0001 0001 0000 0000 0000 또는 0x8e11000입니다. 텍스트 창에서 아래로 스크롤하여 어셈블리 코드가 프로그램 메모리 공간에 로드되었는지 확인할 수 있습니다. 이 경우 첫 번째 명령은 메모리 위치 0x00400024에 있습니다. (메모리 주소 0에서 시작되지 않는 이유는 무엇입니까? 프로그램은 함수 main()로 시작하지만 main 앞에 실행되는 코드가 있습니다.

레지스터 패널(아래 표시)에는 모든 MIPS 레지스터의 내용이 표시됩니다. 이 패널에는 부동 점 레지스터용 탭과 정수 레지스터용 탭이 두 개 있습니다. 정수 레지스터에는 범용 레지스터(R1-R31)와 프로그램 카운터(PC)와 같은 특수 목적 레지스터가 포함됩니다.