µÚÒ»·¶ÎÄÍø - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

»ã±àϰÌâ²Î¿¼´ð°¸

À´Ô´£ºÓû§·ÖÏí ʱ¼ä£º2025/5/30 8:12:26 ±¾ÎÄÓÉloading ·ÖÏí ÏÂÔØÕâÆªÎĵµÊÖ»ú°æ
˵Ã÷£ºÎÄÕÂÄÚÈݽö¹©Ô¤ÀÀ£¬²¿·ÖÄÚÈÝ¿ÉÄܲ»È«£¬ÐèÒªÍêÕûÎĵµ»òÕßÐèÒª¸´ÖÆÄÚÈÝ£¬ÇëÏÂÔØwordºóʹÓá£ÏÂÔØwordÓÐÎÊÌâÇëÌí¼Ó΢ÐźÅ:xxxxxxx»òQQ£ºxxxxxx ´¦Àí£¨¾¡¿ÉÄܸøÄúÌṩÍêÕûÎĵµ£©£¬¸ÐлÄúµÄÖ§³ÖÓëÁ½⡣

ORG 100H DA3 DW DA4

DA4 DB 4 DUP(2 DUP(1,2,3),4)

MOV AL£¬ARRAY+2 £¨AL£©=£¨ £©H ADD AL£¬DA2+1 £¨AL£©=£¨ £©H MOV AX£¬DA2-DA1 £¨AX£©=£¨ £©H MOV BL£¬LEN £¨BL£©=£¨ £©H MOV AX, DA3 £¨AX£©=£¨ £©H MOV BX, TYPE DA4 £¨BX£©=£¨ £©H MOV BX, OFFSET DA4 £¨BX£©=£¨ £©H MOV CX, SIZE DA4 £¨CX£©=£¨ £©H MOV DX, LENGTH DA4 £¨DX£©=£¨ £©H MOV BX, WORD PTR DA4 £¨BX£©=£¨ £©H MOV BL, LEN AND 0FH £¨BL£©=£¨ £©H MOV BL, LEN GT 5 £¨BL£©=£¨ £©H MOV AX, LEN MOD 5 £¨AX£©=£¨ £©H

4.3 ±äÁ¿ºÍ±êºÅÓÐÄÄÐ©Çø±ð£¿±äÁ¿ºÍ±êºÅÓÐÄÄЩÊôÐÔ£¿ÈçºÎ»ñÈ¡ÊôÐÔÖµ£¿Ð´

³öÖ¸Áî¡£

±äÁ¿ÊÇΪָÁîÌṩµÄ²Ù×÷Êý£¬±êºÅÊÇΪָÁîÌṩ±êʶ£¬¶¼ÊÇΪÁËÔÚÖ¸ÁîÖÐÒýÓá£ËüÃÇ×îÖ÷ÒªµÄÊôÐÔÓУºÆ«ÒÆÊôÐÔ£¬¶ÎÊôÐÔ£¬ÀàÐÍÊôÐÔ¡£ÀýÈ磺 MOV BX£¬ OFFSET VAL £»È¡Æ«ÒÆÊôÐÔ MOV BX£¬ SEG VAL £»È¡¶ÎÊôÐÔ MOV BX£¬ TYPE VAL £»È¡ÀàÐÍÊôÐÔ

4.4 Ö¸ÁîºÍαָÁîµÄÇø±ðÔÚÄÄÀαָÁî¿ÉÒÔ³öÏÖÔÚ´úÂë¶ÎÂð£¿Ö¸Áî¿ÉÒÔÔÚÊý¾Ý¶ÎÂð£¿

Ö¸ÁîÖ»ÄܳöÏÖÔÚ´úÂë¶Î£¬¶¨ÒåÊý¾ÝµÄαָÁîͨ³£ÔÚÊý¾Ý¶Î¡£Î±Ö¸Áî²»»áÉú³ÉÖ¸Áî¡£

4.5 ÏÂÃæµÄ³ÌÐòÊÇ·ñÓÐ´í£¿ÄÜ·ñͨ¹ý»ã±à£¿³ÌÐòÔËÐеĽá¹ûÈçºÎ£¿³ÌÐòµÄÕæÕýÒâͼÊÇʲô£¿Ó¦ÈçºÎÐ޸ijÌÐò²ÅÄÜʵÏÖÕæÕýÒâͼ£¿

´ð£ºÍ¨¹ý»ã±àºÍÁ¬½Ó¿ÉÒÔÔËÐУ¬µ«³ÌÐòÕæÕýÒâͼÊÇÊä³öASCIIÂëΪ30H~39HµÄ×Ö·û0~9£¬Ó¦×÷Ð޸ġ£

CODE SEGMENT

ASSUME CS:CODE

K=30H £»¸ÄΪ K DB 30H J DW 0 START: MOV DL, K MOV AH, 2 INT 21H

K=K+1 £»K=K+1ÊÇαָÁûÉú³É´úÂ룬¸ÄΪ INC K INC J

CMP J, 10 JNZ START

MOV AH, 4CH INT 21H CODE ENDS

END START

4.6 ÓÃ32λָÁî±àдÍêÕû³ÌÐò£¬²¢ÉÏ»úµ÷ÊÔ£¬¼ÆËãV=(X+Y)*R£¬ÆäÖÐËùÓбä

Á¿¾ùΪ64λ±äÁ¿£¬X¡¢Y¡¢RµÄ¾ßÌåÊýÖµÓÉÄã×Ô¼ºÈ·¶¨£¬±äÁ¿¶¨Òå¸ñʽÈçÏ£º

X DD ?,? Y DD ?,? R DD ?,? V DD ?,? data segment x dd 1 y dd 2 r dd 3 v dd ?,? data ends

code segment

assume cs:code,ds:data .386p start:

mov ax,data mov ds,ax mov eax,x add eax,y mov ebx,r imul ebx mov v,eax mov v+4,edx mov dl,al add dl,30h mov ah,2 int 21h mov ah,4ch int 21h code ends end start

ϰÌâ5

5.1 ÏÂÁгÌÐòÊÇÔÚ3¸öÊýÖÐÕÒ³ö×îСµÄÊý²¢·ÅÈëAL£¬ÔÚÀ¨ºÅÖÐÌîÈëÖ¸ÁîʹÆäÍêÕû¡£

mov al£¬x mov bl£¬y mov cl£¬z

cmp al£¬bl

( jl l1 )

xchg al£¬bl l1: cmp al, cl

jle l2

( xchg al,cl ) l2: ret

5.2 Êý¾Ý¶ÎÈçÏ£º

data segment

da1 db 1£¬2£¬¡®abcd¡¯ count = $-da1

da2 db 9 dup(?)

data ends

²¹³äÀ¨ºÅ´¦µÄÖ¸ÁʹµÃ³ÌÐò°ÑDA1Êý¾ÝÇøÊý¾ÝÒÆµ½DA2Êý¾ÝÇø¡£

mov ax£¬data

mov ds, ax

mov es£¬( AX ) mov cx£¬( COUNT )

mov si, ( OFFSET DA1 ) ( MOV DI, OFFSET DA2 ) ( REP MOVSB )

5.3 ÒÔϳÌÐò¶ÔÎÞ·ûºÅÊý×éARRAYµÄ6¸öÔªËØ´ÓСµ½´óÅÅÐò£¬²¹³äÀ¨ºÅ´¦µÄÖ¸Áî¡£

data segment

array dw 4£¬3£¬12£¬56£¬5£¬8 data ends code segment

assume cs:code,ds:data start: ( mov ax,data ) ( mov ds, data ) mov cx, 5 l1: mov di, cx mov bx, 0

l2: mov ax, array[bx] cmp ax, array[bx+2]

( jl l3 )

xchg ax, array[bx+2] mov array[bx], ax

l3: add bx, 2

( loop l2 )

mov cx, di loop l1

mov ah, 4ch int 21h

code segment

end start

5.4 ±àд³ÌÐò£¬ÊµÏÖ´Ó¼üÅÌÊäÈëµÄСд×ÖĸÓôóд×ÖĸÏÔʾ³öÀ´¡£¶ÔÊäÈëÐëºÏ·¨ÐÔ¼ì²é¡£

code segment

assume cs:code start: push ds sub ax,ax push ax mov ah,1 int 21h cmp al,61h jb exit cmp al,7ah ja exit

sub al,20h mov dl,al mov ah,2 int 21h

exit:ret code ends

end start

5.5 ±àд³ÌÐò£¬±È½ÏÁ½¸ö×Ö·û´®ÊÇ·ñÏàͬ£¬Èç¹ûÏàͬ£¬ÔòÏÔʾÁ½¸ö×Ö·û´®£¬Èç¹û

²»Í¬£¬ÔòÏÔʾ·¢ÏÖ²»Í¬µÄ×Ö·ûλÖᣠdatasg segment

mess1 db 13,10, 'input string1:$' mess2 db 13,10, 'input string2:$' mess3 db 13,10, 'match!$'

mess4 db 13,10, 'no match at $'

st1 label byte max1 db 6 act1 db ?

stok1 db 6 dup(?)

st2 label byte max2 db 6 act2 db ?

ËÑË÷¸ü¶à¹ØÓÚ£º »ã±àϰÌâ²Î¿¼´ð°¸ µÄÎĵµ
»ã±àϰÌâ²Î¿¼´ð°¸.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c4cf1t88oi479ew80p2r8_3.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©

Ïà¹ØÍÆ¼ö£º

ÈÈÃÅÍÆ¼ö
Copyright © 2012-2023 µÚÒ»·¶ÎÄÍø °æÈ¨ËùÓÐ ÃâÔðÉùÃ÷ | ÁªÏµÎÒÃÇ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£ºxxxxxx ÓÊÏ䣺xxxxxx@qq.com
ÓåICP±¸2023013149ºÅ
Top