°²»Õ¹¤³Ì´óѧ΢»úÔÀí×ÛºÏÁ·Ï°Ìâ´ð°¸
DEC CL £» CLÄÚÈݼõ1 JNZ LP £» Èô¼ÆÊýÆ÷CLµÄÄÚÈݲ»Îª0ÔòתÏòLP ¼ÌÐøÑ»· ³ÌÐòµÄ¹¦ÄÜ£º½«BUFµ¥Ôª¿ªÊ¼µÄ100¸ö×ֽڵĴ洢µ¥ÔªÈ«²¿Çå0
27. ·ÖÎöÌî¿Õ
MOV BL,09H £»Ö´Ðкó BL=___09H______ MOV AL,05H £»Ö´Ðкó AL=___05H______ ADD AL,BL £»Ö´Ðкó AL=___0EH______ DAA £»Ö´Ðкó AL=___14H______
BL=___09H______
28. ·ÖÎöÌî¿Õ
MOV AX,00H £»Ö´Ðкó AX= 00H
PUSH AX POP BX
£»Ö´Ðкó AX= 00H
£»Ö´Ðкó BX= 00H
MOV AX£¬3F5FH £»Ö´Ðкó AL= 5FH
MOV CX£¬4 ROR AL£¬CL AND AL£¬0FH
£»Ö´Ðкó AL= 0F5H
£»Ö´Ðкó AL= 05H
29. ·ÖÎöÌî¿Õ
¼ÙÉ裨BL£©=0E3H£¬±äÁ¿VALUEÖдæ·ÅµÄÄÚÈÝ79H£¬È·¶¨ÏÂÁи÷ÌõÖ¸Áîµ¥¶ÀÖ´ÐкóµÄ½á¹û¡£ £¨1£©BL=9AH £¨2£©BL =FBH £¨3£©BL =1CH £¨4£©BL =00H £¨5£©BL =C6H 30. ÔĶÁ³ÌÐò»Ø´ðÎÊÌâ
£¨1£©¸Ã³ÌÐòµÄ¹¦ÄÜÊÇ ¼ÆËãBLOCK Êý¾ÝÔªËØÖÐÆæÊýµÄ¸öÊý£¬²¢´æÈëRESULTÖÐ ¡£ £¨2£©³ÌÐòÖ´Ðкó£¬RESULTµ¥ÔªµÄÄÚÈÝÊÇ 5£¨ÆæÊýµÄ¸öÊý£© ¡£ £¨3£©µÚ3Ðлã±àºóCOUNT= 10£¨BLOCKÊý×éÔªËØµÄ¸öÊý ¡£ £¨4£©* ´¦µÄÍêÕûÖ¸ÁîÓ¦ÊÇ MOV AX,DATA ¡£
£¨5£©** ´¦µÄÍêÕûÖ¸ÁîÓ¦ÊÇ MOV SI,OFFSET BLOCK £¬¸ÃÖ¸ÁîÒ²¿ÉÒÔÓà LEA SI,BOLCK Ö¸
¡¶Î¢»úÔÀí¼°Ó¦Óá·µÚ 37 Ò³ ¹² 48 Ò³
°²»Õ¹¤³Ì´óѧ΢»úÔÀí×ÛºÏÁ·Ï°Ìâ´ð°¸
Áî´úÌæ ËÄ¡¢³ÌÐòÉè¼ÆÌâ
8. ÄÚ´æÖÐÓÐX¡¢YÁ½¸öÊý£ºX=32,Y=-78 ÀûÓûã±àÓïÑÔ±àдÍêÕûµÄ³ÌÐò£¬¼ÆËãÕâÁ½¸öÊýÖ®ºÍ£¬²¢
½«½á¹û´æÈëÄÚ´æS£¬¼´£ºS=X+Y ²Î¿¼³ÌÐò£º
DATA SEGMENT X DB 32 Y DB -78 S DB £¿ DATA ENDS
CODE SEGMENT ASSUME CS£ºCODE£¬DS£ºDATA START£ºMOV AX£¬DATA MOV DS£¬AX
MOV AL£¬X ADD AL£¬Y
MOV S£¬AL
MOV AH£¬4CH INT 21H CODE ENDS
END START
9. ±à³Ì¼ì²â´ÓÍâÉè¶Ë¿Ú71HÊäÈëµÄ×Ö½ÚÊý¾Ý£¬Èô¸ÃÊý¾Ý¡Ü20£¬ÔòÏò73H¶Ë¿ÚËÍ0H£»Èô¸ÃÊý¾Ý>20£¬
ÔòÏò73H¶Ë¿ÚËÍ0FFH¡£Çëд³öÍêÕûµÄ»ã±àÔ´³ÌÐò¡£ ²Î¿¼³ÌÐòÈçÏÂËùʾ£º
CODE SEGMENT ASSUME CS£ºCODE START£ºIN AL£¬71H CMP AL£¬20 JNG K1
¡¶Î¢»úÔÀí¼°Ó¦Óá·µÚ 38 Ò³ ¹² 48 Ò³
°²»Õ¹¤³Ì´óѧ΢»úÔÀí×ÛºÏÁ·Ï°Ìâ´ð°¸
MOV AL£¬0FFH JMP K2 K1£ºMOV AL£¬00H
K2£ºOUT 73H£¬AL MOV AH£¬4CH INT 21H CODE ENDS END START
10. ±à³Ì¼ì²â80H¶Ë¿ÚÊäÈëµÄ×Ö½ÚÊý¾Ý£¬ÈôΪÕý£¬½«BLÇå0£»ÈôΪ¸º£¬½«BLÖÃΪFFH¡£Çëд³öÍê
ÕûµÄ»ã±àÔ´³ÌÐò¡£ ²Î¿¼³ÌÐòÈçÏÂËùʾ£º CODE SEGMENT
ASSUME CS£ºCODE START£ºIN AL£¬80H TEST AL£¬80H JZ APOS MOV BL£¬0FFH JMP EXIT APOS£ºMOV BL£¬00H EXIT£ºMOV AH£¬4CH INT 21H CODE ENDS END START
11. ÄÚ´æÖÐÓÐX¡¢YÁ½¸öÊý×飺X=32¡¢-43¡¢76£¬Y=-78¡¢127¡¢-128 ÀûÓûã±àÓïÑÔ±àдÍêÕûµÄ³ÌÐò£¬
¼ÆËãÕâÁ½¸öÊý×éÖ®ºÍ£¬¼´S(i)=X(i)+Y(i) ²Î¿¼³ÌÐò£º
DATA SEGMENT X DB 32£¬-43£¬76 Y DB -78£¬127£¬-128 S DB 3 DUP£¨0£©
¡¶Î¢»úÔÀí¼°Ó¦Óá·µÚ 39 Ò³ ¹² 48 Ò³
°²»Õ¹¤³Ì´óѧ΢»úÔÀí×ÛºÏÁ·Ï°Ìâ´ð°¸
DATA ENDS CODE SEGMENT
ASSUME CS£ºCODE£¬DS£ºDATA START£ºMOV AX£¬DATA MOV DS£¬AX MOV BX,00H MOV CX£¬3
AGAIN£ºMOV AL£¬X[BX] ADD AL£¬Y[BX] MOV S[BX]£¬AL
INC BX LOOP AGAIN MOV AH£¬4CH INT 21H CODE ENDS END START
12. ÔÚBLOCK¿ªÊ¼ÓÐÒ»¸ö×Ö½ÚÐÍÊý×飬¹²ÓÐ15¸öÔªËØ£¬ÀûÓûã±àÓïÑÔ±àдÍêÕûµÄ³ÌÐò£¬¼ÆËãÕâ¸ö
Êý×éÖÐÆæÊýµÄ¸öÊý£¬²¢½«½á¹û´æÈëÄÚ´æSUMµ¥Ôª¡£ DATA SEGMENT BLOCK DB 15 DUP (?) SUM DB 00 DATA ENDS
CODE SEGMENT
ASSUME CS£ºCODE£¬DS£ºDATA START£ºMOV AX£¬DATA MOV DS£¬AX
MOV SI£¬ OFFSET BLOCK MOV CX£¬15 CON£ºMOV AL£¬[SI]
TEST AL£¬01H
¡¶Î¢»úÔÀí¼°Ó¦Óá·µÚ 40 Ò³ ¹² 48 Ò³