2015-01-31 2 views
0

임이 코드를 작성하는 데 문제가 있습니다. 누군가 내게 해결책을 줄 수 있습니까? (나는 BCD 숫자 등을 이해합니다, 나는 단지 작동하는 코드를 작성할 수 없습니다)?포장 된 BCD 4 자리 추가 (8086 어셈블러)

두 개의 팩 된 BCD 번호 (각각 4 자리 숫자, OP1 및 OP2에 있음)를 추가하고 주소 RES에 결과를 저장해야합니다.

미리 감사드립니다.

+1

가 C에서 구현하고 DIS 어셈블리를 볼. –

+1

코드를 보여 주면 잘못한 것을 알려 드리겠습니다. – usr2564301

+0

@barakmanos는 대단히 잘 작동하지만 이번에는 작동하지 않습니다. – harold

답변

2

나는 해결책을 제공하지 않고 대신 몇 가지 지침을 제공합니다. 당신은 5 간단한 단계로 작업을 분할해야합니다

  1. 수행
  2. 메모리
  3. 의 정수로를 디코딩 BCD 코드 번호를 읽어 또한 추가가 BCD 표현으로 다시 결과를
  4. 인코딩
  5. 결과를 RES에 저장하십시오

각 단계는 상대적으로 구현하기 쉽고 이것이 해결하는데 도움이 될 것이라고 생각합니다. 너 혼자.

2

daa (추가 후 십진수 조정)을 사용하면 이진 정수를 왕복하지 않고 직접 추가 할 수 있습니다. (완전히 안된) 이런

뭔가

mov al, [OP1] 
add al, [OP2] 
daa 
mov [RES], al 
mov al, [OP1 + 1] 
adc al, [OP2 + 1] 
daa 
mov [RES + 1], al