»ã±à¿Îºó´ð°¸

·¢²¼Ê±¼ä : ÐÇÆÚÈý ÎÄÕ»ã±à¿Îºó´ð°¸¸üÐÂÍê±Ï¿ªÊ¼ÔĶÁ

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

¡²½â´ð¡³ ;lt301a.asm(ÎļþÃû)

.model small .stack .data

string db ?Hello,Everybody !?,0dh,0ah.?$?

.code start: mov ax ,@data

mov ds,ax mov dx,offset string

mov ah,9 int 21h mov ax ,4c00h

int 21h end start

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

¡²½â´ð¡³ £»lt301a,asm .model tiny .code .startup mov dx,offset string

mov ah,9 int 21h .exit 0

string db 'Hello,Everybody!'0dh,0ah,'$' £»

end

¡²Ï°Ìâ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 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

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

B dd 77553311h

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

.code .startup

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

clc £»ÇåÁãcf

again: mov ax, word ptr A[si] £»È¡µÚÒ»¸öÊýµÄÒ»¸ö×Ö£¨ÏȵÍ×Öºó¸ß×Ö£© adc ax, word ptr B[si] £»È¡µÚ¶þ¸öÊýµÄÒ»¸ö×Ö£¨ÏȵÍ×Öºó¸ß×Ö£© mov word ptr 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¡³½á¹¹Êý¾ÝÀàÐÍÈçºÎ˵Ã÷¡¢½á¹¹±äÁ¿ÈçºÎ¶¨Òå¡¢½á¹¹×Ö¶ÎÈçºÎÒýÓã¿

¡²½â´ð¡³

½á¹¹ÀàÐ͵Ä˵Ã÷ʹÓÃÒ»¶ÔαָÁîSTRUCT£¨MASM5.xÊÇSTRUC£¬¹¦ÄÜÏàͬ£©ºÍENDS¡£ËüÃǵĸñ

ʽΪ£º

ÁªÏµºÏͬ·¶ÎÄ¿Í·þ£ºxxxxx#qq.com(#Ì滻Ϊ@)