ºÏ·Ê¹¤Òµ´óѧ»ã±àÓïÑÔʵÑ鱨¸æ

µÚ3Ìâ½ØÍ¼

Îå. ʵÑéÌå»á

ÔÚÕâÒ»´ÎµÄʵÑéÖÐÓõ½CBWºÍCWDÃüÁîÀ´À©Õ¹·ûºÅ룬½â¾ö´¦ÀíÊý¾ÝµÄʱºòÊý¾ÝÀàÐͲ»Æ¥ÅäµÄÎÊÌ⡣ͬʱҲѧµ½ÁË´Ó¼üÅÌÉ϶ÁÈ¡×Ö·ûÒÔ¼°´òÓ¡×Ö·ûµÄ·½·¨¡£

ʵÑéÈý »ã±àÓïÑÔ×Ó³ÌÐòÉè¼Æ(·ÖÖ§¡¢×Ó³ÌÐò)

Ò». ʵÑéÄ¿µÄ

1¡¢ÕÆÎÕ·ÖÖ§ºÍ×Ó³ÌÐò½á¹¹ºÍÉè¼Æ·½·¨£»

2¡¢ÊìϤÔÚPC»úÉϽ¨Á¢¡¢»ã±à¡¢Á¬½Ó¡¢µ÷ÊÔºÍÔËÐÐ8086/8088»ã±àÓïÑÔ³ÌÐòµÄ¹ý³Ì¡£ 3¡¢Í¨¹ý»ã±àÓïÑÔÁ˽â¸ß¼¶ÓïÑԵIJÎÊý´«µÝµÈ֪ʶ¡£

¶þ. ʵÑéÄÚÈÝ

1¡¢1. BLÖеÄÖ»ÓÐһλΪ1¡£±àд³ÌÐò²âÊÔ£¬²¢Êä³öÌáʾÐÅÏ¢¡°The X Bit is 1¡±£¬ÒªÇ󣺵ØÖ·±íºÍ×ªÒÆ±í¡£

2. ±àдһ¸ö×Ó³ÌÐò¼ÆËãz=f(x,y)=x*y+x-y£¨x,y,zÓзûºÅÊýÄÚ´æÊý£©¡£ÒªÇóͨ¹ý¶ÑÕ»(¼Ä´æÆ÷¡¢ÄÚ´æ)´«ËÍËùÓвÎÊý¡£ 3. ʵ¼ùC?AsmµÄת»»¹ý³Ì¡£

Èý. ʵÑé¹ý³ÌºÍ³ÌÐò ³ÌÐò 1.

Data segment

S1 DB 'The 1 Bit is 1$' S2 DB 'The 2 Bit is 1$' S3 DB 'The 3 Bit is 1$' S4 DB 'The 4 Bit is 1$' S5 DB 'The 5 Bit is 1$' S6 DB 'The 6 Bit is 1$' S7 DB 'The 7 Bit is 1$' S8 DB 'The 8 Bit is 1$' Data ends code segment

assume cs:code, ds:data start:

mov ax,data mov ds,ax mov dx,0

;-------ÊäÈëBL-------- MOV BL, 00001000B MOV AL,BL

;------Ñ­»·¿ªÊ¼-------- MOV CX, 8 GOGO: SHL AL,1

;-------Ìø×ª------------- JC EXIT add dx,3 LOOP GOGO

;************************ EXIT:

MOV AH,9 LEA SI,JMPTABLE ADD SI,DX JMP SI JMPTABLE:

JMP NEAR PTR L1 JMP NEAR PTR L2 JMP NEAR PTR L3 JMP NEAR PTR L4 JMP NEAR PTR L5 JMP NEAR PTR L6 JMP NEAR PTR L7 JMP NEAR PTR L8 L1:

LEA DX,S1 JMP DONE L2:

LEA DX,S2 JMP DONE L3:

LEA DX,S3 JMP DONE L4:

LEA DX,S4 JMP DONE L5:

LEA DX,S5 JMP DONE L6:

LEA DX,S6 JMP DONE L7:

LEA DX,S7 JMP DONE L8:

LEA DX,S8 DONE: INT 21H mov ah, 4ch int 21h code ends

end start 2.

;¶ÑÕ»´«µÝ Stack segment dw 512 dup(?) Stack ends Data segment

x dw 4 y dw 4 z dw ?

Data ends Code segment

assume cs:code, ds:data, ss:stack mov ax,data mov ds,ax

sub sp,2 mov ax,x push ax start:

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)