΢»úÔÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£©
Ç廪´óѧ³ö°æÉç
CODE
ENDS START
END
9. ÄÚ´æÖÐÒÔ FIRST ºÍ SECOND ¿ªÊ¼µÄµ¥ÔªÖÐ·Ö±ð´æ·Å×ÅÁ½¸ö ÖÆ (BCD Âë)Êý,µÍλÔÚǰ¡£±à³ÌÐòÇóÕâÁ½¸öÊýµÄ×éºÏµÄÊ®½øÖÆºÍ ¿ªÊ¼µÄµ¥Ôª¡£ ´ð£º
16 λ×éºÏµÄÊ®½ø ,²¢´æµ½ÒÔ THIRD
DATA SEGMENT
FIRST DD
34341212H
SECOND
DD DB
78785656H ?,?,?,?
THIRD
DATA CODE
ENDS
SEGMENT
CS:CODE,DS:DATA MOV MOV LEA LEA LEA MOV CLC MOV MOV ADC DAA MOV INC INC INC LOOP JC AA
SI DI BX
AGAIN
ASSUME START:
AX,DATA DS,AX SI,FIRST DI,SECOND BX,THIRD CX,4
AGAIN:
AL,BYTE PTR[SI] DL,BYTE PTR[DI] AL,DL
BYTE PTR[BX],AL
21
΢»úÔÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£©
Ç廪´óѧ³ö°æÉç
MOV
BYTE PTR[BX],0 EXIT
JMP
AA: MOV BYTE PTR[BX],1
EXIT:MOV AH,4CH INT
21H
CODE END
ENDS START
10. ±àдһ¶Î³ÌÐò£¬½ÓÊÕ´Ó¼üÅÌÊäÈëµÄ 10 ¸öÊý£¬ÊäÈë»Ø³µ·û±íʾ½áÊø£¬È»ºó½«ÕâЩÊý¼ÓÃܺó´æÓÚ BUFF »º³åÇøÖС£¼ÓÃܱíÈçÏ :
ÊäÈëÊý×Ö : 0£¬1£¬2£¬3£¬4£¬5£¬6£¬7£¬8£¬9; ÃÜÂëÊý×Ö : 7£¬5£¬9£¬1£¬3£¬6£¬8£¬0£¬
2£¬4¡£
´ð£º
DATA
SEGMENT MITAB CONT
DB EQU
DB
'7591368024'
$-MITAB
BUFF
10 DUP (?)£¬'$' DB 10 DUP (?)£¬'$'
YUANWEN
DATA
ENDS
SEGMENT
CODE
ASSUME CS¡Ã CODE£¬ DS¡Ã DATA
START£º MOV
AX £¬DATA
DS£¬AX SI£¬0
CX £¬CONT AH £¬1 21H
AL £¬13
MOV MOV MOV
INPUT:
MOV INT CMP
JZ EXIT AND MOV
AL £¬0FH
YUANWEN[SI] £¬AL
22
΢»úÔÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£©
Ç廪´óѧ³ö°æÉç
INC
SI LOOP
INPUT
EXIT : LEA
BX £¬MITAB
MOV CX£¬SI MOV SI£¬0
JIAMI: MOV
AL £¬YUANWEN[SI]
XLAT
MITAB
MOV
BUFF[SI] £¬AL
INC
SI
LOOP JIAMI MOV
AH,
4CH
INT
21H
CODE
ENDS
END
START
11. ÊÔ±à³ÌÐò£¬Í³¼ÆÓÉ 40000H¿ªÊ¼µÄ 16K¸öµ¥ÔªÖÐËù´æ·ÅµÄ×Ö·û¡° A¡±µÄ¸öÊý£¬
²¢½«½á¹û´æ·ÅÔÚ DXÖС£
´ð£º
DATA
SEGMENT DA1
DB
'A'
BUFF DB
4000H DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:
MOV AX,4000H MOV DS,AX MOV BX,0
MOV
CX,4000H FIND:
MOV AL,[BX]
MOV
BL,DA1
23
΢»úÔÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£©
Ç廪´óѧ³ö°æÉç
CMP
AL,BL NEXT DX
SI
JNZ
INC
NEXT:
INC
LOOP MOV
FIND AH,4CH
INT 21H
CODE
ENDS START
END
12. ÔÚµ±Ç°Êý¾Ý¶Î (DS)£¬Æ«ÒƵØÖ·Îª DATAB ¿ªÊ¼µÄ˳Ðò 80 ¸öµ¥ÔªÖУ¬´æ·Å׊ij°à 80 ¸öͬѧijÃÅ¿¼ÊԳɼ¨¡£°´ÈçÏÂÒªÇó±àд³ÌÐò
:
(1) ±àд³ÌÐòͳ¼Æ¡Ý 90 ·Ö ; 80 ·Ö¡« 89 ·Ö ; 70 ·Ö¡« 79 ·Ö ; 60 ·Ö¡« 69 ·Ö£¬£¼ 60 ·ÖµÄ
ÈËÊý¸÷Ϊ¶àÉÙ£¬²¢½«½á¹û·ÅÔÚͬһÊý¾Ý¶Î¡¢Æ«ÒƵØÖ·Îª BTRX ¿ªÊ¼µÄ˳Ðòµ¥ÔªÖС£
(2) ÊÔ±à³ÌÐò£¬Çó¸Ã°àÕâÃÅ¿ÎµÄÆ½¾ù³É¼¨Îª¶àÉÙ£¬ ²¢·ÅÔÚ¸ÃÊý¾Ý¶ÎµÄ AVER µ¥ÔªÖС£ ´ð£º
DATA SEGMENT
BUFF DW 80 DUP(?) DA9 DB 0
DA8 DB 0 DA7 DB 0 DA6 DB 0 DA5 DB 0 AVER DB 0
DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
24