·¶ÎÄ·¶Àý ѧϰָµ¼
5. ÏÂÁгÌÐò¶ÎÖ´Ðкó AX=? ÉèÊý¾Ý¶ÎÓÐ: TABLE DW 100,200,300,400 ENTRY DW 3 ´úÂë¶Î ¶ÔDS³õʼ»¯ MOV BX,OFFSET TABLE MOV SI,ENTRY MOV AX,[BX+SI] Ö´Ðкó AX=2C00
6. ½«ALÖеÄ8λ¶þ½øÖÆÊý°´µ¹Ðò·½Ê½ÖØÐÂÅÅÁУ¬¼´ALÔÀ´ÎªD7D6¡D0£¬µ¹ÐòºóAL=D0D1¡D7¡£
²Î¿¼´ð°¸ ¡
MOV CX, 8
L: SHL AL, 1 RCR BL, 1 LOOP L MOV AL, BL ¡
7.ÈôÆðʼµØÖ·Æ«ÒÆÁ¿Îª2000HµÄÄÚ´æµ¥Ôª´æ·ÅÓÐ100¸öASCIIÂë×Ö·û£¬ÏÖ¸øÕâЩ×Ö·ûÌí¼ÓÆæÅ¼Ð£Ñéλ(bit7)£¬Ê¹Ã¿¸ö×Ö·ûÖС°1¡±µÄ¸öÊýΪżÊý£¬ÔÚ˳ÐòÊä³öµ½µØÖ·Îª100HµÄ¶Ë¿Ú¡£
½â´ð MOV SI, 2000H MOV CX, 100 MOV DX, 100H NEXT2: MOV AL, [SI] ;È¡×Ö·û´®ÖÐ×Ö·ûËÍAL AND AL, 0FFH ;¸Ä±ä±ê־λ JPE NEXT1 ;¡°1¡±µÄ¸öÊýΪż,bit7²»±ä OR AL, 80H ;¡°1¡±µÄ¸öÊýÎªÆæ,bit7±äΪ1 NEXT1: OUT DX, AL INC SI LOOP NEXT2 MOV AH, 4CH INT 21H
8. ÈôSS=1000H£¬SP=2000H£¬AX=1234H£¬BX=5678H£¬FR=2115£¬ÊÔ˵Ã÷Ö´ÐÐÖ¸Áî PUSH AX PUSH BX PUSHF POP CX POP DX
wordÍêÃÀÕûÀí°æ
.
Ö®ºó£¬SP=? SS=? CX=? DX=? ²¢»Í¼Ö¸³ö¶ÑÕ»Öи÷µ¥ÔªµÄÄÚÈÝ¡£
½â´ð: SS=1000H
SP=1FFEH CX=2115H DX=5678H Õ»Öи÷µ¥ÔªÄÚÈÝÈçÏÂËùʾ:
µØÖ· RAM 11FFAH 2115 11FFCH 5678 11FFEH 1234 12000H
µÚ4Õ ºê»ã±àÓïÑÔ
ϰÌâÓë˼¿¼Ìâ
1.»³öÒÔϱäÁ¿ÔÚÄÚ´æÖд洢µÄʾÒâͼ¡£ D1 DB ¡®A¡¯,¡¯123¡¯,09H, 45 D2 DW ¡®A¡¯,¡¯CD¡¯,23H, 4567H D3 DD 1234H, 23456789H
2.Éè¼Æ×Ó³ÌÐò·Ö±ðÍê³ÉÒÔϹ¦ÄÜ£º
1£©¸ù¾Ý¸ø¶¨µÄ²ÎÊýÖµ£¬ÅжϸòÎÊýÊÇżÊý»¹ÊÇÆæÊý¡£ 2£©°Ñ¸ø¶¨²ÎÊýÖµµÄ¸ß¡¢µÍÊý¾Ý뻥»»¡£
3.Éè¼ÆÏàÓ¦µÄºêÍê³ÉÒÔϹ¦ÄÜ£º 1£©°Ñ¸ø¶¨µÄ²ÎÊý°´¶þ½øÖÆÏÔʾ¡£
2£©ÇóÁ½¸ö²ÎÊýµÄºÍ£¬²¢°´Ê®½øÖÆÐÎʽÏÔʾ¡£
.
·¶ÎÄ·¶Àý ѧϰָµ¼
µÚ5Õ »ã±àÓïÑÔ³ÌÐòÉè¼Æ
ϰÌâÓë˼¿¼Ìâ
1. ÉèÊý¾Ý¶ÎÖÐÓÐ×Ö½ÚÐ͵¥ÔªNUMBERºÍFLAG£¬ÅжÏNUMBERÓë¸ø¶¨µÄXºÍYµÄ´óС¹ØÏµ(X ½â´ð£º.486 Data segment NUMBER db ? FLAG db ? Data ends Code segment Assume cs: Code, ds: Data Beg: mov ax,data Mov ds,ax mov al, X Mov bl, Y Cmp NUMBER, X Jnc P1 Mov FLAG, 0FFH Jmp exit P1: cmp NUMBER, Y Ja P2 Mov FLAG, 00H Jmp exit P2: mov FLAG, 01H Exit: mov ah, 4ch Int 21h Code ends End Beg 2. ¼ÆËã1£«2£«3£«¡£«100£¬²¢°ÑºÍ±£´æÔÚSUMµ¥ÔªÖС£ .486 DATA SEGMENT USE16 TT DB 1 SUM DW ? DATA ENDS CODE SEGMENT USE16 wordÍêÃÀÕûÀí°æ . ASSUME CS:CODE,DS:DATA BEG: MOV AX , DATA MOV DS, AX MOV CX, 100 MOV AX, 0 START: ADD AX, TT INC TT LOOP START MOV SUM, AX MOV AH, 4CH MOV 21H CODE ENDS END BEG 3. ¶ÔÒ»¸ö¸ø¶¨µÄNÊý¾Ý£¬ÓÃðÅÝÅÅÐò·¨½øÐÐÅÅÐò¡£ ½â´ð£º.486 Data segment Buf db ¡®abcd18437hj¡¯ Lens equ $-buf Count db lens Flag db ? Data ends Code segment Assume cs: code, ds: data Beg: mov ax, data Mov ds, ax Again: dec count Jz done Mov flag, 0 Mov cx, count Mov si, offset buf Last: mov al, [si] Mov ah, [si+1] Cmp ah, al Jnc next Mov [si], ah Mv [si+1], al Mov flag, 1 Next: inc si .