Êý²¢ËÍÈë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