ããDEBUGæ¯ä¸ä¸ªDOSå®ç¨ç¨åºï¼æ¯ä¾ç¨åºå使ç¨çç¨åºè°è¯å·¥å
·ï¼å¯ä»¥ç¨å®æ£æ¥å
åä¸ä»»ä½å°æ¹çåè以åä¿®æ¹ä»»ä½å°æ¹çåèãå®å¯ä»¥ç¨äºéæ令æ§è¡æ个ç¨åºä»¥éªè¯ç¨åºè¿è¡çæ£ç¡®æ§ï¼ä¹å¯ä»¥è¿½è¸ªæ§è¡è¿ç¨ãæ¯è¾ä¸ä¸ªæ令æ§è¡ååçå¼ä»¥åæ¯è¾ä¸ç§»å¨å
åä¸æ°æ®çèå´ï¼è¯»åæ件ä¸ç£ç
æåºã
ããå®çåè½å
æ¬ä»¥ä¸å 个æ¹é¢ã
ããâ ç´æ¥è¾å
¥ï¼æ´æ¹ï¼è·è¸ªï¼è¿è¡
æ±ç¼è¯è¨æºç¨åºï¼
ããâ è§å¯æä½ç³»ç»çå
容ï¼
ãã3.æ¥çROM BIOSçå
容ï¼
ããâè§å¯æ´æ¹RAMå
é¨ç设置å¼ï¼
ããâ以æåºææ件çæ¹å¼è¯»å
软çæ°æ®ã
ããA æ±ç¼å½ä»¤
ããåè½ï¼ å°æ令ç´æ¥æ±ç¼æ
æºå¨ç è¾å
¥å°å
åä¸ã
ãã说æï¼ ç¨äºå°æ®µç¨åºçæ±ç¼åä¿®æ¹ç®æ ç¨åºï¼ææè¾å
¥çæ°ååéç¨åå
è¿å¶ï¼ ç¨æ·è£
å
¥å
åçæ±ç¼è¯å¥æ¯è¿ç»åæ¾çï¼è¥æ²¡ææå®å°åï¼å¹¶ä¸åé¢æ²¡æ使ç¨æ±ç¼å½ä»¤ï¼è¯¥è¯å¥è¢«æ±ç¼å° CS:0100åºåã
ããä¾Aï¼>DEBUG
ãã-a 0100
ãã08F1ï¼0100 MOV AHï¼09
ãã08F1ï¼0102 MOV DXï¼109
ãã08F1ï¼0105 INT 21H;
ãã08F1ï¼0107 INT 21H;<-XPä¸è¿è¡cmd debugæ¶,åºè¯¥æ¯INT 20H,21Hä¼åºéæ ææ令é误
ãã08F1ï¼0109 db 'May I help you $'
ãã08F1ï¼0115â离å¼aç¶æ
ãã-g âè¿è¡
ããMay I help you è¿è¡ç»æ
ããProgram terminated normally表示è¿è¡æ£å¸¸
ããCæ¯è¾å½ä»¤
ããåè½ï¼ æ¯è¾ä¸¤å
ååºåä¸çå
容æ¯å¦ç¸åï¼è¥ä¸ååæ¾ç¤ºå
¶å°ååå
容ã
ããå¦ï¼C4000ï¼0 3F 100
ããå°±æ¯ç¨æ¥æ¯è¾4000ï¼0000-4000ï¼003Fä¸DSï¼0100-DSï¼013Fä¹é´çå
容ï¼å
¶æ¾ç¤ºæ ¼å¼å¦ä¸ï¼
ããå
åå°å1å
å«å¼1å
å«å¼2å
åå°å2
ããä¾ï¼æ¯è¾4000ï¼0 3F 100å
容çå·®å¼
ãã-C4000ï¼0 3F 100
ãã4000ï¼0000 64 43 08F1ï¼0100
ãã4000ï¼0001 3E 69 08F1ï¼0101 æ¾ç¤ºå
容çå·®å¼å¤
ãã4000ï¼0002 78 FF 08F1ï¼0102
ããâ¦â¦â¦â¦â¦â¦â¦â¦â¦â¦â¦â¦â¦â¦
ããå¦æè¦æ¯è¾çèå´å¨DSå
ï¼å段å°åä¸å¿
æåºï¼
ããå¦ï¼-C 0 4 100ï¼æ¯è¾DSï¼0---DSï¼4ä¸DSï¼100---DSï¼104
ããCå½ä»¤çå¦ä¸ç§æ ¼å¼å¦ä¸ï¼Cå°å1 L é¿åº¦ å°å2
ããå¦ï¼-C000ï¼0 L4 0ï¼ç±0000ï¼0ä¸ä¸DSï¼0å¼å§æ¯è¾å®å-C0000ï¼0 3 0å½ä»¤ç¸çï¼æ¾ç¤ºç»æå¦ä¸ï¼
ãã0000ï¼0000 8A C0 08F1ï¼0000
ãã0000ï¼0001 10 20 08F1ï¼0001 å®ä»¬é½æ¯è¾4个åè
ãã0000ï¼0002 1C 00 08F1ï¼0002
ãã0000ï¼0003 49 7F 08F1ï¼0003
ãã转å¨å½ä»¤
ãã* D[å°å] æD[èµ·å§å°å][ç®çå°å] 转å¨å½ä»¤
ããåè½ï¼ 以å
åæ 象æ¹å¼æ¾ç¤ºå
åä¸çä¿¡æ¯ã
ãã说æï¼ è½¬å¨ç¨å·¦å³ä¸¤é¨åæ¾ç¤ºå
åæ 象å
容ï¼å·¦è¾¹ä»¥åå
è¿å¶ï¼å³è¾¹ä»¥ASCâ
¡å符æ¾ç¤ºï¼ææä¸å¯æå°å符ç¨å¥å·ï¼ãï¼è¡¨ç¤ºãæ¯è¡æ¾ç¤º16个åèçå
容ï¼å¨ç¬¬å
«å第ä¹ä¸ªåèä¹é´æä¸ä¸ª
è¿å符 - æ¤å½ä»¤éå«ç段å°å为DSçå¼ãè¥æªæå®èµ·å§å°åï¼åDå½ä»¤ä»æ¾ç¤ºçæåä¸ä¸ªåå
çä¸ä¸ä¸ªåå
å¼å§æ¾ç¤ºï¼è¥ä»¥å没æ使ç¨ç»Då½ä»¤ï¼ åä»å使åç段
å¯åå¨çå
容ï¼å ä¸å°å
å移é 0100H å¼å§æ¾ç¤ºã
ããä¾ï¼-d10ï¼4få³ä¸ºæ¾ç¤ºDSï¼4fçå
容å¨Då½ä»¤ä¸å¦ä¸æåºæ®µå°åï¼åå
¶é»è®¤ä¸ºDS段ã
ããå¦ææ段å°åï¼åä»ææç段å°åååºæå®çèå´
ããå¦ï¼-dfffï¼00ï¼0f
ããæ们ä¹å¯ä»¥æå®é¿åº¦æ¥ååºæéè¦å
åå
容
ããå¦ï¼-d 100 L20å³ä¸ºæ¾ç¤ºç±DSï¼100-DSï¼11Fçå
容ï¼å
±20H个åèï¼
ãã* E[å°å] [åèä¸²ï¼ ä¿®æ¹å
åå½ä»¤
ããåè½ï¼ ä»æå®çå°åå¼å§ä¿®æ¹å
åå¼ã
ããæ ¼å¼ï¼Eèµ·å§å°å[æ°æ®è¡]
ããâ´ç¨ç»å®å
容代æ¿æå®èå´çåå
å
容
ãã-Eå°å å
容表
ããä¾ï¼-E100 41 42 43 44 48 47 46 45
ãã-D 100ï¼L08
ãã08F1ï¼0100 41 42 43 44 48 47 46 45 ABCDHGFEâ¦
ããâµé个å
åå
容
ããä¾ï¼-E 100ï¼
ãã08F1ï¼0100 76 42 ï¼42æ¯æä½åé®å
¥
ããæ¤å½ä»¤æ¯å°å100å·å
åå
容76ä¿®æ¹ä¸º42ï¼ç¨Då½ä»¤å¯å¯çã
ãã* F[å°åèå´] [åèæåè串] å¡«åå½ä»¤
ããåè½ï¼ å°è¦å¡«åçåèæåè串填å
¥ç±å°åèå´æå®ç
åå¨å¨ä¸ã
ããä¾ï¼-f100 120 61 62 63 64
ãã-d100 11f
ãã08F1:0100 61 62 63 64 61 62 63 64 -61 62 63 64 61 62 63 abcd abcd abcd abcd
ãã08F1:0110 13 67 98 E3 C8 2E B3 B6 -03 21 AC 19 3121 4E 96 gâ¦â¦1â¦
ããå¦ææ°æ®è¡è¶
åºæå®çèå´ï¼åå¡«ä¸ä¸çæ°å¼ä¼è¢«å¿½ç¥ã
ããä¾ï¼-f 100 107 41 43 43 44 45 46 47 48 49 4A 4B 4C 4D -d 100ï¼lof
ãã08F1ï¼0100 41 42 43 44 45 46 47 64 -61 62 63 64 ABCDEFGdabcdabcd
ããç±ä¸ä¾å¯çåºï¼è¶
åºèå´çæ°æ®è¢«å¿½ç¥
ããå¦å¤ï¼FåEå½ä»¤é½å¯å¡«å
¥
å符串ï¼
ããå¦ï¼-F 100 105 "MSDOS"
ãã-d 100 l0f
ãã08F1ï¼0100 4D 53 44 4F 53 46 47 64 -61 62 63 64 MS DOS FGabcd abcd
ããGæ§è¡å½ä»¤
ããåè½ï¼ æ§è¡æ£å¨è°è¯çç¨åºï¼å½è¾¾å°
æç¹æ¶åæ¢æ§è¡ï¼ 并ä¸æ¾ç¤ºå¯åå¨æ å¿åä¸ä¸æ¡è¦æ§è¡çå½ä»¤ã
ãã说æï¼ å¦æ没ææå®èµ·å§å°åï¼é£ä¹å½åæ令å°åç±CSï¼IPå¯åå¨çå
容æ¥å³å®ï¼å¦æç¨æ·æå®èµ·å§å°åå°±ä»æå®çèµ·å§å°åå¼å§æ§è¡ãå¦ææå®æç¹ï¼å½æ令å°è¾¾æ令å°åæ¶åæ¢æ§è¡ï¼å¹¶æ¾ç¤ºåå¯åå¨æ å¿ä½çå
容åä¸ä¸æ¡è¦æ§è¡çå½ä»¤ï¼æå¤å
许ç¨æ·è®¾å®10个æç¹ã
ããä¾ï¼Aï¼\>debug tan.exe
ãã-uï¼
åç¼è¯ææ±ç¼è¯è¨ç¨ç
ããâ¦â¦â¦â¦
ãã. .
ãã-g 100 æå®ä¸æç¹
ããProgram terminated normally:
ããå¦å¤ï¼æ们å¨DEBUGä¸å¯è¿è¡ä¸ä¸ªæ件.EXE
ããå¦ï¼Aï¼\>debug tan.exe
ãã-g
ããå³å¯å¼å§è¿è¡æ¤ç¨åºï¼åå¨DOSä¸å®å
¨ä¸æ ·ï¼
ãã* H[æ°å¼][æ°å¼] åå
è¿å¶ç®æ¯è¿ç®å½ä»¤
ããåè½ï¼ åå«æ¾ç¤ºä¸¤ä¸ª
åå
è¿å¶æ°ç¸å çå以å第ä¸ä¸ªæ°åå»ç¬¬äºä¸ªæ°çå·®ã
ãã说æï¼ æ¿ç¨æ·å®æç®åçåå
è¿å¶æ°çè¿ç®ã
ããä¾ï¼-h4538 5623
ãã9B5B EF15
ããIå½ä»¤
ããåè½ï¼ ä»æå®ç端å£è¾å
¥å¹¶æ¾ç¤ºï¼ç¨åå
è¿å¶ï¼çä¸ä¸ªåèã
ããä¾ï¼-i70
ããF9ï¼æ¾ç¤º70端å£çå
容为F9
ããIå½ä»¤å¯ç±80X86ç64K个端å£åæ°æ®
ããLå½ä»¤
ããåè½ï¼ å°ä¸ä¸ªæ件æççç»å¯¹æåºè£
å
¥åå¨å¨ã
ãã说æï¼ å个Lå½ä»¤è½å¤è£
å
¥çæ大æåºæ°æ¯ 80Hï¼å
¶ä¸çå· 0ï¼1ï¼2ï¼3â¦â¦åå«ä»£è¡¨ Aï¼Bï¼Cï¼â¦â¦åºç°è¯»çéï¼æ¾ç¤ºé误信æ¯ã
ããâ´æ ¼å¼1.Lè£
å
¥å°å
驱å¨å¨å èµ·å§æåº/æåºæ°
ããè¿ç§æ¹å¼å¯æç£çä¸æå®æåºèå´çå
容è£
å
¥å°åå¨å¨ä»æå®å°åå¼å§çåºåä¸ï¼å¨æ¤å¤æåºç¼å·å¼ç¨é»è¾/æåºçæ¹å¼ã
ããä¾ï¼-L 100 0 01ï¼å°A驱ç0æåºè£
è³CSï¼100ä¸
ãã-d 100 10f
ãã08F1:0100 EB 3C 90 3C 53 44 4F 53 -36 2E 32 32 02 01 01 00.Lï¼MSDOS 6.22â¦â¦
ããâµæ ¼å¼2ï¼Lè£
å
¥å°å
ããè¿ç§æ¹å¼å¯ææå®æ件è£
å
¥å
åï¼è£
å
¥çæ件å¯å¨è¿å
¥DEBUGæ¶æå®äº¦å¯ç¨Nå½ä»¤å»ºç«ï¼æ ¼å¼ä¸º-næ件åï¼
ããä¾1 DEBUG tan.pas
ãã-L 100
ããä¾2 DEBUG
ãã-n tan.pas
ãã-L 100
ããé¡»ç¥ï¼Lå½ä»¤åªè½è¯»åé»è¾æåºï¼ä¸è½è¯»å硬çååºè¡¨
ããLå½ä»¤ä¸æç¨çç£ç代ç A=00ï¼B=01ï¼C=02â¦â¦
ãã