±ø¥ó²ÕĶ¬O²ÕĶ¾¹¦b²ÕĶ¶¥¬q¡A¨Ì¾Ú©Ò³]©wªº±ø¥ó¡A¨Ï²ÕĶ¾¹²ÕĶ¬Y¤@¬qµ{¦¡¡A©Î¤£²ÕĶ¬Y¤@¬qµ{¦¡¡C¤@¯ë¦Ó¨¥¡A±ø¥ó²ÕĶ±`°t¦X¥¨¶°¨Ï¥Î¡A¨Ï±o¼¶¼g²Õ¦X»y¨¥ì©lÀɯ঳ªì¨Bªºµ²ºc¤Æ (µù¤@ )¡C©³¤U¤p¤ì°¸¨Ï¥Î±ø¥ó²ÕĶ»P¥¨¶°°t¦X¦Ó¼g¦¨ªº¤@Ó²³æµ{¦¡¡GEXAM05.ASM¡C
³oÓ¨Ò¤l¬O¥ý¦b¿Ã¹õ¤W¦L¥X¡ypºâ¡G2593+8888 = ¡z¦r¦ê¡AµM«á¦A¦L¥Xµ²ªG¨Ó¡C³o¬O¤@Ó¬O«Ü²³æªº¨Ò¤l¡A¦ý¬O¤p¤ì°¸n¥Î¤@Ó¥¨¶°¨Ó¸Ñ¨M¦L¥X¦r¦ê¤Î¼Æ¦r³o¨âºØ¤£¦Pªº¸ê®Æ§ÎºA¡C¤èªk´N¬O¦b¥¨¶°¤¤¥[¤J¯à¦Û°Ê§PÂ_¿é¤Jªº¤Þ¼Æ¬O¦r¦ê©Î¬O¼Æ¦rªº°²«ü¥O¡C
³o¨âªÌªº¤À§O¦b°ª¶¥»y¨¥¬O®ù´ô¤À©úªº¡A¦b²Õ¦X»y¨¥¤¤¡A³o¨âªÌ³£¬O¥H¤G¶i¦ì¼Æ¦rªí¥Ü¡A¤À§O¨Ã¤£¬O¨º»ò©úÅã¡CEXAM05.ASM ¦b³B²z¤å¦r»P¼Æ¦rªºµ{¦¡½X·íµM¤]¬O¤£¤@¼Ëªº¡C°²¦p¸ê®Æ¬O¤å¦rªº¸Ü¡A¥u»Ý¦C¦L§Y¥i¡A¦pªG¬O¼Æ¦rªº¸Ü¡A´N±o´«¦¨¤Q¶i¦ì¦A¦L¥X¨Ó¡C¦ý¬O¦b²Õ¦X»y¨¥ùØ«ÜÃø¯uªº§PÂ_¸ê®Æ¬O¤å¦r§í©Î¼Æ¦r¡C
¤p¤ì°¸ªº·Qªk«Ü²³æ¡A¥Î TYPE ¹Bºâ¤l³oÓ°²«ü¥O¨Ó§PÂ_¸Ó¸ê®Æ¬O¦r¦ê©Î¬O¼Æ¦r¡CTYPE °²«ü¥Oªº¥Îªk¬O¡G
TYPE ÅܼÆ
TYPE ·|®Ú¾ÚÅܼƪº©w¸q¨M©w¹Bºâµ²ªG¡A°²¦pÅܼƬO¥H¡yDB¡z©w¸q¡A«hµ²ªG¬° 1¡F¥H¡yDW¡z©w¸q¡Aµ²ªG¬° 2¡F¥H¡yDD¡z©w¸q¡Aµ²ªG¬° 4¡F¥H¡yDQ¡z©w¸q¡Aµ²ªG¬° 8¡F¥H¡yDT¡z©w¸q¡Aµ²ªG¬° 10¡C¦b¤@¯ë°ª¶¥»y¨¥ùØ¡A«Ü¤ÖÅܼƥu¦û¤@Ӧ줸²Õ¡A¦Ó²Õ¦X»y¨¥«h¤£¤@©w¡A¦ý¬O¤p¤ì°¸¦b·Q¤£¥X¨ä¥L§ó¦nªº¤èªk¡A¥u¦³¥Î TYPE ¨Ó§PÂ_¸ê®Æ§ÎºA¡C²Õ¦X»y¨¥ùØ¡A©w¸q¤@Ó¦r¦ê¡A±`¥Î¡yDB¡z¡A©w¸qÅܼơA±`¥Î¡yDW¡z©Î¡yDQ¡z¡A¦]¦¹¦pªG TYPE ¶Ç¦^¨ÓªºÈ¬° 1¡A«h¤Þ¼ÆÀ³¸Ó¬O¦r¦ê¡A¤Ï¤§«h§_¡C
¸Ñ¨M¤F§PÂ_¸ê®Æªº§ÎºA¤§«á¡A±µ¤U¨Ó´N¬O¨Ì¾Ú¸ê®Æ§ÎºA¨M©w²ÕĶ¨º¤@¬qì©lµ{¦¡¡A¤]´N¬O³o¤@³¹ªº¥D¨¤¡AIF ¡Ð ELSE ¡Ð ENDIF °²«ü¥O¡A¥¦ªº®æ¦¡¬O
IF §PÂ_¦¡ ±Ôz¤@ [ELSE ±Ôz¤G] ENDIF
°²¦p§PÂ_¦¡¬°¯u¡A²ÕĶ¾¹´N·|²ÕĶ¡y±Ôz©Î«ü¥O¤@¡z¤ºªº«ü¥O¡F°²¦p§PÂ_¦¡¬°°°¡A²ÕĶ¾¹·|²ÕĶ¡y±Ôz¤G¡z¤ºªº«ü¥O¡C°²¦p§PÂ_¦¡¬°°°®É¡A¨Ã¨S¦³«ü¥O»Ýn°õ¦æ¡A¨º¤]¥i¥H¬Ù²¤±Ôz¤G¡A¬Ù²¤®É¡A¥²¶·¥Ñ ELSE ¨ì±Ôz¤G¬°¤îªº³¡¥÷¬Ù²¤¡AENDIF ¬O¥Î¨Óªí¥Ü IF ±Ôzµ²§ôªº¡A¬O¤£¥i¬Ù²¤ªº¡C±Ôz¤@©Î±Ôz¤G¥i¥H¬O¥Ñ«Ü¦h«ü¥O©Î¬O±Ôz²Õ¦¨¡C
¤@¯ë¦Ó¨¥¡A§PÂ_¦¡¤j³¡¤À¬O¨âÓ¼ÆȤ§¤ñ¸û¡A¤ñ¸ûµ²ªG¬°¯u¡A«h¶Ç¦^ 0FFFFH¡A¤ñ¸ûµ²ªG¬°§_¡A«h¶Ç¦^ 0¡A²ÕĶ¾¹¨Ì¾Ú 0FFFFH ©Î 0 ¨Ó²ÕĶ¨º¤@Óµ{¦¡¤ù¬q¡C¦Ó¤ñ¸ûªº¨âÓ¼ÆÈ¥²¶·¬O¦b²ÕĶ¶¥¬q´N¯à°÷½T©w¤j¤pªº¼ÆÈ¡A¦]¦¹¤£¥i¥H¨Ï¥Î¼È¦s¾¹©ÎÅܼơA¦Ó¹³¸ê®Æªø«×¡A©Î¬O¦ì§}³£¬O¥i¥H®³¨Ó§@¬°¤ñ¸ûªº¼ÆÈ¡C¤Uªíªí¥Ü¯à¥Î¦b§PÂ_¦¡ªºÃö«Y¹Bºâ¤l¡G
¹Bºâ¤l | ¹ê¨Ò | »¡©ú |
EQ | var1 EQ var2 | Y var1 µ¥©ó var2 ®É¡A¬°¯u |
NE | var1 NE var2 | Y var1 ¤£µ¥©ó var2 ®É¡A¬°¯u |
LT | var1 LT var2 | Y var1 ¤p©ó var2 ®É¡A¬°¯u |
LE | var1 LE var2 | Y var1 ¤p©ó©Îµ¥©ó var2 ®É¡A¬°¯u |
GT | var1 GT var2 | Y var1 ¤j©ó var2 ®É¡A¬°¯u |
GE | var1 GE var2 | Y var1 ¤j©ó©Îµ¥©ó var2 ®É¡A¬°¯u |
NOT | NOT var | Y var ¬°°°®É¡A¬°¯u |
AND | var1 AND var2 | Y var1¡Bvar2 ¬Ò¬°¯u®É¡A¬°¯u |
OR | var1 OR var2 | Y var1¡Bvar2 ¤¤¦³¤@¬°¯u®É¡A¬°¯u |
XOR | var1 XOR var2 | Y var1 ¬°¯u¥B var2 ¬°°°¡A©Î var1 ¬°°°¥B var2 ¬°¯u®É¡A¬°¯u |
¼ÆÈ | var | Y var ¤£¬°¹s®É¡A¬°¯u |
©³¤U´N¬O EXAM05.ASM µ{¦¡¦Cªí¡G
include mymac.inc ;01 ¸ü¤J MYMAC.INC ¥¨¶°µ{¦¡®w purge display ;02 °£¥h DISPLAY ¥¨¶° .286 ;03 ¨Ï¥Î 80286 «ü¥O¶° print_number macro ;;05 ¦¹¥¨¶°¥Î¨Ó§â DL ùتº¼ÆÈ¥H ASCII ¦r¤¸ add dl,'0' ;;06 ¤è¦¡¦L¥X©ó¿Ã¥ú¹õ¡A¦L¥X«e DL À³¸Ó¦b 0 mov ah,2 ;;07 ¨ì 9 ¤§¶¡¡C int 21h endm ;;09 µ²§ô print_number ¥¨¶° print macro var ;;11 print ¥¨¶°¶}©l local tmp_var,nxt if (type var) eq 1 ;;13 code segment para public 'code' mov dx,offset var mov ah,9 int 21h code ends exitm endif ;;20 if (type var) eq 2 ;;21 data segment para public 'data' tmp_var dt ? data ends code segment para public 'code' fild var fbstp tmp_var mov si,offset tmp_var+2 mov dl,[si] print_number ;;30 ©I¥s print_number ¥¨¶° mov cx,2 nxt: dec si mov dl,[si] shr dl,4 print_number mov dl,[si] and dl,0fh print_number loop nxt code ends exitm endif ;;42 endm ;;43 print ¥¨¶°µ²§ô ;*************************************** data segment para public 'data' string db 'pºâ¡G 2593 + 8888 = $' sum dw 2593+8888 data ends ;*************************************** initial print string print sum exit 0 end start
print ¥¨¶°¦bÅÞ¿è¤W¥i¤À¦¨¨â³¡¤À¡A§PÂ_¸ê®Æ§ÎºA¤Î¨Ì¾Ú¸ê®Æ§ÎºA¦p¦ó³B²z³o¨â³¡¥÷¡C´N«eªÌ¦Ó¨¥¡A²Ä 13 ¦æ©M²Ä 21 ¦æ³o¨â¦æ´N¬O§PÂ_¤Þ¼Æ¤§¸ê®Æ§ÎºA¬O¦r¦ê§í©Î¦r²Õ¾ã¼Æ¡F´N«áªÌ¦Ó¨¥¡A°²¦p¬O¦r¦êªº¸Ü¡A²ÕĶ¾¹±N²ÕĶ²Ä 14 ¦æ¨ì²Ä 20 ¦æ¡A°²¦p¬O¦r²Õ¾ã¼Æªº¸Ü¡A²ÕĶ¾¹±N²ÕĶ²Ä 22 ¨ì²Ä 41 ¦æ¡C
¦b MASM 5.0 ¤Î¨ä¥H«áªºª©¥»¡A¤@Ó¥¨¶°ùر¬O¥i¥H¦A¨Ï¥Î¥t¤@Ó¥¨¶°¡A¹³³oºØ¡A¥¨¶°¸Ì±¤S¦³¥¨¶°ªº±¡§ÎºÙ¬°¡y±_ª¬¡z¡A¹³²Ä 30 ¦æ¡B²Ä 35 ¦æ¤Î²Ä 38 ¦æ³£¬O¦b print ¥¨¶°ùئA¨Ï¥Î¤@Ó¥¨¶°¡A³o¬O¥i¥H³Q¤¹³\ªº¡CMASM ¨Ã¨S¦³¨î±_ª¬¥¨¶°ªº¼h¼Æ¡A¥un°O¾ÐÅé¤Î°ïÅ|¤£³Q¨Ï¥Î§¹§Y¥i¡C
MASM ©Ò´£¨Ñªº±ø¥ó²ÕĶ±Ôz¡A°£¤F IF ¡Ð ELSE ¡Ð ENDIF ¤§¥~¡AÁÙ¦³¦n´XÓ¡A¥¦Ì³£¥i¥H°t¦X ELSE ¨Ï¥Î¡A¨Ã¥B¦ü¥G¡y¦¨Âù¦¨¹ï¡z¡C¤p¤ì°¸ªº·N«ä¬O¡AIF ¬O·í±ø¥ó¬°¯u®É¡A²ÕĶ IF ¤§«áªº±Ôz©Î«ü¥O¡A¦ÓÁÙ¦³¤@Ó IFE °²«ü¥O»P¤§°t¹ï¡AIFE ¬O«ü·í±ø¥ó¬°°°®É¡A²ÕĶ IFE ¤§«áªº±Ôz©Î«ü¥O¡C
IF1¡BIF2 ¬O´ú¸Õ¥Ø«eªº²ÕĶ¨BÆJ¡CMASM ¬O¨â¶¥¬q ( µù¤G )ªº²ÕĶ¾¹¡AIF1 »P IF2 ´N¬O¤À§O¥u¦b²Ä¤@¶¥¬q²ÕĶ©Î²Ä¤G¶¥¬q²ÕĶ¤~²ÕĶªº±ø¥ó²ÕĶ°²«ü¥O¡C¤@¯ë¦Ó¨¥¡A¥¨¶°¥u»Ý²ÕĶ¤@¦¸¡A©Ò¥H¥i¥H¥Î IF1 ¨Ó¼W§Ö²ÕĶ³t«×¡C³o¨âÓ°²«ü¥Oªº»yªk¬O¡G
IF1 ±Ôz1 [ELSE ±Ôz2] ENDIF
IF2 ¤]¬O¤@¼Ë¡A³£¤£»Ýn´ú¸Õ±ø¥ó¡A¦]¬°³£¤w¸g¼g¦b IF ¤§«á¤F¡C
IFDEF °²«ü¥O¬O¥Î¨Ó´ú¸Õ¨ä«áªºÅܼƩμаOµ¥²Å¸¹¬O§_¸g¹L©w¸q¡A¦pªG¬Oªº¸Ü¤~²ÕĶ¡F¦Ó IFNDEF «h¬O¥¼©w¸q¤~²ÕĶ¡C¨ä»yªk¬O¡G
IFDEF ²Å¸¹¦W ±Ôz1 [ELSE ±Ôz2] ENDIF
¦ý³oÓ«ü¥O«o¦³¥O¤H¤£¸Ñªº¦a¤è¡C°²¦p¬YӲŸ¹¦b IFDEF ¤§«á¤~©w¸q¡A¦b²Ä¤@¶¥¬q²ÕĶ ( µù¤G ) ®É¡A·íµM¬OÁÙ¥¼©w¸q¡A¦ý²Ä¤G¶¥¬q²ÕĶ®É´N¬O¤w©w¸q¤F¡F¤S¦pªG¸Ó²Å¸¹¦b IFDEF ¤§«e´N¤w¸g©w¸q¤F¡A¤£ºÞ²Ä¤@¶¥¬q©Î²Ä¤G¶¥¬q²ÕĶ³£¬O¤w©w¸q¡A©Ò¥H·Ó³o¼Ë¬Ý¨Ó¡A¦ü¥G³£±o²ÕĶ IFDEF ¤§«áªº±Ôz¤F¡A³o¼Ë IFDEF¡BIFNDEF °Z¤£¬O®Ú¥»´N²@µL¥Î³B¡H
ì¨Ón¨Ï¥Î IFDEF ©Î IFNDEF ¦³¨âÓ¤èªk¥i¨Ñ¨Ï¥Î¡A¤@¬O°t¦X«e±ªº IF1 ©Î IF2 ¨Ï¥Î¡A¥t¤@ºØ¤èªk¬O®Ú¥»´N¤£n¦bì©lµ{¦¡¤¤©w¸q¸Ó²Å¸¹¡Aµ¥¨ìn¨Ï¥Î®É¡A¦A©ó DOS ©R¥O´£¥Ü¤U¿é¤J MASM ªº°Ñ¼Æ¡y/D¡z¨Ó©w¸q¸ÓÅܼơA¨Ò¦p©³¤U³oÓµ{¦¡¡ASUM02.ASM¡A¬Opºâ¥Ñ¤@¶}©l¡A¤½®t¬°¤@ªºµ¥®t¼Æ¦C¤§©M¡A¦Ü©ó³Ì¥½¤@¶µ¬O¤°»ò¡A«h¬O¥Ñ¡y/D¡z°Ñ¼Æ«á±ªº©w¸q¨Ó¨M©w¡A¦pªG¨S¥H¡y/D¡z°Ñ¼Æ©w¸q³Ì¥½¶µ¡A«h³]¬° 100¡C
last_number macro ;;01 ¬O§_©w¸q³Ì«á¤@¼Æ ifdef number n dw number ;;02 ¬O¡A«h¥H¿ï¶µ©w¸q¬°·Ç else n dw 100 ;;03 §_¡A«h¥[¨ì 100 endif endm ;*************************************** code segment assume cs:code,ds:code org 100h ;--------------------------------------- start: jmp short begin last_number ;15 ©w¸q³Ì«á¤@¶µ¤§È counter dw 1 ;16 p¼Æ¾¹ string db "1+2+...+$" ;17 ¦L¥Xªº¦r¦ê begin: sub bx,bx ;18 BX ¬°©M mov cx,n ;19 CX ¬°¶µ¼Æ next: add bx,counter ;20 ¬Û¥[°j°é inc counter loop next mov dx,offset string mov ah,9 int 21h push bx ;27 «O¦s©M mov ax,n ;28 ¦L¥X³Ì«á¤@¶µ call display_ax mov dl,'=' ;30 ¦L¥Xµ¥¸¹ mov ah,2 int 21h pop ax ;34 ¦L¥X©M call display_ax mov ax,4c00h ;36 µ²§ô int 21h ;--------------------------------------- ;39 AL ¤§¼ÆȬ°¤Q¶i¦ì¤§Ó¦ì¼Æ¡A¦¹°Æµ{¦¡±N¥[¤W 30h ;40 ¨Ï¤§¦¨¬° ASCII ¦r¤¸¡A¦L¥X¿Ã¹õ¤W display_decimal proc near cmp n_zero,0 ;42 Àˬd jnz dply or al,al ;44 Àˬd³Ì°ª¦ì¼Æ¬O§_¬°¹s jz exit ;45 Y¬O¡A«h¤£¦L¥X¨Ó or n_zero,1 ;46 Y§_¡A«h¦L¥X¨Ó¨Ã¥B¨Ï n_zero ³]¬°¤@ dply: push ax push dx mov dl,al add dl,'0' mov ah,2 int 21h pop dx pop ax exit: ret n_zero db 0 ;56 n_zero ¬°¤@ÓºX¼Ð¡AY¬O³Ì°ª¦ì¼Æ¬° display_decimal endp ;57 ¹s«h¬°¤@¡A¨Ì¦¸»¼´îª½¨ì³Ì°ª¦ì¼Æ¤£¬° ;-------------------------------;58 ¹s®É¡An_zero ¤~³]¬°¤@ ;59 §â AX ¤ºªº¤Q¤»¶i¦ì¼ÆÈ¡A¥H¤Q¶i¦ì¤è¦¡¦L¦b¿Ã¹õ¤W display_ax proc near sub dx,dx mov bx,10000 mov n_zero,dl div bx call display_decimal mov ax,dx mov bx,1000 sub dx,dx div bx call display_decimal mov ax,dx mov bl,100 div bl mov dl,al call display_decimal mov al,ah cbw mov bl,10 div bl mov dl,al call display_decimal mov dl,ah add dl,'0' mov ah,2 int 21h ret display_ax endp ;--------------------------------------- code ends ;*************************************** end start
²ÕĶ SUM02.ASM ¥i¥H¹³¥H«e¤@¼Ëª½±µ©ó DOS ´£¥Ü¸¹¤U¡yMASM SUM02;¡z§Y¥i¡A³o¼Ëªº¸Ü°õ¦æµ²ªG·|¬O¡y1+2+...+100=5050¡z¡C¦ý±z¤]¥i¥H«ü©w¥½¶µ¬°¨ä¥L¼Æ¡A°õ¦æµ²ªG·|¤£¦P³á¡C¨Ò¦p¡G
H:\HomePage\SOURCE>masm /Dnumber=200 sum02; [Enter] Microsoft (R) Macro Assembler Version 5.00 Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved. 51502 + 418690 Bytes symbol space free 0 Warning Errors 0 Severe Errors H:\HomePage\SOURCE>link sum02; [Enter] Microsoft (R) Personal Computer Linker Version 2.40 Copyright (C) Microsoft Corp 1983, 1984, 1985. All rights reserved. Warning: no stack segment H:\HomePage\SOURCE>exe2bin sum02 sum02.com [Enter] H:\HomePage\SOURCE>sum02 [Enter] 1+2+...+200=20100 H:\HomePage\SOURCE>
ª`·N¨ì MASM ²ÕĶ¾¹¥Õ¦â³¡¤Àªº°Ñ¼Æ¿ï¶µ¡A§ïÅܨäÈ´N·|³y¥X¤£¦Pªº°õ¦æÀɨӡC
³o¨âÓ°²«ü¥Oªº»yªk¬O¡G
IFB <¤Þ¼Æ> IFNB <¤Þ¼Æ>
IFB ¬O¥Î¨Ó´ú¸Õ¬O§_¦³¤Þ¼Æ¶Ç¨ì¥¨¶°¤¤¡A¦pªG¨S¦³¤Þ¼Æªº¸Ü ( B ¬O«üªÅ¥Õ¡Ablank¡Aªº·N«ä¡A§Y¨S¦³¤Þ¼Æ )¡A«h²ÕĶ¡C¦Ó IFNB «h¬O¦³¤Þ¼Æ ( NB ¬O«ü¤£ªÅ¥Õ¡A§Y¦³¤Þ¼Æ )¡A«h²ÕĶ¡C³o¼Ë»¡¡A±z¥i¯àÁÙ¬O¤£À´¡A«Ý¤p¤ì°¸Á|Ó¨Ò¤l§a¡A©³¤U³oÓ¥¨¶°¡Apush_reg¡A¥i¥H§â¦n´XӼȦs¾¹±À¤J°ïÅ|¡Aª½¨ì¨S¦³«ü©wªº¼È¦s¾¹¥i±À¤J¡A¦Ó±À¤J°ïÅ|ªº¼È¦s¾¹¼Æ¥Ø¥i¥H¤£©T©w¥B¥i¥H¬O¥ô·N¤Q¤»¦ì¤¸ªº¼È¦s¾¹¡C
push_reg MACRO reg_string IRP reg,<reg_string> IFNB <reg> push reg ENDIF ENDM ENDM
¨Ï¥Î³oÓ¥¨¶°®É¡A¿é¤J¤§°Ñ¼Æ¥²¶·¥H¨¤¬A¸¹¥]³ò°_¨Ó¡A¨Ò¦p¦bµ{¦¡¤¤¥Î
push_reg <ax,bx,si>
¨Ó¨Ï¥Î¦¹¥¨¶°¡A¦]¬°¨¤¬A¸¹ªºÃö«Y¡AMASM ·|§â¿é¤Jªº ax,bx,si ·í°µ¤@Ó¦r¦ê¶Ç¤J push_reg ¥¨¶°¡A¥¨¶°ªº¥Dn¤º®e¬O¤@Ó¤£©w«½Æ°Ï¶ô¡A¸Ó¤£©w«½Æ°Ï¶ôªº¤Þ¼Æ´N¬Oèè¶Ç¤J¥¨¶°ªº¦r¦ê¡A¦Ó«á¨Ì¦¸¨ú¥X¤@ӼȦs¾¹±À¤J°ïÅ|¡Aª½¨ì¼È¦s¾¹³£³Q´£¥X¬°¤î¡C¦p¦óÀˬd¼È¦s¾¹¥þ³£³Q´£¥X¤F©O¡H´N¬O¥Î IFNB ¨ÓÀˬd¡A·íÁÙ¦³¼È¦s¾¹¥¼³Q´£¥X®É¡AIFNB ¬°¯u¡A²ÕĶ push reg ³o¤@¦æ¡AY¬°°°®É¡A«h²ÕĶ exitm¡A´N¸õ¥X¥¨¶°¤F¡C
¨ä»yªk¬O
IFIDN <¤Þ¼Æ1>,<¤Þ¼Æ2> IFDIF <¤Þ¼Æ1>,<¤Þ¼Æ2>
IFIDN ¬O¥Î¨Ó¤ñ¸û¤Þ¼Æ1 ©M¤Þ¼Æ2 ¬O§_¬Û¦P¡AIDN ¬O identical ¤§·N¡A°²¦p¬Û¦P«h²ÕĶ¡CIFDIF «h¬O¥Î¨Ó¤ñ¸û¤Þ¼Æ1 ©M¤Þ¼Æ2 ¬O§_¤£¦P¡ADIF ¬O different ¤§·N¡A°²¦p¤£¦P«h²ÕĶ¡C³o¨Ç¤Þ¼Æ³£¥²¶·¥Î¨¤¬A¸¹¥]¦í¡A¨Ã¥H¡y,¡z¹j¶}¡C
IFIDN ©M IFDIF ¤ñ¸û®É¡A·|¦Ò¼{^¤å¦r¥Àªº¤j¤p¼g¡A·N«ä¬O¡AAX ©M ax ³Qµø¬°¤£¦Pªº¦r¦ê¡F¦pªGn©¿²¤¤j¤p¼g¡A«h¥i¥H¥Î IFIDNI ©M IFDIDI¡A³o³Ì«áªº I ¦r¥Àªí¥Ü©¿²¤¤§·N¡C
8086 «ü¥Oªº PUSH ¥u¯à§â¤Q¤»¦ì¤¸ªº¼È¦s¾¹©Î¤Q¤»¦ì¤¸ÅܼƱÀ¤J°ïÅ|¡A¤£¯à§â¤Q¤»¦ì¤¸¥ß§YÈ (±`¼Æ) ©Î¤K¦ì¤¸ªº¼È¦s¾¹±À¤J°ïÅ|¡A¦Ó©³¤U³oÓ¥¨¶°½d¨Ò¡Apush_op¡A¤]¯à¨Ï¥ß§YȩΤK¦ì¤¸ªº¼È¦s¾¹±À¤J°ïÅ|¡C©³¤U¬O push_op ì©l½X¡G
page ,132 ;01 push_op MACRO arg ;;03 reg16 = 0 ;;05 reg08 = 0 ;;06 addr = 0 ;;07 ;;09 Àˬd¿é¤J°Ñ¼Æ¬O§_¬° 16 ¦ì¤¸ªº¼È¦s¾¹ IRP reg,<AX,BX,CX,DX,CS,DS,ES,SS,SI,DI,BP,SP,ax,bx,cx,dx,cs,ds,es,ss,si,di,bp,sp> IFIDN <reg>,<arg> push arg ;;12 ¦pªG¬Ûµ¥ªº¸Ü¡A±À¤J°ïÅ| reg16 = 0ffffh ;;13 ¼Æ©wµêÀÀÅܼƬ°¯u exitm ;;14 ¸õ¥X IRP °Ï¶ô ENDIF ENDM IF reg16 ;;17 Y reg16 ¬°¯u exitm ;;18 «h¸õ¥X push_op ¥¨¶° ENDIF ;;21 Àˬd¿é¤J°Ñ¼Æ¬O§_¬° 16 ¦ì¤¸ªº¼È¦s¾¹ IRP reg,<aX,bX,cX,dX,cS,dS,eS,sS,sI,dI,bP,sP,Ax,Bx,Cx,Dx,Cs,Ds,Es,Ss,Si,Di,Bp,Sp> IFIDN <reg>,<arg> push arg reg16 = 0ffffh exitm ENDIF ENDM IF reg16 exitm ENDIF ;;33 Àˬd¿é¤J°Ñ¼Æ¬O§_¬° 8 ¦ì¤¸ªº¼È¦s¾¹ IRP reg,<al,bl,cl,dl,ah,bh,ch,dh,AH,BH,CH,DH,AL,BL,CL,DL> IFIDN <reg>,<arg> reg08 = 0ffffh exitm ENDIF ENDM IF reg08 IRPC char,arg ;;41 ¨ú±o¼È¦s¾¹¦Wªº²Ä¤@Ó¦r¥À push char&&x ;;42 ±À¤J°ïÅ| exitm ;;43 ¸õ¥X IRPC °Ï¶ô ENDM exitm ;;45 ¸õ¥X push_op ¥¨¶° ENDIF ;;48 Àˬd¿é¤J°Ñ¼Æ¬O§_¬° 8 ¦ì¤¸ªº¼È¦s¾¹ IRP reg,<Al,Bl,Cl,Dl,Ah,Bh,Ch,Dh,aL,bL,cL,dL,aH,bH,cH,dH> IFIDN <reg>,<arg> reg08 = 0ffffh ENDIF ENDM IF reg08 IRPC char,arg push char&&x exitm ENDM exitm ENDIF ;;62 Àˬd¿é¤J°Ñ¼Æ¬O§_¬°§t¦³¼È¦s¾¹¶¡±µ©w§}¼Ò¦¡¡A§Y [BX]¡B[SI]¡K¡Kµ¥µ¥ IRPC char,arg IF ('&char' eq '[') addr=0ffffh exitm ENDIF ENDM IF addr push arg exitm ENDIF arg_size=((type arg)+1)/2 ;;74 ¿é¤J°Ñ¼Æ¤§ªø«× arg_type=(.type arg) and 3 ;;75 ¿é¤J°Ñ¼Æ¤§«¬ºA ;;77 Àˬd¿é¤J°Ñ¼Æ¬O§_¬°ÅÜ¼Æ IF arg_type eq 2 arg_offset =0 REPT arg_size arg_address=word ptr arg+arg_offset push arg_address arg_offset=arg_offset+2 ENDM exitm ENDIF ;;88 Àˬd¿é¤J°Ñ¼Æ¬O§_¬°¼Ð°O IF arg_type eq 1 push bp mov bp,sp push ax mov ax,offset arg xchg ax,[bp] mov bp,ax pop ax exitm ;;98 Y¤£¬O¼È¦s¾¹¡B©w§}¼Ò¦¡¡BÅܼơB¼Ð°Oªº¸Ü¡AÀ³¬°¥ß§YÈ ELSE push bp mov bp,sp push ax mov ax,arg xchg ax,[bp] mov bp,ax pop ax ENDIF ENDM
³oÓ¥¨¶°µ²ºc«Ü©úÅã¡A¥ýÀˬdn±À¤J°ïÅ|ªº°Ñ¼Æ¬O§_¬° 16 ¦ì¤¸¼È¦s¾¹( ²Ä 9 ¦æ¨ì²Ä 31 ¦æ )¡A¦pªG¤£¬O¦AÀˬd¬O§_¬° 8 ¦ì¤¸¼È¦s¾¹ ( ²Ä 33 ¦æ¨ì²Ä 60 ¦æ )¡A¦pªG¤£¬O¼È¦s¾¹ªº¸Ü¡A¦AÀˬd¬O§_¬°¼È¦s¾¹¶¡±µ©w§} ( ²Ä 62 ¦æ¨ì²Ä 72 ¦æ )¡A¦pªG¤£¬O¥H¤W³o´XºØªº¸Ü¡A¦AÀˬd¬O§_±À¤JÅܼƨì°ïÅ| ( ²Ä 77 ¦æ¨ì²Ä 87 ¦æ )¡A±µ¤U¨ÓÀˬd¬O§_±À¤J¼Ð°O¨ì°ïÅ| ( ²Ä 88 ¦æ¨ì²Ä 97 ¦æ )¡A°²¦p³£¤£¬O¤Wz±¡§Îªº¸Ü¡A´N¬O±À¤J¥ß§YȨì°ïÅ|¤F ( ²Ä 98 ¦æ¨ì²Ä 107 ¦æ )¡C
Àˬd¬O§_¬°¼È¦s¾¹ªº¤èªk¬O¥Î¤£©w«½Æ°Ï¶ô ( IRP ) ¨Ó«ü©wn¤ñ¸ûªº½d³ò¡A¬G¤Þ¼Æ¦C ( §Y²Ä 10 ¦æ¨¤¬A¸¹¤ºªº¤Þ¼Æ ) ¥]§t©Ò¦³ 16 ¦ì¤¸¼È¦s¾¹¦WºÙ¡A¦ý¬O¦]¬°°Ñ¼Æ»P¤Þ¼Æ³£³Qµø¬°¦r¦ê¡A©Ò¥H¤j¤p¼g¬O¦³®t§Oªº¡A¥²¶·¦b¤Þ¼Æ¦CùØ¥]§t¤£¦Pªº¤j¤p¼g±Æ¦C¤è¦¡¡C«ü©w¦n¤ñ¸û½d³ò«á¡A¦A¥Î IFIDN ¤ñ¸û¿é¤J°Ñ¼Æ¬O§_¬°¤Þ¼Æ¦C¤¤ªº¤@Ó¡A°²¦p¬O 16 ¦ì¤¸¼È¦s¾¹ªº¸Ü¡A«hª½±µ§â¸Ó°Ñ¼Æ±À¤J°ïÅ|§Y¥i¡A¨Ã³]©w¤@ÓµêÀÀÅܼơAreg16¡A¬° 0ffffh¡A0ffffh ªí¥Ü¯uªº·N«ä ( ²Ä 12¡B13 ¦æ )¡CµM«á¦A¸õ¥X push_op °ïÅ|¡C
¤p¤ì°¸¦A§â IRP «½Æ°Ï¶ôªº°õ¦æ¤è¦¡»¡©ú¤@¹M¡C²Ä 10 ¦æ¨ì²Ä 16 ¦æµ{¦¡½X¬°¡G
IRP reg,<AX,BX,CX,DX,CS,DS,ES,SS,SI,DI,BP,SP,ax,bx,cx,dx,cs,ds,es,ss,si,di,bp,sp> IFIDN <reg>,<arg> push arg ;;12 ¦pªG¬Ûµ¥ªº¸Ü¡A±À¤J°ïÅ| reg16 = 0ffffh ;;13 ¼Æ©wµêÀÀÅܼƬ°¯u exitm ;;14 ¸õ¥X IRP °Ï¶ô ENDIF ENDM IF reg16 ;;17 Y reg16 ¬°¯u exitm ;;18 «h¸õ¥X push_op ¥¨¶° ENDIF
ªí¥Ü¦b²Ä 10 ¦æ¨ì²Ä 16 ¦æµ{¦¡½X·|«½Æ²ÕĶ¡C²Ä¤@¦¸®É¡Areg ·|¥H AX ¥N¤J²ÕĶ¡A²Ä 11 ¦æ¬O¤ñ¸û arg »P reg ³o¨â¦r¦ê¬O§_¬Ûµ¥¡A¦pªG¬Ûµ¥«h²ÕĶ²Ä 12 ¦æ¨ì²Ä 14 ¦æ¤§¶¡ªºµ{¦¡½X¡A¤£¬Ûµ¥«hµ²§ô IFIDN¡AµM«á¹J¨ì ENDM¡A¬G«½Æ²Ä¤G¦¸¡A¨Ï reg ¥H BX ¥N¤J²ÕĶ¡K¡K¤@ª½¨ì sp ©Ò¦³¤Þ¼Æµ²§ô¡C
²Ä 14 ¦æ¡A¬O¦]¬°°²¦p¤w¸g§ä¨ì¬Û²Å¦Xªº¼È¦s¾¹¡A´N¨S¥²n¦A¤ñ¸û¤F¡A³o¼Ë¥i¥H¥[§Ö²ÕĶ³t«×¡C( ÁöµM¤]¨S§Ö¦h¤Ö¡C) ²Ä 17 ¦æ¨ì²Ä 19 ¦æ¡A¤]¬O³o¼Ëªº¹D²z¡A¬J¤w§ä¨ì¬O§â¼È¦s¾¹±À¤J°ïÅ|¡A¤]´N¨S¥²n²ÕĶ¥H¤Uªºµ{¦¡¤F¡A¬Gª½±µ¸õ¥X push_op °ïÅ|¡C
±z¥i¯à·|°Ý¡A²Ä 14 ¦æ´N¤w¦³¤F exitm¡A¬°¦ó²Ä 18 ¦æÁÙn¦³Ó exitm ©O¡H³o¬O¦]¬° RPT¡BIRP¡BIRPC ³o¤TÓ«½Æ°Ï¶ô¡AÃþ¦ü¥¨¶°µ²ºc¡AYn¦b¤¤¶¡°±¤î²ÕĶ³£¥i¥H¥Î exitm ¨Ó¸õ¥X¥¨¶°©Î°Ï¶ô¡A©Ò¥H²Ä 14 ¦æ¬O¸õ¥X IRP °Ï¶ô¡A²Ä 17 ¦æ¬O¸õ¥X push_op ¥¨¶°¡C
²Ä 33 ¦æ¨ì²Ä 61 ¦æ¡A¬OÀˬd°Ñ¼Æ¬O§_¬° 8 ¦ì¤¸¼È¦s¾¹¡A¤èªk©M¤Wz´X¥G¬Û¦P¡A®t§O¦b©ó 8 ¦ì¤¸¼È¦s¾¹ ( ¨Ò¦p ah ) µLªk±À¤J°ïÅ|¥²¶·§ï¦¨ 16 ¦ì¤¸¼È¦s¾¹ ( ¨Ò¦p ax )¡C©Ò¥H²Ä 41 ¦æ¨ì²Ä 44 ¦æ¦h¤FÓ IRPC «½Æ°Ï¶ô¡A¦¹«½Æ°Ï¶ô¬O¬°¤F¨ú±o¼È¦s¾¹ªº²Ä¤@Ó¦r¥À¡A·í¨ú±o²Ä¤@Ó¦r¥À´N§â¸Ó¦r¥À¥[¤W¡yx¡z¦A±À¤J°ïÅ|¡AµM«á¸õ¥X IRPC °Ï¶ô¤Î push_op ¥¨¶°¡C¦Ü©ó¸Ó IRPC «½Æ°Ï¶ôªº¹B§@¤è¦¡¦p¤U¡G¸Ó IRPC °Ï¶ô«½Æ¦¸¼Æ¥u¦³¨â¦¸¡A¤À§O¥H 8 ¦ì¤¸¼È¦s¾¹¦WºÙªº¨âÓ¦r¥À¥N¤J²ÕĶ¡A·í²Ä¤@¦¸®É§Y¥H 8 ¦ì¤¸¼È¦s¾¹¦WºÙªº²Ä¤@Ó¦r¥À¥N¤J¡AµM«á¥[¤W¡yx¡z¦A±À¤J°ïÅ|¡AµM«á¥ß¨è¸õ¥X IRPC °Ï¶ô¡A¬G¨Æ¹ê¤W³oÓ«½Æ°Ï¶ô¥u²ÕĶ¤@¦¸¦Ó¤w¡C
²Ä 42 ¦æªº¡y&&x¡z¬°¦ón¦³¨âÓ¡y&¡z©O¡H³o¬O¦]¬°®Ú¾Ú MASM ¤â¥U¤W»¡¨C¼h°Ï¶ôn¨Ï¥Î¡y&¡z¡A¬G²Ä¤G¼hn¥Î¨âÓ¡y&¡z¡C
²Ä 62 ¦æ¨ì²Ä 73 ¦æ¬O¥Î¨ÓÀˬd±À¤J°ïÅ|ªº°Ñ¼Æ¬O§_¬°¼È¦s¾¹¶¡±µ©w§}¡A¼È¦s¾¹¶¡±µ©w§}¼Ò¦¡¬O¹³©³¤Uªº¼Ë¤l¡G
mov ax,[bx] push [si] sub ax,[bx+200h]
Æ[¹î¥H¤W´XÓ¨Ò¤l¡A±z·|µo²{¡A³oºØ©w§}¼Ò¦¡§t¦³¨âÓ¤¤¬A¸¹¡A¦]¦¹ÀËÅç¤èªk´N¬O¥H IRPC Àˬd°Ñ¼Æ¤¤¬O§_¦³¡y[¡z( ²Ä 64 ¦æ¨ì²Ä 67 ¦æªº IF ±ø¥ó²ÕĶ )¡A°²¦p¦³ªº¸Ü¡A·|¨ÏµêÀÀÅܼơAaddr¡A³]¬°¯u¡CµM«á±µ¤U¨Óªº´Nª½±µ¨Ï¸Ó°Ñ¼Æ±À¤J°ïÅ|¡A¦]¬° PUSH «ü¥O´N¥i¥Hª½±µ±À¤J¼È¦s¾¹¶¡±µ©w§}¼Ò¦¡¡C
±µ¤U¨Ó´N¥u³Ñ¤UÅܼơB¼Ð°O»P¥ß§YÈ¥¼³B²z¡An°Ï§O«e¨âªÌ¥i¥Î MASM ©Ò´£¨Ñªº .TYPE ¹Bºâ¤l¡C
.TYPE ©M TYPE ¤£¦P¡ATYPE ¤w¦bµy«e»¡©ú¹L¤F¡A³o¨à¤p¤ì°¸¥u»¡©ú .TYPE ªº¥Îªk¡G( .TYPE «e¦³Ó¤p¼ÆÂI¡A¤£¥i¬Ù²¤ )
.TYPE ¹Bºâ¦¡
.TYPE ¹Bºâ·|®Ú¾Ú¹Bºâ¦¡¶Ç¦^¤@Ӧ줸²Õ¤j¤pªº¸ê®Æ¡A°²¦p¹Bºâ¦¡¤£¦Xªk¡A«h¶Ç¦^¹s¡F¦pªG¦Xªk¡A©Ò¶Ç¦^ªº¦ì¤¸²Õ¥u¦³²Ä 0¡B1¡B5¡B7 ¦ì¤¸¦³·N¸q¡A¨ä¥L¦ì¤¸§¡¬°¹s¡A³o¥|Ӧ줸©Ò¥Nªíªº·N¸q¦p¤Uªí¡G
¦ì¤¸ ¸Ó¦ì¤¸¬°¹s ¸Ó¦ì¤¸¬°¤@ »¡©ú ------------------------------------------------------------ 0 »Pµ{¦¡µLÃö »Pµ{¦¡¦³Ãö »Pµ{¦¡¦³Ãö¬O«ü¼Ð°O¡K¡Kµ¥ 1 »P¸ê®ÆµLÃö »P¸ê®Æ¦³Ãö »P¸ê®Æ¦³Ãö¬O«üÅܼơK¡Kµ¥ 5 ¥¼©w¸q ¤w©w¸q 7 °Ï°ì©Ê©Î¤½¦@©Ê ¥~³¡ªº
·í²Ä 75 ¦æªºµêÀÀÅܼơAarg_type¡A¬° 2 ®É¡Aªí¥Ü¬°ÅܼơA¥Ñ²Ä 79 ¦æ¨ì²Ä 85 ¦æªºµ{¦¡³B²z¡FY arg_type ¬° 1 ®É¡Aªí¥Ü¬°¼Ð°O¡A¥Ñ²Ä 90 ¨ì²Ä 97 ¦æªºµ{¦¡³B²z¡FY¤£¬° 1 ¤]¤£¬° 2¡Aªí¥Ü¬°¥ß§YÈ¡A¥Ñ²Ä 100 ¦æ¨ì²Ä 106 ¦æªºµ{¦¡³B²z¡C
³B²zÅܼƮɡA¤£¥un¯à³B²z¦r²ÕÅܼơA¤]¬°¤Fn¯à³B²zÂù¦r²Õ¡B¥|¦r²Õµ¥«¬ºAªºÅܼơA©©Ò¥H¥ý¨ú±oÅܼƪø«×¡A¦A°£¥H 2¡A´N¯à¨D¥X±À¤J°ïÅ|ªº¦¸¼Æ¡A¦Ó¨C¦¸±À¤J°ïÅ|®É¦ì§}³£±o¼W¥[ 2¡A³o¨Ç²Ó¸`³£¥i¦b²Ä 79 ¦æ¨ì²Ä 85 ¦æ IF¡ÐENDIF ¤§¶¡ªºµ{¦¡³B²z¡C
³B²z¥ß§YȪº¤è¦¡«Ü¯S§O¡A¤p¤ì°¸¬°¤F¥u§â¥ß§YȱÀ¤J°ïÅ|¡A¨Ã¥B¨Ï©Ò¦³¼È¦s¾¹³£¤£§ïÅÜ¡A¡A·íµM¥u¦³ SP ¼È¦s¾¹·|¦]¬°±À¤J¤F¤@ӥߧYȦӴî¤Ö¤G¡C¬°¤F¹F¨ì¤W±ªº¥Øªº¡A¼g¤F²Ä 100 ¦æ¨ì²Ä 106 ¦æªºµ{¦¡¡AÁöµM¦³ÂI¨à½ÆÂø¡A¦ýÀ³¸Ó¤£¤ÓÃøÀ´¡C³B²z°ïÅ|¨ä¹ê´N¬O³o¼Ë¡C¦Ó³B²z¼Ð°Oªº¤èªk©M¥ß§YȬۦü¡A¦]¬°¼Ð°O¨ä¹ê´N¬O¤@ӥߧYÈ¡A¥Lªí¥Üµ{¦¡¦ì§}¡C
¤p¤ì°¸·Q¡A²Ä 26¡B27 ¨â³¹ªº¤º®e¡A¥¨¶°»P±ø¥ó²ÕĶ¡AÀ³¸Ó¥i¥H¨Ï±z¹ï¥¨¶°¥u¯à³æ³æ´î¤Ö¥´¦rªº¨èªO¬M¹³¦³©Ò§ïÅÜ¡C°²¦p±z¯àµo´§¤@¨Ç·Q¹³¤O¡A¥¨¶°»P±ø¥ó²ÕĶ¼g¥X¨Óªº²Õ¦X»y¨¥µ{¦¡¥i¤@ÂI³£¤£¹³²Õ¦X»y¨¥©O¡I
µù¤@¡G
¥j¦¥H«e¡A¼gµ{¦¡¡A¤×¨ä¬O§Q¥Î BASIC ¼¶¼gªºµ{¦¡¡A±`±`¦]¬°±ø¥ó¸õÅD¡]IF¡ÐELSE¡ÐTHEN¡^§YµL±ø¥ó¸õÅD¡]GOTO¡^¨Ï±oì©lµ{¦¡³Q¤Á³Î¦¨¤äÂ÷¯}¸H¡A«Ü¤£©öºûÅ@¡C¦]¦¹«á¨Ó¦³³\¦hµ{¦¡³]p®v¡A¤£¦AÀݥΠGOTO «ü¥O¡A¹J¨ì±ø¥ó¸õÅD®É¡A¨Ï±ø¥ó¬°¯u¨àn°õ¦æªº«ü¥O¥]§t¦b¤@Ӱ϶ô¤¤¡A¤£¥Î°õ¦æªº«ü¥O¥]§t¦b¥t¤@Ӱ϶ô¤¤¡A¨Ã¤j¶q¥Î°Æµ{¦¡¡A³o¼Ë´N¨Ï±oì©lµ{¦¡¸û©öºûÅ@¡CPASCAL¡BC¡BC++ ³o¨Ç»y¨¥´N¬OÄݩ󵲺c¤Æªº»y¨¥¡C
µù¤G¡G
MASM ²ÕĶì©lÀɮɡA¬O¤À¨â¦¸²ÕĶªº ( two pass )¡An³o»ò°µªºì¦]¬O³o¼Ëªº¡A½Ð¬Ý¥H¤U»¡©ú¡C·í MASM ¶}©l²ÕĶ®É¥ýŪ¤Jì©lÀɮסA¥Ñ¤W¦Ó¤U²ÕĶ¡A¦pªG¹J¨ì©|¥¼©w¸qªº¼Ð°O¡BÅܼƵ¥¡AMASM ·|¥ý°²³]¡A¦Ó¹w¯d¤U¤@¨ÇªÅ¶¡µ¹³o¨Ç¥¼©w¸qªº¸ê®Æ¡A·íŪ¨ìì©lµ{¦¡«á±®É¡AMASM µo²{³o¨Ç¥¼©w¸qªº¼Ð°O¡BÅܼƦb«á±©w¸q¡A©ó¬O·í²Ä¤G¦¸²ÕĶ®É¡A¦A§â³o¨Ç¥ý«e°²³]ªº¦ì§}©Îªø«×ק令¥¿½Tªº¼ÆÈ¡C
·íµM¦pªG¥ý«e°²³]ªº¥¿½T´N¨S¦³°ÝÃD¡A¦pªG°²³]¿ù»~ªº¸Ü¡A¥i¥H¤À¬°¨âºØ±¡§Î¡C²Ä¤@ºØ±¡§Î¬O MASM ©Ò°²³]ªºªÅ¶¡©Îªø«×¤ñ©Ò©w¸qªº¨Ó±o¤j©Î¦h¡A¨º²Ä¤G¶¥¬q²ÕĶ®É¡AMASM ·|§â¦h¾lªºªÅ¶¡¥H NOP «ü¥O¨ú¥N¡C°²¦p©Ò°²³]ªºªÅ¶¡©Îªø«×¤ñ©Ò©w¸qªº¨Ó±o¤p©Î¤Öªº¸Ü¡A¨º´N·|²£¥Í¿ù»~¡A³o´N¬O©Ò¿×ªº¡y¬Û¦ì¿ù»~¡z(Phase error between passes)¡C
³o¬O¤@Ó 8086 «ü¥O¶°ªº¨ä¤¤¤@Ó«ü¥O¡A¥¦ªº¥\¥Î¥u¬OÅý CPU ªÅÂà¤@ӮɯߡA¨Ã¤£°µ¥ô¦ó¨Æ¡C