cwd idiv cx mov ah,4ch int 21h code ends end start
ʵÑéÄÚÈÝÈý£º´Ó¼üÅ̶ÁÈëÒ»¸ö×Ö·û´®£¬ÒÔEnter½áÊø£¬×Ö·û´®²»³¬¹ý50¸ö×Ö·û£¬²¢´òÓ¡¸Ã×Ö·û´® data segment buffer db 50 db ? db 50 dup('$') cr db 0ah,0dh,\data ends
codes segment
assume cs:codes,ds:data start:
mov ax,data mov ds,ax
input: mov ah,10 lea dx,buffer int 21h lea dx,cr mov ah,9 int 21h output:
lea dx,buffer+2 mov ah,9 int 21h mov ah,4ch int 21h codes ends
end start
ËÄ. ʵÑé½á¹û£¨°üÀ¨±ØÒªµÄ½ØÍ¼£©
ʵÑéÄÚÈÝÒ»£º
Éèx=156£¬y=10£¬z=220£¬v=2000£¬Ôòsum1=0006h£¬sum2=0004h ÔÚaxÖп´sum1£¬ÔÚdxÖп´sum2
ʵÑéÄÚÈݶþ£º
Ô¤ÏÈÉèÖõÄÊý¾ÝÇóµÃƽ¾ùÊýΪ76£¬ÔÚaxÖв鿴£¬¼´ax=004Ch
ʵÑéÄÚÈÝÈý£º
Îå. ʵÑéÌå»á
ͨ¹ý±¾ÊµÑ飬½«¿Î±¾ÉÏѧµ½µÄËãÊõÔËËãÀàÖ¸Áî¡¢±äÁ¿¶¨ÒåαָÁî¡¢´æ´¢µ¥Ôª¡¢DOS 0AHºÅ¹¦ÄÜ£¨×Ö·û´®ÊäÈ룩ºÍDOS 09H¹¦ÄÜ£¨×Ö·û´®Êä³ö£©µÈÔÚʵÑéÖÐʵÏÖ¡£ÔÚʵÏÖ¹ý³ÌÖУ¬½â¾öÓöµ½µÄÎÊÌ⣨·ûºÅÀ©Õ¹¡¢¶¨ÒåµÄÊý×é´æ´¢¿Õ¼äµØÖ·¡¢×Ö·û´®ÈçºÎÊäÈëÊä³öµÈ£©ºó£¬¶ÔÉÏÊö֪ʶÓÐÁ˸üÉîµÄÁ˽⣬²¢ÕÆÎÕʵÏÖËü¡£
ʵÑéÈý »ã±àÓïÑÔ×Ó³ÌÐòÉè¼Æ(·ÖÖ§¡¢×Ó³ÌÐò)
Ò». ʵÑéÄ¿µÄ
1¡¢ÕÆÎÕ·ÖÖ§ºÍ×Ó³ÌÐò½á¹¹ºÍÉè¼Æ·½·¨£»
2¡¢ÊìϤÔÚPC»úÉϽ¨Á¢¡¢»ã±à¡¢Á¬½Ó¡¢µ÷ÊÔºÍÔËÐÐ8086/8088»ã±àÓïÑÔ³ÌÐòµÄ¹ý³Ì¡£ 3¡¢Í¨¹ý»ã±àÓïÑÔÁ˽â¸ß¼¶ÓïÑԵIJÎÊý´«µÝµÈ֪ʶ¡£
¶þ. ʵÑéÄÚÈÝ
1¡¢BLÖеÄÖ»ÓÐһλΪ1¡£±àд³ÌÐò²âÊÔ£¬²¢Êä³öÌáʾÐÅÏ¢¡°The X Bit is 1¡±£¬ÒªÇ󣺵ØÖ·±íºÍ×ªÒÆ±í¡£
2. ±àдһ¸ö×Ó³ÌÐò¼ÆËãz=f(x,y)=x*y+x-y£¨x,y,zÓзûºÅÊýÄÚ´æÊý£©¡£ÒªÇóͨ¹ý¶ÑÕ»(¼Ä´æÆ÷¡¢ÄÚ´æ)´«ËÍËùÓвÎÊý¡£ 3. ʵ¼ùC?AsmµÄת»»¹ý³Ì¡£ Èý. ʵÑé¹ý³ÌºÍ³ÌÐò
ʵÑéÄÚÈÝÒ»£ºBLÖеÄÖ»ÓÐһλΪ1¡£±àд³ÌÐò²âÊÔ£¬²¢Êä³öÌáʾÐÅÏ¢¡°The X Bit is 1¡± £¨1£©×ªÒƱí
;×ªÒÆ±í,bl ×óµ½ÓÒ1-8λ DATAS SEGMENT
str1 db 'the 1 bit is 1',0dh,0ah,'$' str2 db 'the 2 bit is 1',0dh,0ah,'$' str3 db 'the 3 bit is 1',0dh,0ah,'$' str4 db 'the 4 bit is 1',0dh,0ah,'$' str5 db 'the 5 bit is 1',0dh,0ah,'$' str6 db 'the 6 bit is 1',0dh,0ah,'$' str7 db 'the 7 bit is 1',0dh,0ah,'$' str8 db 'the 8 bit is 1',0dh,0ah,'$' DATAS ENDS CODES SEGMENT
ASSUME CS:CODES,DS:DATAS START:
MOV AX,DATAS MOV DS,AX mov bl,00010000b mov cx,8 mov si,0