DATA ENDS CODE SEGMENT
ASSUME CS£ºCODE£¬DS£ºDATA
START£ºMOV AX£¬DATA
MOV DS£¬AX
MOV SI£¬OFFSET STRG1 MOV DI£¬OFFSET STRG2 MOV CX£¬COUNT CLD
REP MOVSB MOV AH£¬4CH INT 21 H
CODE ENDS
5£®¼Ä´æÆ÷SI×öµØÖ·Ö¸Õ룬×ÔSIËùÖ¸µÄÄÚ´æµ¥Ôª¿ªÊ¼Á¬Ðø´æ·ÅÈý¸öÎÞ·ûºÅÊý(ÒÔ×ÖΪµ¥Î»)£¬±àÒ»³ÌÐòÇóËüÃǵĺͣ¬²¢½«½á¹û´æ·ÅÔÚÕâÈý¸öÊýÖ®ºóµÄµ¥ÔªÖС£
½â DATA BUF
SEGMENT
DW XXH£¬YYH£¬ZZH
END START
SUM DW ?£¬£¿ DATA ENDS
CODE SEGMENT
ASSUME CS£ºCODE£¬DS£ºDATA
START£ºMOV AX£¬DATA
MOV DS£¬AX
MOV SI£¬OFFSET BUF MOV DI£¬OFFSET SUM MOV AX£¬[SI]
ADD AX£¬[SI+2] MOV [DI]£¬AX MOV AX£¬0 ADDC AX£¬0 MOV [DI+2]£¬AX MOV AX£¬[DI] ADDC AX£¬[SI+4] MOV [DI]£¬AX
MOV AX£¬0 ADDC AX£¬[DI+2] MOV [DI+2]£¬AX MOV AH£¬4CH INT 21H CODE ENDS
END START
6£®¶ÁÏÂÃæ³ÌÐò¶Î£¬ÎÊ£ºÔÚʲôÇé¿öϱ¾¶Î³ÌÐòµÄÖ´Ðнá¹ûÊÇAH£½0? START£ºIN AL£¬5FH
MOV AH£¬0 JZ BRCH MOV AH£¬0 JMP STOP BRCH£º MOV AH£¬0FFH STOP£º INT 20H
½â µ±±êÖ¾¼Ä´æÆ÷µÄZF=0ʱ£¬Ö´Ðнá¹ûAH£½0¡££¨JZ֮ǰµÄÁ½ÌõÖ¸Áî¶ÔÁã±ê־ûÓÐÓ°Ï죩
7£®ÏÂÃæÓï¾äÔÚ´æ´¢Æ÷ÖзֱðΪ±äÁ¿·ÖÅä¶àÉÙ×Ö½Ú? 0NE
DW 10
TW0 DW 4 DUP(?)£¬5 THREE DB 2 DUP(£¿£¬8 DUP(0)) COUNT
EQU 10
FOUR DD COUNT DUP(?) FIVE ½â
ONE DW 10
£»ÎªONE·ÖÅä2¸ö×Ö½Ú £»ÎªTWO·ÖÅä10¸ö×Ö½Ú
DB ¡®HOW ARE YOU?¡¯
TWO DW 4 DUP(?)£¬5
THREE DB 2 DUP(?£¬8 DUP(0)) £»ÎªTHREE·ÖÅä18¸ö×Ö½Ú COUNT
EQU 10
£»²»¸øCOUNT·ÖÅä´æ´¢µ¥Ôª
FOUR DD COUNT DUP(?) £»ÎªFOUR·ÖÅä40¸ö×Ö½Ú FIVE
8£®Êý¾Ý¶¨ÒåÓï¾äÈçÏÂËùʾ£º FIRST DB 90H£¬5FH£¬6EH£¬69H SECOND DB 5 DUP(?) THIRD DB 5 DUP(?) FORTH DB DUP(?)
×ÔFIRSTµ¥Ôª¿ªÊ¼´æ·ÅµÄÊÇÒ»¸öËÄ×Ö½ÚµÄÊ®Áù½øÖÆÊý(µÍλ×Ö½ÚÔÚǰ)£¬ÒªÇó£º (1)±àÒ»¶Î³ÌÐò½«Õâ¸öÊý×óÒÆÁ½Î»ºó´æ·Åµ½×ÔSECOND¿ªÊ¼µÄµ¥Ôª(×¢Òâ±£ÁôÒÆ³ö²¿·Ö)£»
(2)±àÒ»¶Î³ÌÐò½«Õâ¸öÊýÓÒÒÆÁ½Î»ºó´æ·Åµ½×ÔTHIRD¿ªÊ¼µÄµ¥Ôª(×¢Òâ±£ÁôÒÆ³ö²¿·Ö)£» (3)±àÒ»¶Î³ÌÐò½«Õâ¸öÊýÇó²¹ºó´æ·Åµ½×ÔFORTH¿ªÊ¼µÄµ¥Ôª¡£ ½â
DATA SEGMENT FIRST
DB 90H£¬5FH£¬6EH£¬69H
DB ¡®HOW ARE YOU?¡¯ £»ÎªFIVE·ÖÅä12¸ö×Ö½Ú
SECOND DB 5 DUP (?) THIRD DB 5 DUP (?) FORTH DB
DUP (?)
DATA ENDS