숫자 n을 입력 한 다음 n 개의 입력을 요청하고이를 모두 다른 주소에 저장하여 실행 지침으로 읽을 수 있도록 코드를 작성하려고합니다.LMC (little-man-computer)의 다른 주소에 알 수없는 입력 개수를 저장하려면 어떻게해야합니까?
그러나 n 개의 다른 입력란에 n 개의 입력을 저장하는 방법을 모르므로 저는 막혔습니다. 지금까지 입력 n을 요청한 다음 n 입력을 요청할 수 있지만 모두 동일한 주소에 저장됩니다. 당신이 다른 메모리 주소로 할 때마다 가리 키도록 STO
명령을 업데이트하는 자체 수정 코드를 사용할 필요가 LMC와
IN
STO N
loopTop
IN
STO NBS
LDA N
SUB ONE
STO N
BRZ done
BR loopTop
done
OUT
HLT
ONE
DAT 001
N
DAT 000
NBS
DAT 000
N의 상한선이 적당히 작은 경우 프로그램에서 해당 메모리 양을 예약 할 수 있습니다. 그렇지 않으면 우리는 일반적으로 운영 체제를 호출하여 필요할 때 더 많은 메모리를 요청해야합니다. 환경에서 어떻게 작동하는지 모릅니다. –
LMC에는 간접 참조를위한 포인터 (즉, 레지스터에 저장된 주소 또는 메모리에 저장된 주소)를 사용할 수있는 방법이 있습니까? 그렇다면 그렇게하십시오. 루프에서 포인터를 증가시킵니다. –
와우, 루프의 모든로드/저장 명령에서 주소를 수정해야한다는 것은 불편합니다. 하지만 그래도 충분하게 프로그래밍 할 수 있습니다. –