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

аæ»ã±àÓïÑÔ³ÌÐòÉè¼ÆÏ°Ìâ´ð°¸£¨Ç®Ïþ½ÝÖ÷±à£©µç×ӽ̰¸

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

Æ«ÒÆµØÖ·£º±íʾ±êºÅËùÔÚ´úÂë¶ÎµÄ¶ÎÄÚÆ«ÒƵØÖ·£»

ÀàÐÍ£ºÒýÓøñêºÅʱ£¬±íʾËüËùÔÚͬһ¸ö¶ÎnearÀàÐÍ£¬»¹ÊÇÁíÍâÒ»¸ö¶ÎfarÀàÐÍ¡£ 3.19; ÉèÔÚij¸ö³ÌÐòÖÐÓÐÈçÏÂÆ¬¶Î£¬Çëд³öÿÌõ´«ËÍÖ¸ÁîÖ´Ðкó¼Ä´æÆ÷AXµÄÄÚÈÝ£º mydata segment ORG lO0h VARW DW l234H£¬5678H VARB DB 3,4

AGLIN 4 VARD DD 12345678H EVEN BUFF DB 10 DUP(?) MESS DB ¡¯HELLO¡¯

MOV AX, OFFSET VARB + OFFSET MESS £»AX = 4+16H = 1AH MOV AX, TYFE TYPE BUFF+TYPE MESS+TYPE VARD£»AX = 1+1+4 = 06H MOV AX£¬SIZE VARW+SIZE BUFF+SIZE MESS£»AX = 4+10+5 = 19 = 13H MOV AX,LENGTH VARW + LENGTH VARD £»AX = 2+1 = 03H MOV AX,LENGTH BUFF + SIZE VARW £»AX = 10+4 =14 = 0EH MOV AX,TYPE BIGIN £»AX = FF02H (½ü£©

MOV AX,OFFSET BEGIN £»AX = 1BH 3.20¡¢ÀûÓüò»¯¶Î¶¨Òå¸ñʽ£¬±ØÐë¾ßÓÐ.MODELÓï¾ä¡£MASM¶¨ÒåÁËÄÄ7Öִ洢ģʽ£¬TINYºÍSMALLģʽ´´½¨Ê²Ã´ÀàÐÍ£¨EXE»òCOM£©³ÌÐò£¿Éè¼Æ32λ³ÌÐòÓ¦¸Ã²ÉÓÃʲôģʽ£¿

3.21¡¢Ô´³ÌÐòÖÐÈçºÎÖ¸Ã÷Ö´ÐÐµÄÆðʼµã£¿Ô´³ÌÐòÓ¦¸Ã²ÉÓÃÄĸöDOS¹¦Äܵ÷Óã¬ÊµÏÖ³ÌÐò·µ»ØDOS£¿

3.22; ÔÚSMALL´æ´¢Ä£Ê½Ï£¬¼ò»¯¶Î¶¨Òå¸ñʽµÄ´úÂë¶Î¡¢Êý¾Ý¶ÎºÍ¶ÑÕ»¶ÎµÄȱʡ¶ÎÃû¡¢¶¨Î»¡¢×éºÏÒÔ¼°Àà±ðÊôÐÔ·Ö±ðÊÇʲô£¿ ¶Î¶¨ÒåαָÁî ¶ÎÃû ¶¨Î» ×éºÏ Àà±ð ×éÃû .CODE _TEXT WORD PUBLIC ¡¯CODE¡¯

.DATA _DATA WORD PUBLIC ¡¯DATA¡¯ DGROUP .STACK STACK PARA STACK ¡¯STACK¡¯ DGROUP

3.23¡¢ÈçºÎÓÃÖ¸Áî´úÂë´úÌæ.startupºÍ.exitÖ¸ÁʹµÃÀýÌâ3.1aÄܹ»ÔÚMASM 5.xÏ»ã±àͨ¹ý£¿

3.24¡¢´´½¨Ò»¸öCOM³ÌÐòÍê³ÉÀýÌâ3.1µÄ¹¦ÄÜ¡£

3.25; °´ÏÂÃæÒªÇóдһ¸ö¼ò»¯¶Î¶¨Òå¸ñʽµÄÔ´³ÌÐò

£¨1£© ¶¨Òå³£Á¿num£¬ÆäֵΪ5£»Êý¾Ý¶ÎÖж¨Òå×ÖÊý×é±äÁ¿datalist£¬ËüµÄÍ·5¸ö×Öµ¥ÔªÖÐÒÀ´Î´æ·Å-1¡¢0¡¢2¡¢5ºÍ4£¬×îºó1¸öµ¥Ôª³õÖµ²»¶¨£»

£¨2£© ´úÂë¶ÎÖеijÌÐò½«datalistÖÐÍ·num¸öÊýµÄÀۼӺʹæÈëdatalistµÄ×îºó1¸ö×Öµ¥ÔªÖС£

.model small .stack .data num equ 5

datalist dw -1,0,2,5,4,? .code .startup

mov bx,offset datalist mov cx,num xor ax,ax again: add ax,[bx] inc bx inc bx loop again mov [bx],ax .exit 0 end

3.26; °´ÏÂÃæÒªÇóдһ¸öÍêÕû¶Î¶¨Òå¸ñʽµÄÔ´³ÌÐò

£¨1£© Êý¾Ý¶Î´ÓË«×ֱ߽翪ʼ£¬ÆäÖж¨ÒåÒ»¸ö100×Ö½ÚµÄÊý×飬ͬʱ¸Ã¶Î»¹×÷Ϊ¸½¼Ó¶Î£»

£¨2£© ¶ÑÕ»¶Î´Ó½Ú±ß½ç¿ªÊ¼£¬×éºÏÀàÐÍΪstack£»

£¨3£© ´úÂë¶ÎµÄÀà±ðÊÇ¡¯code¡¯£¬Ö¸¶¨¶Î¼Ä´æÆ÷¶ÔÓ¦µÄÂß¼­¶Î£»Ö÷³ÌÐòÖ¸¶¨´Ó100h¿ªÊ¼£¬¸øÓйضμĴæÆ÷¸³³õÖµ£»½«Êý×éÔªËØÈ«²¿ÉèÖÃΪ64h¡£ stack segment para ¡®stack¡¯

dw 512 dup(?) stack ends data segment

dword array db 100 dup(?) data ends

code segment ¡®code¡¯

assume cs:code,ds:data,es:data,ss:stack org 100h

start: mov ax,data mov ds,ax

mov es,ax mov di,offset array mov al,64h mov cx,100 cld rep stosb mov ax,4c00h int 21h code ends end start

3.27; ±àÖÆ³ÌÐòÍê³ÉÁ½¸öÒÑ֪˫¾«¶ÈÊý£¨4×Ö½Ú£©AºÍBÏà¼Ó²¢½«½á¹û´æÈëË«¾«¶È±äÁ¿µ¥ÔªSUMÖУ¨²»¿¼ÂÇÒç³ö£©¡£ ½â´ð

£»xt327.asm .model small

.stack 256 £»¶¨Òå¶ÑÕ»¶Î´óСΪ256¸ö×Ö½Ú .data

anum dd 11223344h £»¶¨ÒåÁ½¸öË«×ÖµÄÊý£¨ËæÒ⣩ bnum dd 77553311h

sum dd ? £»¶¨Òå½á¹û£¬Ö´ÐкóΪ£º88776655h .code .startup

xor si, si £»Ïà¶ÔÓÚ±äÁ¿µÄÎ»ÒÆÁ¿ÇåÁã mov cx, 2 £»·Ö¸ßµÍ×Ö·Ö±ðÏà¼Ó£¬¹²Á½´Î clc £»ÇåÁãcf

again:mov ax, anum[si] £»È¡µÚÒ»¸öÊýµÄÒ»¸ö×Ö£¨ÏȵÍ×Öºó¸ß×Ö£©

adc ax, bnum[si] £»È¡µÚ¶þ¸öÊýµÄÒ»¸ö×Ö£¨ÏȵÍ×Öºó¸ß×Ö£© mov sum[si], ax £»´æºÍµÄÒ»¸ö×Ö£¨ÏȵÍ×Öºó¸ß×Ö£© inc si £»ÐÞ¸ÄÎ»ÒÆÁ¿Ö¸ÏòÏÂÒ»¸ö×Ö£¨¼Ó2£© inc si

loop again £»cx=cx-1 ,if cx<>0 ,jump again .exit 0 end

3.28 ±àÖÆ³ÌÐòÍê³É12H¡¢45H¡¢0F3H¡¢6AH¡¢20H¡¢0FEH¡¢90H¡¢0C8H¡¢57HºÍ34HµÈ10¸ö×Ö½ÚÊý¾ÝÖ®ºÍ£¬²¢½«½á¹û´æÈë×Ö½Ú±äÁ¿SUMÖУ¨²»¿¼ÂÇÒç³ö£©¡£ .startup

xor si, si £»Î»ÒÆÁ¿ÇåÁã mov al, bdata[si] £»È¡µÚÒ»¸öÊý mov cx, num-1 £»ÀÛ¼Ó´ÎÊý

again: inc si £»Ö¸ÏòÏÂÒ»¸öÊý adc al, bdata[si] £»ÀÛ¼Ó

loop again £»ÈçδÍ꣬¼ÌÐøÀÛ¼Ó mov sum, al £»ÍêÁË£¬´æ½á¹û .exit 0 end

3.29¡¢½á¹¹Êý¾ÝÀàÐÍÈçºÎ˵Ã÷¡¢½á¹¹±äÁ¿ÈçºÎ¶¨Òå¡¢½á¹¹×Ö¶ÎÈçºÎÒýÓã¿

3.30¡¢¼Ç¼Êý¾ÝÀàÐÍÈçºÎ˵Ã÷£¬¼Ç¼±äÁ¿ÈçºÎ¶¨Ò壬widthºÍmask²Ù×÷·ûÊÇʲô×÷Óã¿

µÚËÄÕ »ù±¾»ã±àÓïÑÔ³ÌÐòÉè¼Æ

4.1¡¢ÀýÌâ4.2Èç¹ûÒªÇóËãÊõÓÒÒÆ8룬ÈçºÎÐ޸ijÌÐò¡£

4.2¡¢ÀýÌâ4.2Èç¹ûÒªÇóËãÊõ×óÒÆ7룬ÈçºÎÓÃÒÆÎ»Ö¸ÁîʵÏÖ¡£

4.3; ˼·£ºÉèÕâËÄ×é´ÓµÍλµ½¸ßλ·Ö±ð·ÅÔÚAL¡¢BL¡¢CLºÍDL¼Ä´æÆ÷ÖС£ÕâÀï½öÁгö´úÂë¶Î£º

mov bl, al £»½«alÖеÄÁ½×é·Ö¿ª and al, 0fh £»ÆÁ±Î¸ßËÄλºóËÍal

mov cl, 4 £»Ô­alÖеÄÊý¾ÝÂß¼­ÓÒÒÆ4´ÎËÍbl shr bl, cl

mov dl, ah £»½«ahÖеÄÁ½×é·Ö¿ª and dl, 0f0h £»ÆÁ±ÎµÍ¸ßËÄλºóËÍdl

mov cl, 4 £»Ô­ahÖеÄÊý¾ÝÂß¼­ÓÒÒÆ4´ÎËÍdl shr dl, cl

mov cl, ah £»ÆÁ±Î¸ßËÄλºóËÍcl and cl, 0fh

4.4; getkey: mov ah, 1 £»´Ó¼üÅÌÊäÈ룬³ö¿Ú:al´æ¼üÖµ int 21h

cmp al, ¡¯a¡¯ £»ÅмüÖµÊÇСд×Öĸ£¿ jb getkay cmp al, ¡¯z¡¯ ja getkay

sub al,20h £»ÊÇСд×Öĸת»»Îª´óд×Öĸ mov ah, 09h £»ÏÔʾ int 21h

4.8; £¨1£© ½«jmp table[bx]Ö¸Áî¸ÄΪ£ºmov dx, table[bx] £¨2£© È¥µôÔ´³ÌÐòÖУº.exit 0---endÖ®¼äµÄÓï¾ä 4.17; .model small .stack 256 .data

stri1 db ¡¯please input number:1--9¡¯,odh,oah,¡¯$¡¯ .code .startup

again: mov dx,offset stri1 £»ÏÔʾstri1£¬ÌáʾÊäÈë mov ah,09h int 21h

mov ah,01h £»µ÷ÓÃÊäÈëÒ»¸ö×Ö·û int 21h £»ÊäÈëÒ»¸ö×Ö·û´æÔÚalÖÐ cmp al, ¡¯1¡¯ £»ÅиÃ×Ö·û£¬Èç²»ÔÚ¡®1¡¯--¡®9¡¯ jb again £»ÖØÐÂÊäÈë cmp al, ¡¯9¡¯ ja again

аæ»ã±àÓïÑÔ³ÌÐòÉè¼ÆÏ°Ìâ´ð°¸£¨Ç®Ïþ½ÝÖ÷±à£©µç×ӽ̰¸.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c0a80k7c1bk44p5c1cp2i5zpak1cslt00da3_5.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©

Ïà¹ØÍÆ¼ö£º

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