2014-01-23 3 views
-2

조립품 (인텔 에뮤 8086)의 전원을 켜야합니다. 어셈블리에서 두 자리 숫자의 num (누승)을 어떻게 할 수 있습니까? 배열에 결과를 저장해야합니까? larget 가능한 결과의 길이는 얼마입니까? (99^99) 감사합니다, 오리조립품의 전원 번호 8086

답변

1

99^99의 결과는 3.6972963764972677265718790562881e + 197입니다.

이것은 아마도 단일 16 비트 레지스터에 맞지 않습니다. 메모리에 저장하고 추가 및 곱셈과 같은 작업을 수행하기 위해 고유 한 특수 코드를 구현해야합니다.

메모리를 1 바이트 당 1 개의 10 진수 (또는 1 개의 기본 10 자리수)로 저장하려면 결과는 약 198 바이트가됩니다. 더 나은 성능을 위해 바이트 당 기본 "256 자리"로 메모리에 저장할 수 있습니다. 여기서 약 83 바이트의 메모리 만 차지합니다. 이렇게하면 명령 당 더 많은 작업을 수행하여 성능을 향상시킬 수 있습니다.

각 명령에 대해 더 많은 작업을 수행하려면 단어 당 하나의 "기본 65536 자릿수"가 더 좋을 것입니다.