done:
mov al,bl rol al,4
call htoasc ; µ÷ÓÃ×Ó³ÌÐò call dispc ; ÏÔʾһ¸ö×Ö·û mov al,bl
call htoasc ; µ÷ÓÃ×Ó³ÌÐò call dispc ; ÏÔʾһ¸ö×Ö·û call dispcrlf jmp again
¡²Ï°Ìâ4.22¡³±àдһ¸ö×Ó³ÌÐò£¬ËüÒÔ¶þ½øÖÆÐÎʽÏÔʾEAXÖÐ32λÊý¾Ý£¬²¢Éè¼ÆÒ»¸öÖ÷³ÌÐòÑéÖ¤¡£
¡²½â´ð¡³ ; ´úÂë¶Î£¬Ö÷³ÌÐò mov eax,8F98FF00H call dispbd ; µ÷ÓÃ×Ó³ÌÐò ; ´úÂë¶Î£¬×Ó³ÌÐò dispbd proc ; 32λ¶þ½øÖÆÊýµÄÊä³ö push ecx push edx mov ecx,32 ; ÒªÊä³öµÄ×Ö·û¸öÊý dbd: rol eax,1 ; ALÑ»·×óÒÆÒ»Î» push eax and al,01h ; È¡AL×îµÍλ add al,30h ; ת»¯³ÉÏàÓ¦µÄASCLLÂëÖµ call dispc ; ÒÔ¶þ½øÖƵÄÐÎʽÏÔʾ pop eax loop dbd pop edx pop ecx ret dispbd endp
¡²Ï°Ìâ4.26¡³
±àÖÆ3¸ö×Ó³ÌÐò°ÑÒ»¸ö32λ¶þ½øÖÆÊýÓÃ8λʮÁù½øÖÆÐÎʽÔÚÆÁÄ»ÉÏÏÔʾ³öÀ´£¬·Ö±ðÔËÓÃÈçÏÂ3ÖÖ²ÎÊý´«µÝ·½·¨£¬²¢ÅäºÏ3¸öÖ÷³ÌÐòÑéÖ¤Ëü¡£
£¨1£©²ÉÓÃEAX¼Ä´æÆ÷´«µÝÕâ¸ö32λ¶þ½øÖÆÊý £¨2£©²ÉÓÃtemp±äÁ¿´«µÝÕâ¸ö32λ¶þ½øÖÆÊý £¨3£©²ÉÓöÑÕ»·½·¨´«µÝÕâ¸ö32λ¶þ½øÖÆÊý ¡²½â´ð¡³
£¨1£© ; Êý¾Ý¶Î
wvar word 307281AFH ; ´úÂë¶Î£¬Ö÷³ÌÐò mov eax,wvar call disp mov al,'H' call dispc ; ´úÂë¶Î£¬×Ó³ÌÐò disp proc push ebx push ecx mov ecx,8 ; 8λ dhw1: rol eax,4 mov ebx,eax and al,0fh ; ת»»ÎªASCIIÂë add al,30h cmp al,'9' jbe dhw2 add al,7 dhw2: call dispc mov eax,ebx loop dhw1 pop ecx pop ebx ret disp endp
£¨2£© ; Êý¾Ý¶Î
wvar word 307281AFH temp word ? ; ´úÂë¶Î£¬Ö÷³ÌÐò mov eax,wvar mov temp,eax
call disp mov al,'H' call dispc ; ´úÂë¶Î£¬×Ó³ÌÐò disp proc push ebx push ecx mov ecx,8 ; 8λ mov eax,temp dhw1: rol eax,4 mov ebx,eax and al,0fh ; ת»»ÎªASCIIÂë add al,30h cmp al,'9' jbe dhw2 add al,7
dhw2: call dispc ; ÏÔʾһ¸ö×Ö·û mov eax,ebx loop dhw1 pop ecx pop ebx ret disp endp
£¨3£© ; Êý¾Ý¶Î
wvar word 307281AFH ; ´úÂë¶Î£¬Ö÷³ÌÐò push wvar call disp add esp,4 mov al,'H' call dispc ; ´úÂë¶Î£¬×Ó³ÌÐò disp proc push ebp mov ebp,esp push ebx push ecx mov ecx,8 ; 8λ
dhw1:
dhw2:
disp
mov eax,[ebp+8] rol eax,4 mov ebx,eax and al,0fh ; ת»»ÎªASCIIÂë add al,30h cmp al,'9' jbe dhw2 add al,7 call dispc mov eax,ebx loop dhw1 pop ecx pop ebx pop ebp ret endp
¡²Ï°Ìâ4.28¡³Éè¼ÆÒ»¸ö¼òµ¥µÄÁ½¸öÕûÊýµÄ¼Ó·¨Æ÷³ÌÐò¡£
¡²½â´ð¡³ ;ex0428.asm include io32.inc .data
msg1 byte 'Enter the integers:',13,10,0
msg2 byte 13,10,'Enter space to continue! Enter any other key to exit!',13,10,0 .code start: mov eax,offset msg1 call dispmsg call readsid mov ebx,eax mov al,'+' call dispc call dispcrlf call readsid add ebx,eax