2014-11-25 2 views

답변

2

idiv은 귀하가 말한대로 al에 몫을 생성하는 부호있는 부분입니다. 그것은 8 비트 레지스터이고 300/2=150은 부호가있는 산술을 사용할 때 8 비트에 맞지 않습니다 (최대 값은 127이므로). 다소 오도 된 일이지만 오버플로에 대해서도 divide by zero이됩니다 (실제로는 #DE divide error). 이것은 물론 명령 세트 참조로 작성됩니다.

부호없는 계산이 만족 스럽다면 div bl을 사용할 수 있습니다.이 경우 150al에 해당하며 오류가 발생하지 않습니다.

관련 문제