(5) JNZ VAR1
½â£º(1) ADD VAR1£¬VAR2
´íÎó£¬Á½¸ö²Ù×÷Êý²»Äܶ¼Îª´æ´¢µ¥Ôª£¬¿É¸ÄΪ MOV BX£¬VAR2 ADD VAR1£¬BX
(2) MOV AL£¬VAR2
´íÎó£¬Êý¾ÝÀàÐͲ»Æ¥Å䣬¿É¸ÄΪMOV AX£¬VAR2 (3) SUB AL£¬VAR1
´íÎó£¬Êý¾ÝÀàÐͲ»Æ¥Å䣬¿É¸ÄΪSUB AX£¬VAR1 (4) JMP LAB[SI]
´íÎ󣬼ĴæÆ÷Ïà¶ÔѰַÐÎʽÖв»ÄÜÓñêºÅ×öÎ»ÒÆÁ¿£¬¿É¸ÄΪJMP VAR1[SI] (5) JNZ VAR1
´íÎó£¬Ìõ¼þÌø×ªÖ¸ÁîÖ»ÄܽøÐжÎÄÚ¶ÌÌø×ª£¬ËùÒÔºóÃæÖ»Äܸú¶Ì±êºÅ¡£¿É¸ÄΪJNZ LAB (6) JMP NEAR LAB
´íÎó£¬È±ÉÙÔËËã·ûPTR£¬¿É¸ÄΪJMP NEAR PTR LAB
×¢£º±¾Ìâ´íÎó¸ÄÕý²¿·ÖÓеĴ𰸲¢²»Î¨Ò»£¬¿É²Î¿¼ÔÌâÌâÒâ¸Ä³ÉºÏ·¨ÐÎʽ¡£
9£® ÒÑÖª (AL)=6CH, (BL)=0A9H,ÊÔÎÊÖ´ÐÐÖ¸ÁîADD AL,BLºó£¬AF¡¢CF¡¢OF¡¢PF¡¢SF¡¢ºÍ
ZFµÄÖµ¸÷Ϊ¶àÉÙ£¿
½â£ºÖ¸ÁîADD AL,BLµÄ¹¦ÄÜΪAL+BL¡úAL£¬ÆäÔËËã¹ý³ÌÈçÏ£º
6CHA9H 115H
ÓÉÒÔÉÏÔËËã¿ÉÖª£¬
µÍ4λÏò¸ß4λÓнøÎ»£¬ËùÒÔAF=1£» ×î¸ßλ²úÉúÁ˽øÎ»£¬ËùÒÔCF=1£»
¸ÃÔËËãÊÇÒ»¸öÕýÊý¼ÓÒ»¸ö¸ºÊý£¬ËùÒÔ²»»á²úÉúÒç³ö£¬ËùÒÔOF=0£»Ö»ÓÐÕýÊý+ÕýÊý=¸ºÊý£¬»òÕ߸ºÊý+¸ºÊý=ÕýÊýʱ£¬²Å¿ÉÄܲúÉúÒç³öÏÖÏó£»
¸ÃÔËËã½á¹ûµÄµÍ8λΪ0001 0101£¬º¬ÓÐÆæÊý¸ö1£¬ËùÒÔPF=0£» ¸ÃÔËËã½á¹ûµÄ×î¸ßλΪ·ûºÅλ£¬Îª0£¬ËùÒÔSF=0£» µ±Ç°µÄÔËËã½á¹û²»ÎªÁ㣬ËùÒÔZF=0¡£ 10£®ÊÔÅжÏÏÂÁгÌÐòÖ´Ðкó£¬(BX)=µÄÄÚÈÝ¡£
MOV CL,5 MOV BX,01C9H ROL BX,1 RCR BX,CL
½â£º¸Ã³ÌÐò¶ÎÊÇÊ×ÏȽ«BXÄÚÈݲ»´ø½øÎ»Ñ»·×óÒÆ1룬ÔÙÑ»·ÓÒÒÆ5λ¡£¼´Ï൱ÓÚ½«ÔBXÄÚÈݲ»´ø½øÎ»Ñ»·ÓÒÒÆ4λ
µÚ 9 Ò³ ¹² 27 Ò³
01C9H=0000 0001 1100 1001B
³ÌÐòÖ´Ðкó£¬Îª1001 0000 0001 1100B ¹Ê½á¹ûΪ901CH
11£®Ð´³öÄܹ»Íê³ÉÏÂÁвÙ×÷µÄ8086CPUÖ¸Áî¡£ (1) °Ñ4629H´«Ë͸øAX¼Ä´æÆ÷£» (2) ´ÓAX¼Ä´æÆ÷ÖмõÈ¥3218H£» (3) °ÑBUFµÄÆ«ÒÆµØÖ·ËÍÈëBXÖС£
12£®¸ù¾ÝÒÔÏÂÒªÇóд³öÏàÓ¦µÄ»ã±àÓïÑÔÖ¸Áî¡£
(1) °ÑBXºÍDX¼Ä´æÆ÷µÄÄÚÈÝÏà¼Ó£¬½á¹û´æÈëDX¼Ä´æÆ÷ÖУ»
(2) ÓÃBXºÍSIµÄ»ùÖ·±äַѰַ·½Ê½£¬°Ñ´æ´¢Æ÷ÖеÄÒ»¸ö×Ö½ÚÓëALÄÚÈÝÏà¼Ó£¬²¢±£´æÔÚAL¼Ä´æÆ÷ÖУ»
(3) ÓüĴæÆ÷BXºÍÎ»ÒÆÁ¿21B5HµÄ±äַѰַ·½Ê½°Ñ´æ´¢Æ÷ÖеÄÒ»¸ö×ÖºÍ(CX)Ïà¼Ó£¬²¢°Ñ½á¹ûËͻش洢Æ÷µ¥ÔªÖУ»
(4) ÓÃÎ»ÒÆÁ¿2158HµÄÖ±½ÓѰַ·½Ê½°Ñ´æ´¢Æ÷ÖеÄÒ»¸ö×ÖÓëÊý3160HÏà¼Ó£¬²¢°Ñ½á¹ûËͻظô洢Æ÷ÖУ»
(5) °ÑÊý25HÓë(AL)Ïà¼Ó£¬½á¹ûËͻؼĴæÆ÷ALÖС£ 13£®°´ÏÂÁÐÒªÇóд³öÏàÓ¦µÄÖ¸Áî»ò³ÌÐò¶Î¡£ (1)ʹBL¼Ä´æÆ÷Öеĸߡ¢µÍËÄ뻥»»£» (2)ÆÁ±ÎAX¼Ä´æÆ÷ÖеÄb10ºÍb5λ£»
(3)·Ö±ð²âÊÔAX¼Ä´æÆ÷ÖÐb13ºÍb2λÊÇ·ñΪ1¡£
14£®Ö´ÐÐÒÔÏÂÁ½ÌõÖ¸Áîºó£¬±êÖ¾¼Ä´æÆ÷FLAGSµÄÁù¸ö״̬Ϊ¸÷ΪºÎÖµ£¿
MOV AX,95C8H ADD AX,8379H
½â£ºÖ¸ÁîµÄ¹¦ÄÜΪ95C8H+8739H¡úAL£¬ÆäÔËËã¹ý³ÌÈçÏ£º
95C8H
8379H
11941H ÓÉÒÔÉÏÔËËã¿ÉÖª£¬
µÍ4λÏò¸ß4λÓнøÎ»£¬ËùÒÔAF=1£» ×î¸ßλ²úÉúÁ˽øÎ»£¬ËùÒÔCF=1£»
¸ÃÔËËãÊÇÁ½¸ö¸ºÊýÏà¼Ó½á¹ûΪÕýÊý£¬²úÉúÒç³ö£¬ËùÒÔOF=1£» ¸ÃÔËËã½á¹ûµÄµÍ8λΪ0100 0001£¬º¬ÓÐżÊý¸ö1£¬ËùÒÔPF=1£» ¸ÃÔËËã½á¹ûµÄ×î¸ßλΪ·ûºÅλ£¬Îª0£¬ËùÒÔSF=0£» µ±Ç°µÄÔËËã½á¹û²»ÎªÁ㣬ËùÒÔZF=0¡£
µÚ 10 Ò³ ¹² 27 Ò³
15£®Èô(AL)=85H,(BL)=11H,ÔÚ·Ö±ðÖ´ÐÐÖ¸ÁîMULºÍIMULºó£¬Æä½á¹ûÊǶàÉÙ£¿
µÚ4Õ »ã±àÓïÑÔ³ÌÐòÉè¼Æ
1. Çë·Ö±ðÓÃDB¡¢DW¡¢DDαָÁîд³öÔÚDATA¿ªÊ¼µÄÁ¬Ðø8¸öµ¥ÔªÖÐÒÀ´Î´æ·ÅÊý¾Ý11H¡¢
22H¡¢33H¡¢44H¡¢55H¡¢66H¡¢77H¡¢88HµÄÊý¾Ý¶¨ÒåÓï¾ä¡£ ½â£º¶¨ÒåÈçÏ£º
DATA DB 11H£¬22H£¬33H£¬44H£¬55H£¬66H£¬77H£¬88H DW 2211H£¬4433H£¬6655H£¬8877H DD 44332211H£¬88776655H
2£® Èô³ÌÐòµÄÊý¾Ý¶Î¶¨ÒåÈçÏ£¬Ð´³ö¸÷Ö¸ÁîÓï¾ä¶ÀÁ¢Ö´ÐкóµÄ½á¹û£º
DSEG SEGMENT
DATA1 DB 10H£¬20H£¬30H DATA2 DW 10 DUP(?) STRING DB ¡®123¡¯ DSEG ENDS
(1) MOV AL£¬DATA1
(2) MOV BX£¬OFFSET DATA2 (3) LEA SI£¬STRING ADDBX£¬SI ½â£º£¨1£©È¡±äÁ¿DATA1µÄÖµ. Ö¸ÁîÖ´Ðкó,(AL)=10H. £¨2£©È¡±äÁ¿DATA2µÄÆ«ÒÆµØÖ·. Ö¸ÁîÖ´Ðкó,(BX)=0002H.
£¨3£©ÏÈÈ¡±äÁ¿STRINGµÄÆ«ÒÆµØÖ·ËͼĴæÆ÷SI,Ö®ºóËÍSIµÄÄÚÈÝÓëDIµÄÄÚÈÝÏà¼Ó²¢½«½á¹ûËÍDI.Ö¸ÁîÖ´Ðкó,(SI)=0016H;(DI)=(DI)+0018H
3£® ÊÔ±àдÇóÁ½¸öÎÞ·ûºÅË«×Ö³¤ÊýÖ®ºÍµÄ³ÌÐò¡£Á½Êý·Ö±ðÔÚMEM1ºÍMEM2µ¥ÔªÖУ¬ºÍ·Å
ÔÚSUMµ¥Ôª¡£ ½â£º³ÌÐò±àдÈçÏ£º DATA SEGMENT
MEM1 DW 6655H,8877H MEM2 DW 8877H,6655H
SUM DW 2 DUP(?) £»55667788H+77885566H=0CCEECCEEH DATA ENDS CODE SEGMENT
µÚ 11 Ò³ ¹² 27 Ò³
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,MEM1+2 ADD AX,MEM2+2 MOV SUM+2,AX MOV AX,MEM1 ADC AX,MEM2 MOV SUM,AX MOV AH,4CH INT 21H CODE ENDS
END START
4£® ÊÔ±àд³ÌÐò£¬²âÊÔAL¼Ä´æÆ÷µÄµÚ4λÊÇ·ñΪ0£¿
½â£º³ÌÐò±àдÈçÏ£º CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: TEST AL,08H JZ L1
©«
L1:
©«
MOV AH,4CH
INT 21H CODE ENDS
END START
5£® ±àд³ÌÐò£¬½«BUFFERÖеÄÒ»¸ö8λ¶þ½øÖÆÊýת»»ÎªASCIIÂ룬²¢°´Î»Êý¸ßµÍ˳Ðò´æ
·ÅÔÚANSWER¿ªÊ¼µÄÄÚ´æµ¥ÔªÖС£
½â£º³ÌÐò±àдÈçÏ£º DATA SEGMENT
BUFFER DB 4AH
ANSWER DB 2 DUP(?) DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX
µÚ 12 Ò³ ¹² 27 Ò³