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

¼ÆËã»úÔ­ÀíMCSϰÌâ´ð°¸

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

ret

pchar endp code ends

end main

8. ÒÔ10½øÖÆÐÎʽÏÔʾÄÚ´æÖÐÒ»ÓзûºÅ×Ö½ÚÊý¾Ý

Àý£ºvar

db

0ffH

ÆÁĻӦÏÔʾ£ºThe result is: -1

data segment para

var str1 buf

db 7fh

db 0dh, 0ah, ¡®The result is: ¡¯ db 4 dup(¡® ¡¯) db ¡®$¡¯

data ends

ss_seg segment stack

dw

100 dup(0)

ss_seg ends code segment para

assume cs:code, ds:data, ss:ss_seg main proc far

mov mov mov cmp jge mov neg

ax, data ds, ax buf, ¡®+¡¯ var, 0 next buf, ¡®-¡® var al, var cx, 3 dl, 10

11

;ÅжÏvarÊÇÕýÊý,»¹ÊǸºÊý

;ÈôvarΪ¸º£¬ÔòµÃµ½ÆäÏà·´Êý

next: mov

mov

mov

lea bx, buf+3 ah, 0 dl

; (AX / 10)ÉÌ ? al ; (AX / 10)ÓàÊý? ah

main1: mov

div add mov dec

loop lea mov int mov int

ah, 30h [bx], ah bx main1 dx, str1 ah, 9 21h ax, 4c00h 21h

;Ñ­»·3´Î,·Ö±ðµÃµ½°Ù¡¢Ê®¡¢¸öλ ;ÏÔʾ10½øÖÆÊý

exit:

main endp

code ends

end main

9. ½«Ò»¸ö16λµÄÎÞ·ûºÅÊývar, ת»»Îª·ÇѹËõ¸ñʽBCDÂ룬´æ·ÅÔÚÄÚ´æÖÐbuf

¿ªÊ¼µÄµ¥ÔªÖС££¨°´¸ßλÔÚǰ¡¢µÍλÔÚºóµÄ˳Ðò´æ·Å£© data segment para

var buf

dw 800H db 5 dup(0)

data ends

ss_seg segment stack

dw

100 dup(0)

ss_seg ends code segment para

assume cs:code, ds:data, ss:ss_seg main proc far

mov mov

ax, data ds, ax

12

mov cx, 16 main1: shl var, 1

lea

bx, 4

push cx

mov

cx, 5 main2: mov al, buf[bx] adc al, al AAA

mov buf[bx], al dec bx loop main2

pop cx

loop main1

exit: mov ax, 4c00h

int

21h

main endp

code ends

end main

;((0*2 + B15)*2 + B14)*2 + ¡­ + )*2 + B0

;µÃµ½varµÄBiλ

;Ö´ÐÐbuf*2 + Bi²Ù×÷

·ÇѹËõ¸ñʽBCDÂëµ÷Õû

;ÄÚÑ­»·Îª5´Î

;ÍâÑ­»·Îª16´Î

13

Ñ¡×÷Ì⣺

10. ÄÚ´æÖдÓstr¿ªÊ¼´æ·ÅÒ»×Ö·û´®£¬½áÊø·ûΪNULL×Ö·û£¬Çë±àд³ÌÐòͳ¼Æ¸Ã

×Ö·û´®Öе¥´ÊµÄ¸öÊý Àý£ºstr1

db 0dh, 0ah, ¡®Hello world, welcome to DUT. CPU is central

processing unit!¡¯, 0h

ͳ¼Æ¡¯¡­.¡¯Öеĵ¥´Ê¸öÊý£¬½á¹ûΪ10

data

segment

para

str1 db 'long long ago, there lived a king, the king asked the artist to ¡¯ db ¡®draw a horse for him ',0

words dw 0

ends

stack

data

ss_seg segment

db 256 dup(?)

ss_seg ends code

segment

assume cs:code,ds:data,ss:ss_seg main

proc push xor push mov mov mov lea mov cld

far ds ax, ax ax

ax, data ds, ax cx, 0

;ÓÃcx´æ·Åµ¥´ÊÊý

si, str1

bl, ' '

;bl×ܱ£´æµ±Ç°×Ö·ûµÄǰһ¸ö×Ö·û

main_3: lodsb

and jz cmp jnz

al, al main_1

al, ' '

;±È½ÏÊÇ·ñÊǿոñ

;ÅжÏalÊÇ·ñΪ½áÊø·û0

main_2

bl, ' '

;±È½Ïǰһ¸ö×Ö·ûÊÇ·ñΪ¿Õ¸ñ£¬²»ÊÇÔò´Ë¿Õ¸ñ ;²»ÄÜËãÒ»¸öµ¥´Ê

14

main_4: cmp

jz cmp

main_5

bl, ','

;±È½Ïǰһ¸ö×Ö·ûÊÇ·ñΪ¶ººÅ£¬Èç¹ûÊÇÔò´Ë¿Õ ;¸ñÒ²²»ÄÜËãÒ»¸öµ¥´Ê

jz inc

main_5 cx

;Ö»Óе±Ç°×Ö·ûΪ' '»ò','¶øÇÒǰһ¸ö×Ö·ûΪÓÐ ;Ч×Ö·ûʱ£¬²Å¶Ôµ¥´ÊÊý¼Ó1

jmp main_5

al, ','

;±È½ÏÊÇ·ñÊÇ','ºÅ

main_2: cmp

jz

main_4

bl, al

;½øÈëÕâÀï±íÃ÷´ËʱalÖÐÄÚÈݲ»ÊÇ0,' ', ','ÈýÖÖ ;·ûºÅ,±£´æalµ½bl

main_5: mov

jmp main_3

bl, ' '

;ÅжϽáÊø·ûÇ°ÃæÊÇ·ñΪµ¥´Ê£¬»¹ÊÇΪһ¸ö' '»ò','

main_1: cmp

jz cmp jz inc

main_6

bl, ','

main_6 cx

;Èô½áÊø·ûǰÊÇÒ»¸öÓÐЧ×Ö·û£¬ÄÇôµ¥´ÊÊýÓ¦¸Ã¼Ó1

main_6: mov

ret endp

words, cx

main

code

ends

main

end

11 ±àд³ÌÐòÓüüÅÌ1~7¼ü£¬Ä£Äâ7¸öÒô·û£¬½øÐмüÅÌÑÝ×࣡

×¢£ºÐèÒª¶Ô8253µÄ¶¨Ê±Æ÷2ºÍ8255µÄPB¿Ú½øÐгõʼ»¯

data

segment

para

Table_L dw 131,147,165,175,196,220,247,262 ;µÍÒô1-7µÄƵÂÊ Table_M dw 262,294,330,349,392,440,494,523 ;¸ßÒô1-7µÄƵÂÊ shift_1 equ 21h shift_2 equ 40h shift_3 equ 23h shift_4 equ 24h shift_5 equ 25h shift_6 equ 5Eh shift_7 equ 26h

15

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

Ïà¹ØÍÆ¼ö£º

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