΢»úÔ­ÀíÓë½Ó¿ÚµÚ¶þ°æ£¨³ÂºìÎÀ°æ£©²Î¿¼´ð°¸¼°¸´Ï°¸ÙÒª ÏÂÔØ±¾ÎÄ

£¨2£© CMP BX, AX JG EXCEED £¨3£© CMP BX£¬AX JGE EXCEED £¨4£© CMP CX£¬0 JZ ZERO

£¨5£© CMP BX£¬AX JZ EQ £¨6£© CMP BX£¬AX JLE EQSMA £¨7£© CMP CX£¬5678H JZ EQ £¨8£© CMP DX£¬CX JB EQSM £¨9£© ADD AX£¬0 JNS ABC

£¨10£© ADD AX£¬0 JS ABC1

12£®±àд³ÌÐò¶Î£¬ÊµÏÖÊ®Áù½øÖÆÊý12345678HÓë76543210HÏà¼õÔËË㣬ÔËËã½á¹û´æÈëDX¡¢AXÖУ¬ÆäÖÐDX´æ·Å¸ßλ¡£

½â£º²Î¿¼³ÌÐò¶ÎÈçÏ£º

MOV AX£¬5678H SUB AX£¬3210H MOV DX£¬1234H SBB DX£¬7654H HLT 13£®±àд³ÌÐò¶Î£¬ÊµÏÖÊ®½øÖÆÊý12345678Óë76543210Ïà¼ÓÔËË㣬ÔËËã½á¹ûÓÃBCDÂë±íʾ£¬²¢´æÈëDX¡¢AXÖУ¬ÆäÖÐDX´æ·Å¸ßλ¡£

½â£ºMOV AL£¬78H

ADD AL£¬10H DAA

MOV BL£¬AL MOV AL£¬56H ADC AL£¬32H DAA

MOV AH£¬AL MOV AL£¬34H ADC AL£¬54H DAA

MOV DL£¬AL MOV AL£¬12H ADC AL£¬76H DAA

MOV DH£¬AL

MOV AL£¬BL HLT

14£®±àд³ÌÐò¶Î£¬½«¸½¼Ó¶ÎÖÐ1000Hµ¥Ôª¿ªÊ¼µÄ100×Ö½Úµ¥ÔªÇåÁã¡£ ½â£º²Î¿¼³ÌÐò¶ÎÈçÏ£º

MOV CX£¬0064H MOV DI£¬1000H CLD

MOV AL£¬00H REP STOSB HLT 15£®±àд³ÌÐò¶Î£¬½«Êý¾Ý¶ÎÖÐ1000Hµ¥Ôª¿ªÊ¼µÄ100×Ö½Úµ¥Ôª¾ù´æ·Å23H¡£ ½â£º²Î¿¼³ÌÐò¶ÎÈçÏ£º

MOV CX£¬0064H MOV AX£¬DS MOV ES£¬AX MOV DI£¬1000H CLD

MOV AL£¬23H REP STOSB HLT

µÚËÄÕ »ã±àÓïÑÔÔ´³ÌÐòÉè¼Æ

1£®»­³öÊý¾Ý¶Î»ã±àºóÏàÓ¦´æ´¢µ¥ÔªÖеÄÄÚÈݲ¢±ê³ö´æ´¢µ¥ÔªµÄÂß¼­µØÖ·¡£ DATA SEGMENT ORG 0100H

ABC0 EQU 78H ABC DB 09H,-2,45H, 2 DUP£¨01H,£¿£©,¡®AB¡¯ ABC1 DW -2, 34H+ABC0,$ ABC2 DD 12H ABC3 DW ABC DATA ENDS ½â:

DS£º0100H DS£º0101H DS£º0102H DS£º0103H DS£º0104H DS£º0105H DS£º0106H DS£º0107H DS£º0108H DS£º0109H DS£º010AH DS£º010BH DS£º010CH DS£º010DH DS£º010EH DS£º010FH DS£º0110H DS£º0111H DS£º0112H DS£º0113H DS£º0114H

ABC¡ú ABC1¡ú ABC2¡ú ABC3¡ú

09H FEH 45H 01H - 01H - 41H 42H FEH FFH ACH 00H 0DH 01H 12H 00H 00H 00H 00H 01H 2£®Éè³ÌÐòÖеÄÊý¾Ý¶¨ÒåÈçÏÂ: PARTNO DW ? PNAME DB 16 DUP(?) COUNT DD ? PLENTH EQU $-PARTNO

ÎÊPLENTHµÄֵΪ¶àÉÙ£¿ËüµÄº¬ÒåÊÇʲô£¿ ½â:PLENTHµÄֵΪ22£¨16H£©¡£±íʾµ±Ç°Î»ÖÃÓëPARTNOÖ®¼äÓÐ22¸ö×ֽڿռ䡣 3£®¼ÙÉè³ÌÐòÖеÄÊý¾Ý¶¨ÒåÈçÏÂ: LNAME DB 30 DUP£¨?£©

ADDRESS DB 30 DUP£¨?£© CITY DB 15 DUP£¨?£© CODE_LIST DB 1,7,8,3,2

£¨1£©ÓÃÒ»ÌõMOVÖ¸ÁLNAMEµÄÆ«ÒÆµØÖ··ÅÈëAX£» £¨2£©ÓÃÒ»ÌõÖ¸ÁCODE_LISTµÄÍ·Á½¸ö×Ö½ÚµÄÄÚÈÝ·ÅÈëSI:

£¨3£©Ð´Ò»Ìõα²Ù×÷ʹCODE_LENGTHµÄÖµµÈÓÚCODE_LISTÓòµÄʵ¼Ê³¤¶È¡£ ½â:£¨1£©MOV AX£¬OFFSET LNAME £¨2£©MOV SI£¬WORD CODE_LIST

£¨3£©CODE_LENGTH EQU $-CODE_LIST

4£®Ö´ÐÐÏÂÁгÌÐò¶Îºó£¬AX¡¢BXµÄÄÚÈݸ÷ÊÇʲô£¿

MOV AX,0001H MOV BX,8000H NEG AX MOV CX,4 AA:SHL AX,1

RCL BX,1 LOOP AA HLT

½â:AX=0FFF0H£¬BX=000FH 5£®ÔĶÁÒÔϳÌÐò£¬»Ø´ðÎÊÌâ DATA SEGMENT

ABC DB 90H,12H,43H,56H,04H,01H

COUNT EQU $-ABC RESULT DW ? DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:PUSH DS

MOV AX,DATA

MOV DS,AX XOR AX,AX

MOV CX,COUNT LEA SI,ABC LEA DI,RESULT AA:MOV BL,[SI]

INC SI

CMP BL,80H JC NEXT1 NEG BL

NEXT1:ADD AL,BL

ADC AH,00H LOOP AA MOV [DI],AX MOV AH,4CH