화성에 MIPS 프로그램을 작성했습니다. 주소 배열을 반복합니다. 나는이 쓰기 : $의 T4는 주소 내 배열의 기본 주소 포함되어 있으며,이 팔 때마다 루프가 실행으로 이동됩니다 addi $t4, $t4, 8
. 그런 다음 루프가 완료된 후 그 위치에 주소를 저장합니다. 내 질문 : 8을 올바르게 입력 했습니까? 또는 1을 추가해야합니까 (1 바이트 =
나는 약간의 문제가있어 주위를 둘러 볼 수 없습니다. 다음과 같은 방식으로 스택에 여러 개의 숫자가 저장되어 있습니다. |5| 0($sp)
|4| 4($sp)
|3|
|8|
한 번에 두 숫자를 비교하여 스택을 탐색하려고합니다. 이것에 의해, 0 ($ sp)과 4 ($ sp) 그리고 0 ($ sp)와 8 ($ sp), ... 그리고 4 ($ sp)와
두 인스턴스 x 및 y은 같은 클래스 RBnode입니다. x에 대한 모든 참조가 y으로 바뀌고 그 반대의 경우에도 신원 정보를 교환 할 수 있습니까? 사실 내가 레드 - 블랙 트리의 확장을 짓고 있어요 예를 들어 , x = RBnode()
y = RBnode()
x.data = 1
y.data = 2
L = [x,y]
exchange_identi
초보자 여기, 구조체에 단어 (구조체에 내 질문과 관련없는 다른 기능이 있음)가 포함 된 단어 구조체가 있는데이 구조체를 단어 구조 포인터의 배열 인 hashmap. 내 프로그램에서, 새로운 단어를 볼 때마다 새로운 단어 구조체를 만들고 malloc char 배열을 만들어 그것을 만든다. 그러나 루프를 몇 번 실행하면 이전 단어가 다른 해시 맵 위치에 있더
asm을 많이 다루고 GDB에서 레지스터와 메모리를 살펴 보는 C 책을 읽었습니다. 정확히 동일한 소스를 컴파일 및 디스 어셈블 할 때 (실제로 책 CD와 함께 제공된 소스 파일을 사용하여) 어셈블리의 지시 사항이 책의 내용과 약간 다릅니다. 이 책은 intel flavored 어셈블리를 사용하고 gdb에 "set disassembly intel"을 넣으므
나는 누군가가 이해할 수있을만큼 질문을하기를 희망한다. 메인 메모리 (RAM) 및 포트 I/O 구동 I/O에 대해 IN, OUT과 같은 명령어가 사용하는 자체 주소 공간이 있다는 것을 알고 있습니다. 리얼 모드 어셈블러 프로그램을 작성하는 경우 마더 보드의 특정 슬롯이 어떤 주소 범위에있는 주소 범위를 나타내는 데 필요한 문서가 개발자에게 달려 있습니까?
나는이 작업을 해왔고 제대로 작동하지 않는 것 같습니다. 포인터 목록의 마지막 값을 반환하고 인쇄하고 싶지만 매우 난수가 인쇄됩니다. 나는 이것이 포인터의 메모리 주소라고 가정하지만, 역 참조 할 때, 내 출력은 여전히 똑같은 일을한다. 내 Pointerlist 같이, 포인터의 목록입니다 int* end() { return (pointerList.bac
"프로그램에서 MOV REG,1000과 같은 명령어를 실행하면 메모리 주소 1000의 내용을 REG로 복사 할 수 있습니다. 주소는 인덱싱, 기본 레지스터, 세그먼트 레지스터 및 다른 방법을 사용합니다. 이러한 프로그램 생성 주소를 가상 주소라고하며 가상 주소 공간을 형성합니다. " 누군가 나를 설명해 주시겠습니까? (이러한 프로그램 생성 주소는 가상 주소