내가 HL에서 가장 큰 숫자의 주소를 저장하고 싶지만 난 정말 할 방법을 모른다는 이 내가 지금까지 최대 수 - 8085 마이크로 프로세서
0000 LXI H,3000H ;Load H-L pair with address 3000H
0001
0002
0003 MOV E,M ;Move counter from memory to reg. E.
0004 INX H ;Increment H-L pair
0005 MOV A,M ;Move the 1st number from memory to reg. A.
0006 DCR E ;Decrement counter.
0007 INX H ;Increment H-L pair
0008 MOV D,M ;Move the next number from memory to reg. D.
0009 CMP D ;Compare D with A.
000A JNC 000EH ;Jump to address 000EH if there is no carry
000B
000C
000D MOV A,D ;Move largest from reg. D to reg. A.
000E DCR E ;Decrement counter.
000F JNZ 0007H ;Jump to address 0007H if counter is not zero.
0010
0011
0012 INX H ;Increment H-L pair.
0013 MOV C,A ;Move the result from reg. A to C
0014 HLT
**MEMORY**
3000H: 05 (counter)
3001H: 2C
3002H: 1E
3003H: 58
3004H: 46
3005H: 53
를 한 일이다
최대 숫자를 찾는 부분에서 코드가 올바르게 작동하지만 마지막에 HL에 최대 숫자의 주소를 저장하는 것입니다.
코드를 주석 처리하는 것이 좋지만이 코드를 실행하면 정확히 작동하지 않는 것은 무엇입니까? ([mcve] 참조). 또한 서식을 수정할 수 있습니까? (더블 스페이스를 제거한 후 모든 코드를 선택하고'{}'아이콘을 클릭하여 코드 블록으로 만드십시오). –
코드는 작동하지만 최대 값으로 주소를 저장하고 싶습니다. 이 경우, 프로그램을 실행 한 후, HL이 가장 높은 값을 가지기 때문에 3003H를 저장하기를 원합니다. – user1678
좋은 편집. 가독성이 크게 향상되었으며 마지막 단락이 실제 질문으로 만듭니다. –