»ã±àÓïÑÔ³ÌÐòÉè¼ÆÄ£ÄâÌâ ÏÂÔØ±¾ÎÄ

Êý²¢ËÍÈëMAXµ¥ÔªÖС£

BUF DB 5£¬6£¬7£¬58H£¬62£¬45H£¬127£¬??

COUNT EQU $-BUF £»COUNTµÈÓÚ±äÁ¿BUFµÄ×Ö½ÚÊý MAX DB£¿ ©«

MOV BX£¬OFFSET BUF MOV CX£¬COUNT-1 MOV AL£¬[BX] LOP1£ºINC BX

_____________________ JAE NEXT

MOV AL£¬[BX] NEXT£ºDEC CX

_____________________ MOV MAX£¬AL

7¡¢ÔÚ±íTABLE´¦´æ·Å×ÅN¸öÎÞ·ûºÅ×Ö½ÚÊý£¬Çó±íÖÐǰ10¸ö×Ö½ÚÊýµÄ×ܺͲ¢±£´æÔÚAX¼Ä´æÆ÷ÖС£Èç¹û×ܺÍÖµ³¬¹ýAX¼Ä´æÆ÷µÄÈÝÁ¿£¬ÔòÖÃAX¼Ä´æÆ÷ÄÚÈݲ»±ä¡£ÇëÔÚ³ÌÐòÖеĿոñ´¦ÌîÈëÊʵ±Ö¸ÁîʹÆäÍêÕû¡£

LEA BX£¬TABLE

MOV CX£¬10

MOV SUM£¬AX

NEXT£º£¨1£©

ADC AH£¬0 JNC DON JC ENDO

£¨2£©

DON£ºINC BX

£¨3£©

ENDO£ºHLT

8¡¢BEGΪÆðʼµØÖ·µÄ´æ´¢ÇøÓòÖдæ·ÅÓÐ100¸ö×Ö½ÚÊý¾Ý£¬ÏÖ½«ÆäÊס¢Î²µßµ¹¹ýÀ´£¬ÖØÐÂÅÅ·ÅÕâ100¸ö×Ö½ÚÊý¾Ý¡£ÇëÔÚ³ÌÐòÖеĿոñ´¦ÌîÈëÊʵ±µÄÖ¸ÁîʹÆäÍêÕû¡£ MOV CX£¬32H LEA SI£¬BEG MOV DI£¬SI £¨1£©

DON£ºMOV AL£¬[SI] £¨2£©

MOV [SI]£¬AL £¨3£© DEC DI LOOP DON

HLT

9¡¢ÏÂÁгÌÐò¶ÎÇóÊý×éFLDµÄƽ¾ùÖµ£¬½á¹ûÔÚALÖС£Ç뽫³ÌÐòÌîдÍêÕû£¨²»¿¼ÂÇÒç³ö£©

33

FLD DW 10£¬ -20£¬ 30£¬ -60£¬ -71£¬ 80£¬ 79£¬ 56 _______ MOV CX£¬ 8 XOR AX£¬ AX R1£º_______ ADD SI£¬ 2 LOOP R1 MOV CL£¬ 8 IDIV CL HLT

10¡¢ÒÑÖªÊý¾Ý¶ÎDATµ¥Ôª´æ·ÅijһÊýN£¨-6¨QN¨Q6£©ÏÂÃæµÄ³ÌÐò¶ÎÓòé±í·¨ÇóÊýNµÄƽ·½Öµ£¬½á¹ûËÍSQRµ¥Ôª£¬Ç뽫³ÌÐòÌîдÍêÕû¡£ TABLE DB 0£¬1£¬4£¬9£¬16£¬25 DAT DB N SQR DB ?

LEA BX£¬ TABLE MOV AL£¬ DAT _______ JGE NEXT _______

NEXT£ºXLAT HLT

11¡¢ÉèAX£¬BXÖеÄÊýÒ»¸öΪÕýÊý£¬Ò»¸öΪ¸ºÊý£¬ÏÂÃæ³ÌÐò¶ÎÍê³É½«ÕýÊýË͵½PLWµ¥ÔªÖдæ·Å£¬Ç뽫³ÌÐòÖÐËùȱָÁîÓï¾ä²¹ÉÏ¡£ TEST AX£¬8000H MOV PLW£¬BX JMP DONE

K1£º DONE£º

12¡¢ÏÖÓÐÏÂÁÐÊý¾Ý¶Î£º DATA SEGMENT

STR1 DB ?ABCDEFGHIJKL? COUNT EQU $-STR1 BUF DB COUNT DUP£¨0£© DATA ENDS

ÏÂÃæ³ÌÐò¶ÎÊÇʵÏÖ°ÑSTR1ÖÐËùÓÐ×Ö·ûÄæÏò´«Ë͵½BUF»º³åÇø£¨¼´STR1ÖеÚÒ»¸ö×Ö·ûË͵½BUFµÄ×îºóÒ»¸öµ¥Ôª£¬STR1ÖÐ×îºóÒ»×Ö·ûË͵½BUFµÄµÚÒ»¸öµ¥Ôª£©¡£Ê԰ѳÌÐòÖÐËù¿ÕȱµÄÖ¸ÁîÌîÉÏ¡£

MOV SI£¬OFFSET BUF-1 MOV DI£¬OFFSET BUF MOV CX£¬COUNT LOOP£ºMOVSB

34

LOOP LOP

13¡¢DA1Êý¾ÝÇøÖÐÓÐ50¸ö×Ö½ÚÊý¾Ý£¬ÏÂÃæ³ÌÐò¶Î½«Ã¿¸öÊý¾ÝµÄµÍËÄλ±ä·´£¬¸ßËÄλ²»±ä£¬²¢ÒÀ´Î´æÈëDA2Êý¾ÝÇøÖС£Ç뽫³ÌÐò²¹³äÍêÕû¡£ MOV CX£¬50 LEA SI£¬DA1 LEA DI£¬DA2

K1£ºMOV AL£¬[SI] ___________ MOV [DI]£¬AL INC SI INC DI DEC CX ___________

14¡¢ÏÂÃæ³ÌÐò¶ÎÍê³É½«´æ´¢µ¥ÔªA1ÖÐÒ»¸öѹËõÐÍBCDÂë²ð³É¶þ¸ö·ÇѹËõÐÍBCDÂ룬¸ßλBCDÂë´æ·ÅÔÚA3µ¥Ôª£¬µÍλBCDÂë´æ·ÅÔÚA2µ¥Ôª£¬ÔÙ·Ö±ðת»»Îª¶ÔÓ¦µÄASC¢òÂë¡£Ç뽫³ÌÐò²¹³äÍêÕû¡£ MOV AL£¬A1 MOV CL£¬4 ___________ OR AL£¬30H MOV A3£¬AL MOV AL£¬A1 ___________ OR AL£¬30H MOV A2£¬AL

15¡¢ÏÂÃæ³ÌÐò¶ÎÊÇÅжϼĴæÆ÷AHºÍALÖеÚ3λÊÇÏàͬ£¬ÈçÏàͬ£¬AHÖÃ0£¬·ñÔòAHÖÃÈ«1¡£Ê԰ѿհ״¦ÌîÉÏÊʵ±Ö¸Áî¡£

_____________________ AND AH£¬08H

_____________________ MOV AH£¬OFFH JMP NEXT

ZERO£ºMOV AH£¬0 NEXT£º??

16¡¢³ÌÐò¶ÎµÄ¹¦ÄÜÊÇÒÀ´Î²úÉú0¡«9µÄ10¸öASCIIÂ룬²¢´æÈëBUF1Êý¾ÝÇø£¬ÇëÔÚ¿Õ°×´¦ÌîÉÏÖ¸Áÿһ¿Õ°×´¦½öÌîÒ»ÌõÖ¸Á¡£

BUF1 DB 10 DUP£¨?£© ??

LEA BX£¬ BUF1 MOV CX£¬10 XOR AL£¬ AL

LOP£º MOV AH£¬AL ADD AL£¬30H

35

____________ INC BX ____________ INC AL LOOP LOP

17¡¢ÏÂÃæ³ÌÐòÖ´Ðкó£¬ALµÄÄÚÈÝΪARRAYÊý×éÖеÄ×îСÊý£¬ÇëÔÚ¿Õ°×´¦¸÷ÌîÉÏÒ»ÌõÖ¸Áî¡£ ARRAY DB 3£¬5£¬- 3£¬- 2£¬4£¬5£¬- 8£¬6

?? MOV CX£¬7 MOV DI£¬0

MOV AL£¬ARRAY A1£º INC DI

JLE A2

MOV AL£¬ARRAY [DI]

18¡¢ÏÂÃæ³ÌÐò¶ÎµÄ¹¦ÄÜÊǰÑDA1Êý¾ÝÇøµÄÊý0-9ת»»Îª¶ÔÓ¦µÄASCIIÂë,²¢´æÈëASCIÊý¾ÝÇø¡£ÊÔÍêÉÆ±¾³ÌÐò¶Î¡£

DA1 DB 00H£¬01H£¬02H£¬03H£¬04H£¬05H£¬06H£¬07H£¬08H£¬09H ASCI DB 10 DUP£¨?£© CUNT = ASCI-DA1

??

LEA SI£¬DA1 LEA DI£¬ASCI

LOP1£ºMOV AL£¬[SI]

MOV [DI]£¬AL INC SI INC DI

LOOP LOP1 Áù¡¢±àÖÆ³ÌÐòÌâ

1¡¢ÉèÔÚÊý¾Ý¶ÎÖÐÓÐX£¬YÁ½±äÁ¿£¨×Ö½Úµ¥Ôª£©£¬ÊÔ±àд³ÌÐò¶Î¼ÆË㣨ֻдÓйسÌÐò¹¦ÄܵÄÖ¸Á£º

Y= X µ±X >=0 Y= 0 µ±X<0

2¡¢A1µ¥Ôª¿ªÊ¼¶¨ÒåÁËÒ»³¤¶ÈΪNµÄ×Ö·û´®£¬ÕÒ³öÆäÖÐËùÓеÄСд×Öĸ²¢´æ·Åµ½ÒÔA2µ¥Ôª¿ªÊ¼µÄ´æ´¢ÇøÖС£Í³¼Æ³öСд×ÖĸµÄ¸öÊý£¬´æ·Åµ½SLµ¥ÔªÖС£Çë±àÒ»ÍêÕûµÄÔ´³ÌÐò¡£ 3¡¢ÒÑÖªDAT1×Ö½Úµ¥ÔªÓÐÒ»¸öÊý¾Ý£¬ÊÔ±àÖÆÒ»³ÌÐò¶Î½«¸ÃÊý¾ÝµÄµÍ4λ±äΪ1010B£¬×î¸ß루µÚ7룩ÖÃ1£¬ÆäÓà3λ²»±ä£¬½á¹ûËÍDAT2×Ö½Úµ¥Ôª¡£

4¡¢ÔÚN1ºÍN2Á½Êý¾ÝÇøÖУ¬·Ö±ðÓÐ10H¸ö´ø·ûºÅÊý¡£ÊÔ±àÖÆÒ»Ô´³ÌÐò£¬ÕÒ³ö¶ÔÓ¦ÏîÖнÏСµÄÊý¾Ý£¬²¢½«ÕâЩ½ÏСµÄÊý¾Ý´æÈëN3Êý¾ÝÇøÖУ¨ÒªÇ󣺶ÔÓ¦Ïî±È½Ïʱ±ØÐëÓÃCMPSÖ¸Á¡£ DATA SEGMENT

36