2012-12-20 5 views
-2

조립 프로그램은 어떻게 두 숫자 중 가장 작은 것을 찾을 수 있습니까? 메모리 어드레스 위치 0x2001 제 번호 : 첫 번째 숫자는 메모리 어드레스 위치한다고 가정조립 프로그램은 두 개의 숫자 중에서 가장 작은 것을 찾습니다.

여기

배터리

에서 0x2002

저장소 작은 번호 i가 시도한이다

LDA 0x2001 
MOV B, A 
LDA 0x2002 
CMP B 
JNC smaller 
exit 
smaller : 
MOV A, B 
exit : HLT 

내 솔루션이 맞습니까?

+0

그리고 어떤 일이 일어 났습니까? –

+0

정확하게 알고 싶습니다. 내 대답이 정확하다면, 테스트 할 수있는 방법이 없습니다! –

+0

메모리의 값을 보면서 걸을 수 있습니까? – Daniel

답변

1
XRA    ; clear the accumulator 
MVI B, 30H  ; load a number to B Register 
MVI C, 40H  ; load a number to C Register 
MOV A, B  ; Move the content of B to A 
CMP C   ; Compare value of C against A 
JNC SMALL  ; Jump if smaller 
**JMP END**   ; Halt program if not small 
SMALL: MOV A, C ; save smaller num in accumulator 
**END: HLT** 
관련 문제