¡¶Î¢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ¡·£¨µÚËİ棩ÖܺÎÇٿκóϰÌâ´ð°¸

START:PUSH DS MOV AX,DATA MOV DS,AX MOV SI,2000H MOV DI,3000H MOV CX,100 LP1: MOV AL,[SI] MOV [DI],AL INC SI INC DI

LOOP LP1 POP DS HLT CODE ENDS END START

22. ÔÚDATA¿ªÊ¼µÄ4¸öµ¥ÔªÖдæ·Å×ÅÒ»¸ö32λÊý£¬Çó³öÆäÖеġ°1¡±µÄ¸öÊý£¬²¢´æÈëCOUNTµ¥ÔªÖС£ ½â£º

DATA SEGMENT

DATA1 DB 0FEH£¬86H£¬7CH£¬35H COUNT DB 00H DATA ENDS

STACK SEGMENT

DB 100 DUP£¨£¿£©

STACK ENDS CODE SEGMENT

ASSUME CS£ºCODE£¬DS£ºDATA£¬SS£ºSTACK START£ºPUSH DS

MOV AX£¬DATA

MOV DS£¬AX MOV AX£¬STACK MOV SS£¬AX MOV SI£¬OFFSET DATA1 MOV BX£¬[SI] MOV DX£¬[SI+2] MOV CX£¬32 XOR AL£¬AL LP1£ºRCR DX,1

RCR BX,1 JNC LP2 INC AL LP2£ºLOOP LP1

MOV COUNT£¬AL POP DS MOV AH£¬4CH INT 21H HLT CODE ENDS

END START

1. ÏÂÁбäÁ¿¸÷Õ¼¶àÉÙ×Ö½Ú£¿

A1 DW 23H£¬5876H 4×Ö½Ú

21

A2 DB 3 DUP£¨?£©£¬0AH£¬0DH£¬¡®$¡¯ 6×Ö½Ú

A3 DD 5 DUP£¨1234H£¬567890H£© 4¡Á2¡Á5=40×Ö½Ú A4 DB 4 DUP£¨3 DUP£¨1£¬2£¬¡®ABC¡¯£©£© 5¡Á3¡Á4=60×Ö½Ú

µ÷ÊÔ³ÌÐò£º

STACK SEGMENT STACK DB 100 DUP(?) STACK ENDS DATA SEGMENT

DA1 DW 23H,5876H

DA2 DB 3 DUP(?) ,0AH,0DH,'$' DA3 DD 5 DUP(1234H,567890H) DA4 DB 4 DUP(3 DUP(1,2,'ABC')) DA5 DB 10 DUP(?) DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK START:PUSH DS

MOV AX,DATA

MOV DS,AX

MOV AX,OFFSET DA1 MOV BX,OFFSET DA2 MOV CX,OFFSET DA3 MOV DX,OFFSET DA4 MOV DI,OFFSET DA5 POP DS HLT CODE ENDS END START

5. ¶ÔÓÚÏÂÃæµÄÊý¾Ý¶¨Ò壬¸÷ÌõMOVÖ¸ÁîÖ´Ðкó£¬ÓйؼĴæÆ÷µÄÄÚÈÝÊÇʲô£¿

DA1 DB ?

DA2 DW 10 DUP£¨?£© DA3 DB ¡®ABCD¡¯ MOV

AX£¬TYPE DA1

MOV BX£¬SIZE DA2 MOV CX£¬LENGTH DA3

½â£º¸÷ÌõMOVÖ¸ÁîÖ´Ðкó£¬ÓйؼĴæÆ÷µÄÄÚÈÝÈçÏ£º

MOV AX£¬TYPE DA1 £»£¨AX£©= 1

MOV BX£¬SIZE DA2 £»£¨BX£©= 20

MOV CX£¬LENGTH DA3 £»£¨CX£©=1 µ÷ÊÔ³ÌÐò

STACK SEGMENT STACK

DB 100 DUP(?) STACK ENDS DATA SEGMENT DA1 DB ?

DA2 DW 10 DUP(?) DA3 DB 'ABCD' DATA ENDS

22

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK START: PUSH DS

MOV AX,DATA

MOV DS,AX

MOV AX,TYPE DA1 MOV BX,SIZE DA2 MOV CX,LENGTH DA3 POP DS HLT CODE ENDS END START

6. ϶γÌÐòÍê³Éºó£¬AHµÈÓÚʲô£¿

IN

JZ

L1

AH£¬0 AL£¬5FH

TEST AL£¬80H MOV

JMP STOP

L1£ºMOV AH£¬0FFH STOP£ºHLT ½â£º

Èç¹ûµØÖ·Îª5FHµÄÍâÉèÊäÈëµ½ALÖеÄÊý¾ÝµÄ×î¸ßλ=1£¬Ôò£¨AH£©= 0£¬·ñÔò£¬£¨AH£©= 0FFH¡£

10. ±àÖÆÁ½¸öͨÓùý³Ì£¬Íê³ÉÁ½Î»Ê®Áù½øÖÆÊýת»»³ÉASCIIÂ룬²¢½«ASCIIÂë×Ö·ûÏÔʾ¡£

£¨1£©Á½Î»Ê®Áù½øÖÆÊýת»»³ÉASCIIÂë

ÉèÁ½Î»Ê®Áù½øÖÆÊý´æ·ÅÔÚDLÖУ¬Êä³öµÄASCIIÂë´æ·ÅÔÚBXÖС£ CON PROC PUSH AX PUSH CX MOV CL, 4 MOV AL, DL AND AL, 0FH CMP AL, 0AH JNC LP1 ADD AL, 30H JMP LP2 LP1: ADD AL, 37H LP2: MOV BL, AL MOV AL, DL SHR AL, CL AND AL, 0FH CMP AL, 0AH

23

JNC LP3 ADD AL, 30H JMP LP4 LP3: ADD AL, 37H LP4: MOV BH, AL POP CX POP AX RET CON ENDP

ËÄλʮÁù½øÖÆÊýת»»³ÉASCIIÂ룬

ÉèËÄλʮÁù½øÖÆÊý´æ·ÅÔÚ´æ´¢Æ÷BUF1µ¥ÔªÖУ¬Êä³öµÄASCIIÂë´æ·ÅÔÚ´æ´¢Æ÷BUF2¿ªÊ¼µÄµ¥ÔªÖС£ CON PROC PUSH AX PUSH CX PUSH DX

MOV DI, OFFSET BUF2 MOV SI, OFFSET BUF1 MOV CL, 4 MOV DH, 4 MOV DX, [SI] LP1: ROL DX, CL MOV AL, DL AND AL, 0F ADD AL, 30H CMP AL, 3AH JC LP2 ADD AL, 07H LP2: MOV [DI], AL INC DI DEC CH JNZ LP1 POP DX POP CX POP AX RET CON ENDP

£¨2£©ASCIIÂë×Ö·ûÏÔʾ Éè2¸öASCIIÂë×Ö·ûÔÚBXÖС£ DISP PROC PUSH AX

24

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