΢»úÔ­Àí»Æ±ù°æ--×÷Òµ´ð°¸

3.6 ¸ø³öµÈÖµÓï¾äÈçÏ£º

ALPHA EQU 100 BETA EQU 25 GAMMA EQU 2 ÇóÏÂÁбí´ïʽµÄÖµ£º

(1) ALPHA * 100 + BETA ; 10025D = 2729H

(2) ALPHA MOD GAMMA + BETA ; 100 MOD 2 + 25 = 25D = 0019H (3) (ALPHA + 2) * BETA - ALPHA ; (100 + 2 ) * 25 ¨C 100 = 2450D = 0992H (4) (BETA / 3) MOD 5 ; (25 / 3) MOD 5 = 03H

(5) BETA AND 7 ; 0001 1001 AND 0000 0111 = 01H (6) GAMMA OR 3 ; 0000 0010 OR 0000 0011 = 0003H 3.7 ÏÂÁÐÓï¾äÖУ¬ÔÚ´æ´¢Æ÷ÖÐÿ¸ö±äÁ¿·ÖÅäµ½¶àÉÙ×Ö½Ú£¿ VR1 DW 9 ; 2×Ö½Ú

VR2 DW 4 DUP (?), 2 ; 4 * 2 + 2 = 10×Ö½Ú VR3 EQU 100 ; 0×Ö½Ú

VR4 DD VR3 DUP (?) ; 100 * 4 = 400×Ö½Ú

VR5 DB 2 DUP (?, VR3 DUP (0, 1) ) ; 2 * ( 1 + 100 * 2 ) = 402×Ö½Ú VR6 DB 'HOW ARE YOU?' ; 12×Ö½Ú

3.8 ÊÔд³öÒ»¸öÍêÕûµÄÊý¾Ý¶ÎDATA_SEG£¬Ê×ÏȰÑ10¸öѹËõµÄBCDÂë29´æ·ÅÔÚARRAY±äÁ¿×Ö½Úµ¥ÔªÖУ¬½ô½Ó×ŰÑ-25, 4, 10, 76, 3´æ·ÅÔÚALPHAÊý×é±äÁ¿µÄ×Öµ¥ÔªÖУ¬½Ó×ÅÁô100¸ö¿Õµ¥Ôª×÷Ϊ¹¤×÷µ¥ÔªÓã¬Ëü¶¨ÒåΪ×Ö½Ú±äÁ¿BUFFER¡£ DATA_SEG SEGMENT ARRAY DB 10 DUP ( 29H ) ALPHA DW -25, 4, 10, 76, 3 BUFFER DB 100 DUP ( ? ) DATA_SEG ENDS

3.9 ½«´æ·ÅÔÚ×Ö½Ú±äÁ¿BCD1ÖеÄÁ½¸öÊ®½øÖÆÊýµÄASCIIÂëºÏ²¢ÎªÒ»×Ö½ÚѹËõÐÍBCDÂ룬´æÈë×Ö½Ú±äÁ¿BCD2£¬ÊÔ±àд³ÌÐò¡£

DATA SEGMENT BCD1 DB '34' BCD2 DB ? DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL, BCD1 MOV CL, 4 SAL AL, CL

MOV BL, BCD1+1 AND BL, 0FH OR AL, BL

MOV BCD2, AL MOV AH, 4CH INT 21H CODE ENDS END START

3.10 ·ÖÎöÏÂÁгÌÐò¶Î£¬²¢ËµÃ÷Íê³Éʲô²Ù×÷¡£ ADDNUM DB 28H, 46H, 95H, 26H ADDSUM DB 2 DUP (?)

MOV AL, ADDNUM ; ADDNUMµÚ1¸öÊý¾ÝË͵½AL ADD AL, ADDNUM + 2 ; ADDNUMµÚ3¸öÊý¾Ý¼Óµ½AL DAA ; ¼Ó·¨µÄÊ®½øÖƵ÷ÕûÖ¸Áî

MOV ADDSUM, AL ; ADDNUMµÚ1¡¢3¸öÊý¾ÝµÄºÍ·Åµ½ADDSUM MOV AL, ADDNUM + 1 ; ADDNUMµÚ2¸öÊý¾ÝË͵½AL ADC AL, ADDNUM + 3 ; ADDNUMµÚ4¸öÊý¾Ý¼Óµ½AL DAA ; ¼Ó·¨µÄÊ®½øÖƵ÷ÕûÖ¸Áî

MOV ADDSUM + 1, AL ; ADDNUMµÚ2¡¢4¸öÊý¾ÝµÄºÍ·Åµ½ADDSUM + 1

½â£º

½«ADDNUMµÄµÚ1¡¢3¸öÊý¾ÝÏà¼Ó£¬²¢½«½á¹û½øÐÐÊ®½øÖƵ÷Õûת»»ÎªÑ¹ËõÐÍBCDÂ룬²¢·Åµ½ADDSUMµÄµÚ1¸ö×Ö½ÚµÄλÖ㻽«ADDNUMµÄµÚ2¡¢4¸öÊý¾ÝÏà¼Ó£¬²¢½«½á¹û½øÐÐÊ®½øÖƵ÷Õûת»»ÎªÑ¹ËõÐÍBCDÂ룬²¢·Åµ½ADDSUMµÄµÚ2¸ö×Ö½ÚµÄλÖá£

¼´£º4628£«2695£¬½á¹ûµ÷ÕûΪѹËõÐÍBCDÂ룬½á¹ûÒÔ×Ö±äÁ¿ÐÎʽ·Åµ½ADDSUMµ¥Ôª¡£

3.11 д³öÍê³ÉÏÂÊö¹¦ÄܵijÌÐò¶Î£º (1) ½«32H´æÈëCHÖС£

(2) ½«CHÖеÄÄÚÈÝÓë2AHÏà¼Ó¡£ (3) ½«CHÖеÄÄÚÈݳË2¡£

(4) ½«CHÖеÄÄÚÈÝ´æÈëÒÔBX×÷ΪÏà¶Ô»ùַѰַµÄÊý×é±äÁ¿NUMµÄµÚÊ®¸ö×Ö½Úµ¥ÔªÖÐ(Êý¾Ý¶Î)¡£

ÎÊ£º¸÷³ÌÐò¶Î·Ö±ðÖ´Ðкó£¬CHÖеÄÄÚÈÝÊǶàÉÙ£¿ MOV CH, 32H ; (1) CH = 32H ADD CH, 2AH ; (2) CH = 5CH MOV AL, 02H ;

MUL CH ; (3) CH = 5CH, AX = 0B8H MOV [BX + NUM + 9], CH ; (4) CH = 5CH

3.12 ±àд³ÌÐò£¬¼ÆËãZ = ( ( W ¨C X ) / 10 * Y )2£¬rΪÏà³ýËùµÃÓàÊý¡£ÆäÖÐW, X, Y¾ùΪ8λÓзûºÅ¶þ½øÖÆÊý¡£

DATA SEGMENT W DB 12 X DB 24 Y DB 48

Z DW 2 DUP (?) r db ? DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV AL, W

SUB AL, X ; W - X -> AL CBW

MOV BL, 10

IDIV BL ; (W - X) / 10 -> AL MOV r, AH ; (W - X) % 10 -> r MOV BL, Y

IMUL BL ; (W - X) / 10 * Y -> AX MOV BX, AX

IMUL BX ; ((W - X) / 10 * Y)^2 -> DX, AX MOV Z, AX

MOV Z+2, DX ; ((W - X) / 10 * Y)^2 -> Z MOV AH, 4CH INT 21H CODE ENDS END START

3.13 ÔÚÊý×é×Ö±äÁ¿ARRAYÖÐÓÐ10¸öÊý¾Ý£¬½«Êý×éÖеĵÚ5¸ö×ÖÊý¾ÝÇó²¹£¬ÔÙ·Å»ØÔ­´¦£¬»­³ö³ÌÐòÁ÷³ÌͼºÍ±àд³ÌÐò¡£

3.14 ÓÃÖØ¸´Ç°×º´®±È½ÏÖ¸Áî±È½ÏÁ½¸ö×Ö·û´®£¬Ò»¸öÊÇÔÚÊý¾Ý¶ÎµÄ×Ö·û´®±äÁ¿STR1(ÄÚÈÝΪ'THIS IS A DOG')£¬ÁíÒ»¸öÊÇÔÚ¸½¼Ó¶ÎµÄ×Ö·û´®±äÁ¿STR2(ÄÚÈÝΪ'THIS IS A COCK')¡£µ±±È½Ïµ½µÚÒ»¸ö²»ÏàͬµÄ×Ö·ûʱֹͣ±È½Ï£¬°ÑÏàͬ²¿·Ö×Ö·û´®³¤¶È´æÈëÊý¾Ý¶ÎµÄ×Ö½Ú±äÁ¿NUMÖС£Ð´³ö·Ö¶Î½á¹¹µÄ³ÌÐò¶Î£¬Ó¦°üÀ¨¶Î¶¨Ò壬αָÁîºÍÖ¸ÁîÐòÁС£ÎÊ£ºÏàͬ²¿·Ö×Ö·û´®³¤¶ÈΪ¶àÉÙ£¿ÔÚSTR1ºÍSTR2µÚÒ»¸ö²»Í¬´¦µÄÆ«ÒÆµØÖ·ÊǶàÉÙ£¿

DATA SEGMENT

STR1 DB 'THIS IS A DOG' LEN1 DB $-STR1 NUM DB ? DATA ENDS

EDATA SEGMENT

STR2 DB 'THIS IS A COCK' LEN2 DB $-STR2 EDATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:EDATA START: MOV AX,DATA MOV DS,AX MOV AX,EDATA MOV ES,AX CLD ;´®²Ù×÷Óɵ͵ØÖ·Ïò¸ßµØÖ· MOV CH,0 MOV AL,LEN1 CMP AL,ES:LEN2 JB B1L2

MOV CL,ES:LEN2 JMP CMPOK B1L2: MOV CL,AL

CMPOK: LEA SI,STR1 LEA DI,ES:STR2 REPE CMPSB MOV AX,SI

DEC AL ;²»Í¬´¦µÄ×Ö½ÚÆ«ÒƵØÖ·

MOV NUM,AL ;²»Í¬´¦µÄ×Ö½ÚÆ«ÒƵØÖ··Åµ½NUM MOV AH, 4CH INT 21H CODE ENDS END START

´ð£ºÏàͬ³¤¶È10£¬²»Í¬´¦µÄÆ«ÒÆµØÖ·10

3.15 ÓÐÁ½¸öѹËõÐÍBCDÂëÏà¼Ó£¬±»¼ÓÊý£¨6756£©ºÍ¼ÓÊý£¨7321£©´æ·ÅÔÚÊý¾Ý¶ÎµÄBUFFER±äÁ¿µÄ4¸öÁ¬ÐøµÄ×Ö½Ú´æ´¢µ¥ÔªÖУ¬½á¹û£¨ºÍ£©´æ·ÅÔÚRESUT±äÁ¿µÄÈý¸ö×Öµ¥ÔªÖУ¨¿¼Âǵ½ÓнøÎ»µÄÇé¿ö£©£¬±àÖÆ¾ßÓÐÊý¾Ý¶ÎºÍ´úÂë¶Î½á¹¹µÄÍêÕû³ÌÐò£¬³ÌÐòÖÐÐèÒª×÷±ØÒªµÄ×¢ÊÍ¡£

×¢£º½á¹û´æ·ÅÔÚRESUT×Ö½Ú±äÁ¿ÖУ¬Èý¸ö×Öµ¥Ôª²»ÖªÒªÇóÔõôÓà DATA SEGMENT

BUFFER DB 67H,56H,73H,21H RESUT DB 3 DUP (?) DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,BUFFER+1 ;µÚÒ»¸öÊý¾ÝµÍÁ½Î»->AL MOV BL,BUFFER+3 ;µÚ¶þ¸öÊý¾ÝµÍÁ½Î»->BL ADD AL,BL ;µÍÁ½Î»Ïà¼Ó DAA ;Ê®½øÖƵ÷Õû MOV DL,AL ;µÍÁ½Î»Ïà¼Ó½á¹û·Åµ½DL MOV AL,BUFFER ;µÚÒ»¸öÊý¾Ý¸ßÁ½Î»->AL MOV BL,BUFFER+2 ;µÚ¶þ¸öÊý¾Ý¸ßÁ½Î»->BL ADC AL,BL ;µÍÁ½Î»Ïà¼Ó DAA ;Ê®½øÖƵ÷Õû MOV BL,0 JNC HCF INC BL

HCF: MOV RESUT,BL ;´æ·Å×î¸ßλ MOV RESUT+1,AL ;´æ·ÅÖмäÁ½Î» MOV RESUT+2,DL ;´æ·Å×îµÍÁ½Î» MOV AH, 4CH INT 21H CODE ENDS END START

3.16 ½«SRCBUF±äÁ¿¶¨ÒåµÄ80¸ö×Ö·û´®´«Ë͵½DSTBUF±äÁ¿¶¨ÒåµÄ´æ´¢ÇøÈ¥¡£µ±Óöµ½0DHʱ£¬²»½«´Ë×Ö·û´«Ë͵½DSTBUF±äÁ¿ÖÐÈ¥¡£ÊÔ±àд³ÌÐò£¬²¢¼ÓÒÔ×¢ÊÍ¡£

DATA SEGMENT

SRCBUF DB 'aaa',0DH,'bbb' DSTBUF DB 80 DUP (?) DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,07 ;±È½Ï´ÎÊý->CX MOV SI,0 ;Ô´´®Ö¸Õë->SI

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)