INT 21H CODE ENDS
END START £¨1£©³ÌÐòÍê³Éʲô¹¦ÄÜ£¿
£¨2£©³ÌÐòÖÐNEG BLÖ¸ÁîµÄ×÷ÓÃÊÇʲô£¿
£¨3£©³ÌÐòÖ´ÐнáÊøºóRESULT×Öµ¥ÔªµÄÄÚÈÝÊÇʲô£¿
£¨4£©ÄÜ·ñÓÃMOV SI£¬OFFSET ABC´úÌæ³ÌÐòÖÐLEA SI£¬ABCÖ¸Á £¨5£©»ã±à½áÊøºó·ûºÅCOUNTµÄÖµÊÇʲô£¿
½â:£¨1£©³ÌÐòÍê³ÉÇóÒ»×éÓзûºÅ×Ö½ÚÊýµÄ¾ø¶ÔÖµÖ®ºÍ¡£ £¨2£©³ÌÐòÖÐNEG BLÖ¸ÁîµÄ×÷ÓÃÊÇÇó¸ºÊýµÄ¾ø¶ÔÖµ¡£ £¨3£©³ÌÐòÖ´ÐнáÊøºóRESULT×Öµ¥ÔªµÄÄÚÈÝÊÇ0120H¡£ £¨4£©ÄÜ¡£
£¨5£©»ã±à½áÊøºó·ûºÅCOUNTµÄÖµÊÇ06H¡£
6£®ÔĶÁÒÔϳÌÐò£¬»Ø´ðÎÊÌâ DSEG SEGMENT
ARRAY DB 34H,56H,23H,70H,96H COUNT EQU $-ARRAY
DSEG ENDS
SSEG SEGMENT PARA STACK ¡®STACK¡¯
DB 256 DUP£¨0£©
SSEG ENDS CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG,SS:SSEG
START:MOV AX,DSEG
MOV DS,AX
MOV SI,OFFSET ARRAY MOV CX,COUNT CLD
NEXT: LODSB
MOV BL,AL AND AL,0F0H PUSH CX MOV CL,4 SHR AL,CL
OR AL,30H CALL DISP MOV AL,BL AND AL,0FH OR AL,30H CALL DISP DEC CX JCXZ DONE
MOV AL,2CH £»¶ººÅµÄASCIIÂëΪ2CH
CALL DISP JMP NEXT
DONE:MOV AH,4CH £»ÖÕÖ¹µ±Ç°½ø³Ì£¬·µ»Øµ÷Óýø³Ì
INT 21H
DISP PROC NEAR
MOV AH,14 £»Ð´×Ö·ûµ½µ±Ç°¹â±êλÖ㬹â±êǰ½øÒ»¸ñ INT 10H RET
DISP ENDP
CSEG ENDS END START
£¨1£©³ÌÐòÖ´ÐнáÊøºó£¬ÆÁÄ»ÉÏÏÔʾµÄÄÚÈÝÊÇʲô£¿
£¨2£©³ÌÐòÖдøÏ»®ÏßµÄÖ¸Áî¿ÉÒÔÓÃʲôָÁîÌæ´ú£¨½öÒ»Ìõ£©£¿
£¨3£©³ÌÐòÖпոñ´¦Ó¦ÌîÈëʲôָÁ²ÅÄܱ£Ö¤³ÌÐò°´ÒªÇóÕý³£Ö´ÐУ¿ ½â:£¨1£©³ÌÐòÖ´ÐнáÊøºó£¬ÆÁÄ»ÉÏÏÔʾµÄÄÚÈÝÊÇ34£¬56£¬23£¬70£¬96¡£ £¨2£©³ÌÐòÖдøÏ»®ÏßµÄÖ¸Áî¿ÉÒÔÓÃLEA SI£¬ARRAYÖ¸ÁîÌæ´ú¡£
£¨3£©³ÌÐòÖпոñ´¦Ó¦ÌîÈëPOP CXÖ¸Á²ÅÄܱ£Ö¤³ÌÐò°´ÒªÇóÕý³£Ö´ÐС£
7£®AX¼Ä´æÆ÷ÖдæÓÐ4λѹËõBCDÂ룬ÊÔ±àд³ÌÐò½«Õâ4λÊý×Ö·Ö¿ª£¬²¢·Ö±ð´æÈëBH¡¢BL¡¢CHºÍCL¼Ä´æÆ÷ÖС£
½â: ²Î¿¼³ÌÐò¶ÎÈçÏÂ:
??
MOV DX,AX MOV CL,04H ROL AX,CL AND DX,0F0FH MOV BL,DH MOV CL,DL AND AX,0F0FH MOV BH,AL MOV CH,AH
??
?X/8,(0?X?20)8£®ÒÑÖªX¡¢YÊÇ×Ö½ÚÐ͵ÄÎÞ·ûºÅÕûÊý£¬±àд³ÌÐò¼ÆËãY??¡£
X?15,(20?X?30)?½â:²Î¿¼³ÌÐòÈçÏÂ:
DATA SEGMENT
X DB ? £»ÔËÐгÌÐòʱȡX·Ö±ðλÓÚÁ½¸ö·ÖÖ§ Y DB ? DATA ENDS
CODE SEGMENT
ASSUME CS:CODE£¬DS:DATA
START:MOV AX£¬DATA
MOV DS£¬AX MOV AL£¬X
CMP AL£¬20 JNC NEXT
MOV CL£¬03H SHR AL£¬CL JMP NEXT1
NEXT:SUB AL£¬15 NEXT1:MOV Y£¬AL
MOV AH£¬4CH
INT 21H
CODE ENDS END START
9£®±àд³ÌÐò£¬Í³¼Æ¼Ä´æÆ÷BXÖжþ½øÖÆÎ»¡°1¡±µÄ¸öÊý£¬½á¹û´æÔÚALÖС£ ½â:²Î¿¼³ÌÐòÈçÏÂ: CODE SEGMENT
ASSUME CS:CODE
START: MOV AL£¬00H MOV DX£¬BX MOV CX£¬16 AA: CMP DX£¬0 JZ NEXT SHL DX£¬1
JNC NEXT1 INC AL NEXT1: LOOP AA
NEXT: MOV AH£¬4CH
INT 21H CODE ENDS END START
10£®±àд³ÌÐò¶Î½«¼ÆËã»úÈÕÆÚÉèÖÃΪ2009Äê10ÔÂ1ÈÕ¡£ ½â:²Î¿¼³ÌÐò¶ÎÈçÏÂ:
MOV CX£¬2009H ;ÉèÖÃÄê MOV DH£¬10H ;ÉèÖÃÔ MOV DL£¬01H ;ÉèÖÃÈÕ MOV AH£¬2BH INT 21H HLT
11£®±àд³ÌÐòʵÏÖ½ÓÊÕÒ»¸ö×Ö·ûµÄÊäÈ룬²¢ÔÚÆÁÄ»ÉÏÓöþ½øÖÆÐÎʽ£¨0/1£©ÏÔʾ³öËüµÄASCIIÂëÖµ¡£
½â:²Î¿¼³ÌÐòÈçÏÂ: CODE SEGMENT
ASSUME CS:CODE£¬DS:DATA START: MOV AH£¬01H ;¼üÅÌÊäÈë
INT 21H MOV BL£¬AL
MOV CX£¬0007H
SHL BL,1 AA:SHL BL£¬1
JC NEXT1 MOV DL£¬¡¯0¡¯ JMP NEXT
NEXT1:MOV DL£¬¡¯1¡¯
NEXT: MOV AH£¬02H ;ÏÔʾÊä³ö7λASCIIÂëÖµ
INT 21H
LOOP AA MOV AH£¬4CH
INT 21H CODE ENDS
END START
12£®ÉèÊý¾Ý¿é´æ·ÅÔÚBUFFER¿ªÊ¼µÄ50¸ö×Ö½Úµ¥ÔªÖУ¬ÊÔ±àд³ÌÐòͳ¼ÆÊý¾Ý¿éÖÐÕýÊý£¨²»°üÀ¨0£©µÄ¸öÊý£¬²¢½«Í³¼ÆµÄ½á¹û´æ·Åµ½NUMBERµ¥ÔªÖС£
½â:²Î¿¼³ÌÐòÈçÏÂ: DATA SEGMENT
BUFFER DB 23H,00H,56H,89H,09H,30H DB 98H,11H,07H,? COUNT EQU $-BUFFER NUMBER DB 00H DATA ENDS
CODE SEGMENT
ASSUME CS:CODE£¬DS:DATA
START:MOV AX,DATA
MOV DS,AX MOV CX,COUNT LEA SI,BUFFER AA:MOV AL,[SI] CMP AL,00H JZ NEXT JS NEXT
INC NUMBER NEXT:INC SI
LOOP AA
MOV AH£¬4CH INT 21H CODE ENDS END START
13£®ÄÚ´æµÄÒ»¸öÇøÓòÖÐÓÐ100¸ö×Ö·ûÊÇÓÃСд×Öĸ±íʾµÄ£¬ÊÔ±àдһ¸ö³ÌÐò£¬°ÑËüÃÇת»»³É´óд×Öĸ£¬²¢ËÍÆÁÄ»ÏÔʾ¡£ ½â:²Î¿¼³ÌÐòÈçÏÂ:
DATA SEGMENT