Ä£ÄâÊÔ¾íÈý ÏÂÔØ±¾ÎÄ

MOV AX,EXTRA MOV ES,AX

(LEA SI£¬DOURCE_STRING ) LEA DI,DEST_STRING CLD MOV CX,20

( REP MOVSB ) MOV AH,4CH INT 21H CODE ENDS END START Áù¡¢±à³ÌÌ⣨¹²22·Ö£©

1£®±àд³ÌÐò¶Î£¬½«±êÖ¾¼Ä´æÆ÷Öеĸß8λºÍµÍ8뻥»»¡££¨5·Ö£©

PUSHF POP AX XCHG AH, AL PUSH AX POPF

2£®Êý¾ÝÇø¶¨ÒåÈçÏ£º DATA SEGMENT

ARRAY DB 23H£¬24H£¬25H£¬26H DISP DB 30 DUP£¨¡® ¡¯£©£¬¡®$¡¯ DATA SEGMENT

±àд³ÌÐò¶Î£¬½«´ËÊý¾ÝÇø¸´ÖÆ10´Î£¬²¢½«½á¹ûÏÔʾ³öÀ´¡££¨5·Ö£©

CLD

LEA ST£¬ARRAY LEA DI£¬DISP MOV MOV CX£¬10 REP MOVSB MOV AH£¬09H INT 21H

3£®Êý¾ÝÇøÖÐÊ×µØÖ·ÎªARRAYµÄN×ÖÊý×飬¶¨ÒåÈçÏ£º DATA SEGMENT

ARRAY DW 23£¬-20£¬130£¬-5£¬¡­,326,-2110 ;±íʾN¸ö´ø·ûºÅÊý CUNT EQU $ -ARRAY

RESUT DB? £»´æ·ÅÕýÊýµÄ¸öÊý DB? £»´æ·Å¡®0¡¯µÄ¸öÊý DB? £»´æ·Å¡®¸ºÊý¡¯µÄ¸öÊý DTAT ENDS

ÊÔ±àдһ¸ö³ÌÐò£¬Í³¼ÆARRAYÊý¾ÝÇøÖÐÕýÊý£¬¸ºÊý¼°¡°0¡±µÄ¸öÊý£¬½á¹ûËÍÈëRESUTÆðʼµÄÈý¸ö×Ö½Úµ¥ÔªÖУ¨12·Ö£©¡£

DATA DEGMENT

ARRAY DW 23£¬-20£¬13£¬-5 £¬?£¬326£¬-2110 COUT EQU $ -ARRAY

RESUT DB£¿ DB£¿ DB£¿ DATA ENDS CODE SEGMENT

ASSUME CS£ºCODE£¬DS£ºDATA START£º MOV AX£¬DATA MOV DS£¬AX MOV AX£¬0 MOV BX£¬0 LEA SI£¬ARRAY MOV CX£¬CUNT SHR CX£¬1

LOP£º CMP WORD PTR[SI]£¬0 JZ ZERO JNS PLUS JINC BL JMP NEXT ZERO£º INC AH JMP NEXT PLUS£º INC AL

NEXT£º ADD SI£¬TYPE ARRAY LOOP LOP MOV RESUT£¬AL MOV RESUT+1£¬AH MOV RESUT+2£¬BL MOV AH£¬ 4CH INT 21H CODE ENDS END START