希望专业的人士能给个准确的答案。
DOSä¸çDebugï¼[
æ¯ä¸ºDOSæä¾çæåç侦éï¼è·è¸ªç¨åºè¿è¡ï¼æ£æ¥ç³»ç»æ°æ®çå·¥å ·ç¨åºï¼å®æ¯å¨å符çé¢ä¸ä»¥åå符å½ä»¤æ¹å¼å·¥ä½ãè¦å¾å¥½å°ä½¿ç¨å®å¿ é¡»å ·å¤ä¸å®çæ±ç¼ç¨åºè®¾è®¡å硬件åºæ¬ç¥è¯çè½åï¼å½ç¶ï¼å®ä¸ºæ±ç¼è¯è¨ç¨åºåæä¾äºææçè°è¯æ段ï¼å®çåè½å æ¬ä»¥ä¸å 个æ¹é¢ã�
1. ç´æ¥è¾å ¥ãæ´æ¹ãè·è¸ªãè¿è¡æ±é æ ½é¯ç»¦é¢å
2. è§å¯æä½ç³»ç»çå 容ï¼�
3. æ¥çROM BIOSçå 容ï¼�
4. è§å¯æ´æ¹RAMå é¨ç设置å¼ï¼�
5. 以æåºææ件çæ¹å¼è¯»å软çæ°æ®ã�
å¨DEBUGä¸å°åç¨æ®µå°åä¸æ®µå å°åæ¥è¡¨ç¤ºï¼è段å°åå¯ä»¥æç¡®å°æåºæ¥ï¼ä¹å¯ä»¥ç¨ä¸ä¸ªæ®µæ示å¨(段å¯åå¨)æ¥ä»£è¡¨ï¼ç¨æ®µå¯åå¨è¡¨ç¤ºæ¶ï¼å ¶æ®µå°åå°±æ¯æ¤å¯åå¨çå å«å¼ï¼�
å¦ï¼ç¨æ®µå°åå段å å°å表示FOFFï¼0100�
ç¨æ®µå¯åå¨å段å å°å表示CSFï¼0100âCSæåF000�
ä¸é¢ååºäºå¸¸ç¨å½ä»¤ç¨æ³ã
-A å°å ä»æå®å°åå¼å§ç¼åå°æ±ç¼ç¨åºï¼æ两个å车é®ç»æç¼è¾
-U å°å ä»æå®å°åå¼å§åæ±ç¼32åèçæºå¨æ令ï¼ç¼ºçå°ååä»ä¸ä¸Uå½ä»¤ç»§ç»
-D å§å ç»å 以16è¿å¶/Ascåç¬¦å¯¹ç §æ¹å¼æ¾ç¤ºæå®å åèå´çæ°æ®ï¼æ¯è¡æ¾ç¤º10H个åè
-E å°å å¼è¡¨ ç¨ç»åºçå¼è¡¨(ç©ºæ ¼åé)æ¿æ¢æå®å°åå¼å§çå ååå ï¼ä¾ï¼-E 100 'v' 1F 'hello'
-N æ件å 为åç»çL/Wå½ä»¤çº¦å®ææä½çæ件å
-L å°å å°Nå½ä»¤ææå®æ件çå å®¹è¯»å ¥å°æå®å åä½ç½®ãå¦ï¼é»è¾å·æåºç´æ¥è¯»ï¼-L å°å é»å·å· èµ·å§é»æå· ææ°
-W å°å å°BX-CX个åèçå åæ°æ®åå ¥Nå½ä»¤æå®çæ件ä¸ãå¦ï¼é»è¾å·æåºç´æ¥åï¼-W å°å é»å·å· èµ·å§é»æå· ææ°
-R å¯åå¨å æ¾ç¤ºå¹¶å 许修æ¹æå®å¯åå¨çå¼
-G=å§å ç»å æ§è¡æå®å åä¸çæºå¨æ令ç¨åº
-T=å°å åæ¥æ§è¡æºå¨æ令ï¼ç¼ºçå°ååä»ä¸ä¸Tå½ä»¤ç»§ç»ãå¦ï¼ç»§ç»è·è¸ªmæ¡æ令ï¼-T m
读åc:å·çå¼å¯¼æåºï¼å¹¶ä¿åå°Boot.1æ件ä¸ï¼å¹¶ç®ååæå¼å¯¼ç¨åºçåé¢å æ¡æ令ï¼
-L 1000 2 0 1
-N boot.1
-R bx ;è¾å ¥0000
-R cx ;è¾å ¥0200
-W 1000
-U 1000
读å第ä¸ä¸ªç¡¬çä¸ç主å¼å¯¼æåºï¼å¹¶ä¿åå°MB.1æ件ä¸ï¼å¨å±å¹ä¸æ¾ç¤ºç¡¬çååºè¡¨æ°æ®ï¼
-A 100
yyyy:0100 mov dx,0080
yyyy:01xx mov cx,0001
yyyy:01xx mov ax,yyyy
yyyy:01xx mov es,ax
yyyy:01xx mov bx,1000
yyyy:01xx mov ax,0201
yyyy:01xx int 13
yyyy:01zz nop
-G=yyyy:0100 01zz
-N mb.1
-R bx ;è¾å ¥0000
-R cx ;è¾å ¥0200
-W 1000
-D 11be 11ff
Debugger
"Debugger"è¿ä¸ªè¯æå®çè±æåé¢æææ¥è®²æ¯è¿æ ·ä¸ç§âè£ ç½®â(-er)ï¼è¿ç§è£ ç½®å¯ä»¥âæ¶é¤â(De-)âç³»ç»ä¸ç缺é·â(bug)ãç¶èäºå®ä¸ï¼è¿ä»ä¸ºæ¢æ们ç»å¸¸ä½¿ç¨å°ç"Debugger"åªæ¯ç¨æ¥å¸®å©æ们è¿è¡Debugçå·¥å ·,"Debugger"æ¬èº«ä¸è½èªå¨å®æ"Debug"ãæ们å¯ä»¥åæ³ä¸ä¸æ们æ¯å¦ä½è¿è¡Debugçï¼å¨è¿è¡Debugçè¿ç¨ä¸ï¼æ们éè¿Debuggeræ¥å®æ以ä¸å·¥ä½ï¼
ï¼1ï¼çè§âDebug对象âçç¶æï¼
ï¼2ï¼æ§å¶âDebug对象âçè¿è¡ï¼
è¿äºå·¥ä½å¯ä»¥ä¸ºâåç°Debug对象ä¸åå¨çé®é¢â以åâ对解å³é®é¢æ¹æ¡çæ£éªâæä¾æç¨çä¿¡æ¯ã
çæ§å·¥ä½ææ¶åªéè¦ç±è½¯ä»¶å°±å¯ä»¥å®æï¼ææ¶ä¸ä» éè¦è½¯ä»¶æ¯æï¼è¿éè¦ç¡¬ä»¶çæ¯æã
Debuggeré¤äºè¢«ç¨æ¥Debug,è¿è¢«ç¨æ¥å¸®å©æ们ç解âDebugç对象âå é¨ç»æï¼å 为æ们ç¨å°çDebuggerè½å¤å®æ对âDebug对象âççæ§å·¥ä½ï¼å¨çæ§çè¿ç¨ä¸å¯ä»¥è·åâDebug对象âå¨æç¹å¾çä¿¡æ¯ï¼è¿å¯¹æ们çè§£å ¶ç»ææ¯é常æç¨çã
å ³äºæ´è¯¦ç»çä»ç»åç 究å¯ä»¥åèå½äººååçã软件è°è¯ãhttp://www.douban.com/subject/3088353/ï¼è¿æ¯ä¸æ¬éå¸¸å ¨é¢ä¸æ·±å ¥çâ软件è°è¯â红ç®ä¹¦ã
æ¯ä¸ºDOSæä¾çæåç侦éï¼è·è¸ªç¨åºè¿è¡ï¼æ£æ¥ç³»ç»æ°æ®çå·¥å ·ç¨åºï¼å®æ¯å¨å符çé¢ä¸ä»¥åå符å½ä»¤æ¹å¼å·¥ä½ãè¦å¾å¥½å°ä½¿ç¨å®å¿ é¡»å ·å¤ä¸å®çæ±ç¼ç¨åºè®¾è®¡å硬件åºæ¬ç¥è¯çè½åï¼å½ç¶ï¼å®ä¸ºæ±ç¼è¯è¨ç¨åºåæä¾äºææçè°è¯æ段ï¼å®çåè½å æ¬ä»¥ä¸å 个æ¹é¢ã�
1. ç´æ¥è¾å ¥ãæ´æ¹ãè·è¸ªãè¿è¡æ±é æ ½é¯ç»¦é¢å
2. è§å¯æä½ç³»ç»çå 容ï¼�
3. æ¥çROM BIOSçå 容ï¼�
4. è§å¯æ´æ¹RAMå é¨ç设置å¼ï¼�
5. 以æåºææ件çæ¹å¼è¯»å软çæ°æ®ã�
å¨DEBUGä¸å°åç¨æ®µå°åä¸æ®µå å°åæ¥è¡¨ç¤ºï¼è段å°åå¯ä»¥æç¡®å°æåºæ¥ï¼ä¹å¯ä»¥ç¨ä¸ä¸ªæ®µæ示å¨(段å¯åå¨)æ¥ä»£è¡¨ï¼ç¨æ®µå¯åå¨è¡¨ç¤ºæ¶ï¼å ¶æ®µå°åå°±æ¯æ¤å¯åå¨çå å«å¼ï¼�
å¦ï¼ç¨æ®µå°åå段å å°å表示FOFFï¼0100�
ç¨æ®µå¯åå¨å段å å°å表示CSFï¼0100âCSæåF000�
ä¸é¢ååºäºå¸¸ç¨å½ä»¤ç¨æ³ã
-A å°å ä»æå®å°åå¼å§ç¼åå°æ±ç¼ç¨åºï¼æ两个å车é®ç»æç¼è¾
-U å°å ä»æå®å°åå¼å§åæ±ç¼32åèçæºå¨æ令ï¼ç¼ºçå°ååä»ä¸ä¸Uå½ä»¤ç»§ç»
-D å§å ç»å 以16è¿å¶/Ascåç¬¦å¯¹ç §æ¹å¼æ¾ç¤ºæå®å åèå´çæ°æ®ï¼æ¯è¡æ¾ç¤º10H个åè
-E å°å å¼è¡¨ ç¨ç»åºçå¼è¡¨(ç©ºæ ¼åé)æ¿æ¢æå®å°åå¼å§çå ååå ï¼ä¾ï¼-E 100 'v' 1F 'hello'
-N æ件å 为åç»çL/Wå½ä»¤çº¦å®ææä½çæ件å
-L å°å å°Nå½ä»¤ææå®æ件çå å®¹è¯»å ¥å°æå®å åä½ç½®ãå¦ï¼é»è¾å·æåºç´æ¥è¯»ï¼-L å°å é»å·å· èµ·å§é»æå· ææ°
-W å°å å°BX-CX个åèçå åæ°æ®åå ¥Nå½ä»¤æå®çæ件ä¸ãå¦ï¼é»è¾å·æåºç´æ¥åï¼-W å°å é»å·å· èµ·å§é»æå· ææ°
-R å¯åå¨å æ¾ç¤ºå¹¶å 许修æ¹æå®å¯åå¨çå¼
-G=å§å ç»å æ§è¡æå®å åä¸çæºå¨æ令ç¨åº
-T=å°å åæ¥æ§è¡æºå¨æ令ï¼ç¼ºçå°ååä»ä¸ä¸Tå½ä»¤ç»§ç»ãå¦ï¼ç»§ç»è·è¸ªmæ¡æ令ï¼-T m
读åc:å·çå¼å¯¼æåºï¼å¹¶ä¿åå°Boot.1æ件ä¸ï¼å¹¶ç®ååæå¼å¯¼ç¨åºçåé¢å æ¡æ令ï¼
-L 1000 2 0 1
-N boot.1
-R bx ;è¾å ¥0000
-R cx ;è¾å ¥0200
-W 1000
-U 1000
读å第ä¸ä¸ªç¡¬çä¸ç主å¼å¯¼æåºï¼å¹¶ä¿åå°MB.1æ件ä¸ï¼å¨å±å¹ä¸æ¾ç¤ºç¡¬çååºè¡¨æ°æ®ï¼
-A 100
yyyy:0100 mov dx,0080
yyyy:01xx mov cx,0001
yyyy:01xx mov ax,yyyy
yyyy:01xx mov es,ax
yyyy:01xx mov bx,1000
yyyy:01xx mov ax,0201
yyyy:01xx int 13
yyyy:01zz nop
-G=yyyy:0100 01zz
-N mb.1
-R bx ;è¾å ¥0000
-R cx ;è¾å ¥0200
-W 1000
-D 11be 11ff
Debugger
"Debugger"è¿ä¸ªè¯æå®çè±æåé¢æææ¥è®²æ¯è¿æ ·ä¸ç§âè£ ç½®â(-er)ï¼è¿ç§è£ ç½®å¯ä»¥âæ¶é¤â(De-)âç³»ç»ä¸ç缺é·â(bug)ãç¶èäºå®ä¸ï¼è¿ä»ä¸ºæ¢æ们ç»å¸¸ä½¿ç¨å°ç"Debugger"åªæ¯ç¨æ¥å¸®å©æ们è¿è¡Debugçå·¥å ·,"Debugger"æ¬èº«ä¸è½èªå¨å®æ"Debug"ãæ们å¯ä»¥åæ³ä¸ä¸æ们æ¯å¦ä½è¿è¡Debugçï¼å¨è¿è¡Debugçè¿ç¨ä¸ï¼æ们éè¿Debuggeræ¥å®æ以ä¸å·¥ä½ï¼
ï¼1ï¼çè§âDebug对象âçç¶æï¼
ï¼2ï¼æ§å¶âDebug对象âçè¿è¡ï¼
è¿äºå·¥ä½å¯ä»¥ä¸ºâåç°Debug对象ä¸åå¨çé®é¢â以åâ对解å³é®é¢æ¹æ¡çæ£éªâæä¾æç¨çä¿¡æ¯ã
çæ§å·¥ä½ææ¶åªéè¦ç±è½¯ä»¶å°±å¯ä»¥å®æï¼ææ¶ä¸ä» éè¦è½¯ä»¶æ¯æï¼è¿éè¦ç¡¬ä»¶çæ¯æã
Debuggeré¤äºè¢«ç¨æ¥Debug,è¿è¢«ç¨æ¥å¸®å©æ们ç解âDebugç对象âå é¨ç»æï¼å 为æ们ç¨å°çDebuggerè½å¤å®æ对âDebug对象âççæ§å·¥ä½ï¼å¨çæ§çè¿ç¨ä¸å¯ä»¥è·åâDebug对象âå¨æç¹å¾çä¿¡æ¯ï¼è¿å¯¹æ们çè§£å ¶ç»ææ¯é常æç¨çã
å ³äºæ´è¯¦ç»çä»ç»åç 究å¯ä»¥åèå½äººååçã软件è°è¯ãhttp://www.douban.com/subject/3088353/ï¼è¿æ¯ä¸æ¬éå¸¸å ¨é¢ä¸æ·±å ¥çâ软件è°è¯â红ç®ä¹¦ã
温馨提示:答案为网友推荐,仅供参考