Assembler


         

9B DF 06 0058


 
. 7.23 () ()
0066 9B DF 06 0058 R FILD THOUSAND ; 10**3 8087
006B 9B D9 E8 FLD1 ; 8087
006E POWER_LOOP:
006E 9B DC 8E 0000 FMUL ST(1) ; ST(0) ST(1)
0073 9B D9 16 0000 R FST POWER_OF_TEN ;
0078 80 06 0057 R 03 ADD POWER, 3 ;
007D A0 0057 R MOV AL, POWER ;
0080 8D 1E 0004 R LEA BX, OUTPUT_POWER
0084 E8 00AC R CALL TRANSLATE
0087 B9 0004 MOV CX, 4
008A 8D 1E 000B R LEA BX, OUTPUT_STRING
008E 8D 36 0003 R LEA SI, POWER_OF_TEN+3
0092 FD STD ;
0093 VALUE_OUTPUT:
 
0093 AC LODSB ;
0094 E8 00AC R CALL TRANSLATE ;
0097 E2 FA LOOP VALUE_OUTPUT ;
 
0099 8D 16 0004 R LEA DX, OUTPUT_POWER
009D B4 09 MOV AH, 9H
009F CD 21 INT 21H
00A1 80 3E 0057 R 26 CMP POWER, 38
00A6 72 C6 JB POWER_LOOP
00A8 9B DE D9 FCOMPP ;
00AB CB RET
00AC CALCULATE_POWER ENDP