0
i8080 프로세서 용 어셈블러에서 두 개의 16 비트 숫자를 뺄 때 문제가 있습니다.어셈블러 빼기 16 비트 숫자
예 : 0f70 - 00f0 및 제 번호 제 D에서, 레지스터 B 및 C로하고 E. 것이다
이진 :
B = 0,000 1,111 C = 0111 0000
D = 0000 0000 E = 1111 0000
그래서 CE를 빼면 "빌려"해야합니다. 좋아, 그래서 나는 B를 감소시킬 것이지만 C는 어떨까? 나는이 경우에 C가 1000 0000이 될 것이라고 알고 있지만 다른 경우는 무엇입니까?
코드 :
ORG 800H
RST 5
MOV B,D
MOV C,E //after this in B and C I have 16bit minuend
RST 5 //after this in D and E I have 16bit subtrahend
MOV A,C //Move C to Accumulator
SUB E //subtract E
JC SUBTRACTINGB //if it don't need borrow jump
DCR B //else decrement B
MVI C,? // and what should be in C???
무엇 C''에 대해? 당신은 그것을 고쳐 줄 필요가 없습니다. 아니면 빌리는 것만 더 높은 비트로갑니다. – harold
"C는 어떨까요?" 너 자신에게만 의미가있다. C는 어때? 날씨는 어떨까요? 1. 코드를 보여주십시오. 2. 입력과 출력을 보여줍니다. 3. 예상 출력을 표시하십시오. –
자, 내 코드의 일부분을 주석으로 가지고 있습니다. 질문 "C는 어떨까요?"라는 의미는 레지스터 C의 숫자로 무엇을해야합니까? sth을 빼야할까요? 나는 이진수를 빼는 방법을 알고 있지만 여기에서는 조금 다르다. –