ϰÌâ
Ò»¡¢Ñ¡Ôñ CBC AAD Èý¡¢ÅÐ¶Ï ¡Ì¡Ì¡Ì¡Ì¡Ì Îå¡¢Éè¼Æ
1¡¢±à³ÌʵÏÖÇóS=£¨X2£«Y2£©/ZµÄÖµ£¬½«×îºó½á¹û·ÅÈëRESULTµ¥Ôª±£´æ¡£ ²Î¿¼³ÌÐòÈçÏ£º
DATA SEGMENT £»¶¨ÒåÊý¾Ý¶Î
X DB 5 £»¸øX¡¢Y¡¢Z¸³³õÖµ Y DB 7 Z DB 2
RESULT DB £¿ £»¶¨ÒåRESULTµ¥Ôª£¬Ô¤Áô¿Õ¼ä DATA ENDS £»Êý¾Ý¶Î½áÊø CODE SEGMENT £»¶¨Òå´úÂë¶Î ASSSUME CS£ºCODE£¬DS£ºDATA
START£ºMOV AX£¬DATA £»³õʼ»¯DS MOV DS£¬AX
MOV AL£¬X £»½«Êý¾ÝXËÍAL MUL X £»¼ÆËãX2
MOV BX£¬AX £»½«Öмä½á¹û±£´æµ½BX MOV AL£¬Y £»½«Êý¾ÝYËÍAL MUL Y £»¼ÆËãY2
ADD AX£¬BX £»X2+Y2£¬½á¹û±£´æµ½AX DIV Z £»¼ÆË㣨X2£«Y2£©/Z
MOV RESULT£¬AL £»×îºó½á¹ûËÍRESULTµ¥Ôª MOV AH£¬4CH £»·µ»ØDOS INT 21H
CODE ENDS £»´úÂë¶Î½áÊø
END START £»»ã±à½áÊø
2£®¼ÆËãS=£¨A+B£©/2 ¨C 2£¨A AND B£©¡£
DATA SEGMENT A DB 12 B DB 51 S DB £¿ DATA ENDS
CODE SEGMENT ASSUME CS£ºCODE£¬DS£ºDATA START£º MOV AX£¬DATA MOV DS£¬AX MOV AL£¬A ADD AL£¬B SHR AL£¬1
MOV AH£¬A MOV BL£¬B AND AH£¬BL MOV BL£¬AH SHL BL£¬1 SUB AL£¬BL MOV S£¬AL MOV AH£¬4CH INT 21H CODE ENDS END START 3. ²Î¿¼P86 Àý4.3 4£®
DATA SEGMENT X DW 34 S DW £¿ DATA ENDS
CODE SEGMENT ASSUME CS£ºCODE£¬DS£ºDATA START£ºMOV AX£¬DATA MOV DS£¬AX MOV AX£¬X CMP AX£¬0 JL DOUB CMP AX£¬10 JLE TRIB SAL AX£¬1 SAL AX£¬1 JMP EXIT DOUB£º SAL£¬AX£¬1 JMP EXIT TRIB£º SAL AX£¬1 ADD AX£¬X EXIT£º MOV S£¬AX MOV AH£¬4CH INT 21H CODE ENDS END START
5£®Í³¼Æ·ÇÊý×Ö×Ö·ûµÄ¸öÊý
DATA SEGMENT BUF DB 20H DUP £¨£¿£© CNT DB £¿ DATA ENDS
CODE SEGMENT ASSUME CS£ºCODE£¬DS£ºDATA START£º MOV AX£¬DATA MOV DS£¬AX LEA SI£¬BUF MOV DL£¬0 NEXT1£º MOV AH£¬01H INT 21H MOV [SI]£¬AL INC SI CMP AL£¬0DH JZ EXIT CMP AL£¬30H JGE NEXT INC DL JMP NEXT1 NEXT£º CMP AL£¬39H JBE NEXT1 INC DL JMP NEXT1 EXIT£º MOV CNT£¬DL MOV AH£¬4CH INT 21H CODE ENDS END START
6¡¢½«¼üÅÌÁ¬ÐøÊäÈëµÄСд×Öĸת»»³É´óд×Öĸ
CODE SEGMENT ASSUME CS:CODE START: MOV AH,01H INT 21H MOV BL,AL MOV DL,¡¯-¡® MOV AH,02H INT 21H MOV AL,BL CMP AL,¡¯a¡¯ JB EXIT CMP AL,¡¯z¡¯ JA EXIT SUB AL,20H MOV DL,AL MOV AH,02H INT 21H MOV DL,0AH
MOV AH,02H INT 21H MOV DL,0DH MOV AH,02H INT 21H JMP START EXIT: MOV AH,4CH INT 21H CODE ENDS END START 7£® ͳ¼Æ¸ºÊýµÄ¸öÊý
DATA SEGMENT BUF DB 45£¬50£¬-34£¬40£¬4£¬15£¬29£¬-1£¬-2£¬-59
CN EQU $-buf A DB ? B DB ? DATA ENDS
CODE SEGMENT ASSUME CS£ºCODE£¬DS£ºDATA START£º MOV AX£¬DATA MOV DS£¬AX LEA SI, BUF MOV CX, CN MOV BX, 0 LP: MOV AL, [SI] INC SI TEST AL, 80H JZ NEXT INC BH JMP EXIT NEXT: INC BL EXIT: LOOP LP MOV A, BL MOV B, BH MOV AH£¬4CH INT 21H CODE ENDS END START
8¡¢ºê¶¨Ò壬½«16½øÖÆÊýת»»³ÉASCIIÂë
HEXTOA MACRO AND AL,0FH COM AL,9 JNA HEXTOA1 ADD AL,07H
Ïà¹ØÍÆ¼ö£º