 
- UID
- 1029342
- ÐÔ±ð
- ÄÐ
|

ʵģʽѰַ·½Ê½
Âß¼µØÖ·£º¼´Âß¼ÉϵĵØÖ·£¬ÊµÄ£Ê½ÏÂÓÉ¡°¶Î»ùµØÖ·+¶ÎÄÚÆ«ÒÆ¡±×é³É£»±£»¤Ä£Ê½ÏÂÓÉ¡°¶ÎÑ¡Ôñ·û+¶ÎÄÚÆ«ÒÆ¡±×é³É¡£
ÏßÐÔµØÖ·£ºÂß¼µØÖ·¾·Ö¶Î»úÖƺó¾Í³ÉÏßÐÔµØÖ·£¬ËüÊÇƽ̹µÄ£»Èç¹û²»ÆôÓ÷ÖÒ³£¬ÄÇô´ËÏßÐÔµØÖ·¼´ÎïÀíµØÖ·¡£
ÎïÀíµØÖ·£ºÏßÐÔµØÖ·¾·Öҳת»»ºó¾Í³ÉÁËÎïÀíµØÖ·¡£
ʵģʽѰַ·½Ê½
¸Õ²Å˵ÁË8086CPUÊý¾Ý×ÜÏßΪ16룬Ҳ¾ÍÊÇÒ»´Î×î¶àÄÜÈ¡2^16£½64KBÊý¾Ý£¬Õâ¸öÊý¾ÝÒ²½âÊÍÁËʵģʽÏÂΪʲôÿ¸ö¶Î×î´óÖ»ÓÐ64KB¡£µ«¸Õ²Å»¹ËµÁËÆäµØÖ·×ÜÏßΪ20룬ÕâÑùËüÄÜÑ°Ö·µÄÄÜÁ¦ÆäʵÊÇ2^20=1MB£¬ÕâÒ²¾ÍÊÇʵģʽÏÂCPUµÄ×î´óÑ°Ö·ÄÜÁ¦¡£¼ÈÈ»ËüÓÐ1MBÑ°Ö·ÄÜÁ¦£¬ÄÇÔõôÓÃ16λµÄ¶Î¼Ä´æÆ÷±íʾÄØ£¿
Õâ¾ÍÒý³öÁ˷ֶεĸÅÄ8086CPU½«1MB´æ´¢¿Õ¼ä·Ö³ÉÐí¶àÂß¼¶Î£¬Ã¿¸ö¶Î×î´óÏÞ³¤Îª64KB£¨µ«²»Ò»¶¨¾ÍÊÇ64KB£©¡£ÕâÑùÿ¸ö´æ´¢µ¥Ôª¾Í¿ÉÒÔÓᰶλùµØÖ·+¶ÎÄÚÆ«ÒƵØÖ·¡±±íʾ¡£¶Î»ùµØÖ·ÓÉ16λ¶Î¼Ä´æÆ÷Öµ×óÒÆ4λ±í´ï£¬¶ÎÄÚÆ«ÒƱíʾÏà¶ÔÓÚij¸ö¶ÎÆðʼλÖõÄÆ«ÒÆÁ¿¡£±ÈÈ磺
SEG=0x07c0
jmpi offset, #SEG
offset: mov ax,cs
ʵģʽϵÄÑ°Ö·¾ÙÀý£º
ÏÈÕÒµ½CS´úÂë¶ÎµÄµØÖ·
mov ax,cs
È»ºó°Ñ¶ÎµØÖ·³ËÒÔ16£¬¼´½«16λ±ä³É20λ¡£ÕâʱÒòΪ8086µÄÊý¾Ý×ÜÏßÊÇ16λµÄ£¬µ«ÊǵØÖ·×ÜÏßÊÇ20λµÄ¡£ÊµÏÖ·½·¨ºÜ¼òµ¥£¬×óÒÆ4λ¼´¿É¡£
shl eax, 4
È»ºó¸ù¾ÝÄãҪѰַµ½µÄ×Ó´úÂ룬¼ÓÉÏÆä¶ÔÓ¦µÄÆ«ÒƵØÖ·£º
add eax, LABEL_SEG_CODE32
ÕâÑù±ãµÃµ½ÁËËùѰλÖõÄÎïÀíµØÖ·¡£
ÒòΪµØÖ·×ÜÏßÖ»ÓÐ20룬ËùÒÔ×î´óÑ°Ö·¿Õ¼äÖ»ÓÐ1M¡£
8086Öк¬Óд洢Æ÷.´æ´¢Æ÷ÖÐÿһ¸öµ¥ÔªµÄµØÖ·¿ÉÒÔÓÃÁ½ÖÖ·½·¨±íʾ£º
1.Âß¼µØÖ·£ºÆä±í´ïÐÎʽΪ¡°¶ÎµØÖ·£º¶ÎÄÚÆ«ÒƵØÖ·¡±.
2.ÎïÀíµØÖ·£ºCPUÓë´æ´¢Æ÷½øÐÐÊý¾Ý½»»»Ê±ÔÚµØÖ·×ÜÏßÉÏÌṩµÄ20λµØÖ·ÐÅÏ¢³ÆΪÎïÀíµØÖ·.
ÎïÀíµØÖ·=¶ÎµØÖ·¡Á10H£«¶ÎÄÚÆ«ÒÆÁ¿
CPUÒ»´Î´¦ÀíµÄÊý¾ÝÊÇ16λ,µØÖ·×ÜÏßʵ¼ÊÉÏ´ú±íCPUµÄÑ°Ö·ÄÜÁ¦,µØÖ·ÏßΪ20ÌõÄÇôCPUʵ¼ÊµÄÑ°Ö·ÄÜÁ¦¾ÍÊÇ2µÄ20´Î·½¾ÍÊÇ1M.ʵ¼ÊµÄÎïÀíµØÖ·ÊÇÕâÑùÐγɵģº¶ÎµØÖ·*10H+Æ«ÒƵØÖ·,Æ«ÒƵØÖ·ÓÃIPÖ¸Ïò,IPÊÇ16λµÄ.
ÀýÈç¶ÎµØÖ·ÊÇ1234H,Æ«ÒƵØÖ·ÊÇ4321H
ÄÇôʵ¼ÊµÄÎïÀíµØÖ·ÔõôËãÄØ£º1234H*10H+4321H=12340H+4321H=16661H
ʵ¼ÊÉÏ¿ÉÒÔÕâôÀ´Àí½â,¾ÍÊǶεØÖ·×óÒÆһλºó¼ÓÉÏÆ«ÒƵØÖ·¾ÍµÃ³öʵ¼ÊµÄÎïÀíµØÖ·.
ÔÙ±ÈÈ磺Âß¼µØÖ·£º1500HÏÈ»¯Îª2½øÖÆ 0001 0101 0000 0000
×óÒÆËÄλ¾ÍÊÇ0001 0401 0000 0000 0000,¼´15000H
ÈôÆ«ÒƵØַΪ1000H ÔòÎïÀíµØÖ·¾ÍÊÇ16000H |
|