£¨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