freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)上(編輯修改稿)

2024-12-01 19:13 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 三角形符號(hào)指示出了標(biāo)號(hào)為 BEG 的那條指令是啟動(dòng)指令。 3. 動(dòng)態(tài)調(diào)試 (1) 連續(xù)執(zhí)行程序 按 F9 鍵 ( 即 Run | Run),即可從 BEG 開(kāi)始連續(xù)執(zhí)行程序。 (2) 查看執(zhí)行結(jié)果 按 Alt+F5 鍵 (即 Window | User screen),臨時(shí)切換到 DOS 屏幕,可查看程序的執(zhí)行結(jié)果,即 5 行 HELLO。 注意: Alt 鍵要多按一會(huì)兒,直到快捷鍵提 示區(qū)更換提示內(nèi)容之后再按 F5 鍵。按任意鍵可以恢復(fù) MODULE 窗口內(nèi)容。 (3) 使光標(biāo)重新指向啟動(dòng)指令 當(dāng)程序運(yùn)行結(jié)束 (三角形光標(biāo)消失 ),按 Ctr1+F2(Run|Program rest)可以重新裝入程序并使光標(biāo)指向啟動(dòng)指令。 14 (4) 程序的單步執(zhí)行 單步操作一次僅執(zhí)行了一條指令,有 3 個(gè)單步操作命令,它們的區(qū)別僅在于 跟蹤 的情況不同。 ① F8 (Run | Step over) 單步操作。執(zhí)行 CALL 和 INT n 指令的時(shí)候, 不跟蹤 相關(guān)的子程序。 不眼蹤 的含義是指在進(jìn)入相關(guān)子程序后,自動(dòng)地連續(xù)執(zhí)行子程序指令直到返回。 所以,宏觀上看不到跟蹤的效果。 ② F7 (Run | Trace into) 單步操作 。 執(zhí)行 CALL 指令能夠跟蹤子程序,隨即暫停,等待用戶(hù)的下一步操作。但是在遇到 INT n 指令時(shí)與 F8 一樣,進(jìn) 入 服務(wù)程序后立即自動(dòng)地連續(xù)執(zhí)行服務(wù)程序直到返回。 ③ Alt+F7 (Run | Instruction trace)單步操作 。 真正意義上的單步操作,執(zhí)行 CALL和 INT n 指令進(jìn)入相關(guān)子程序之后立即停止,等待用戶(hù)的下一步操作。 實(shí)踐證明:用 Alt+F7 跟進(jìn)服務(wù)程序以后,如果再執(zhí)行單步操作,很容易使系統(tǒng)癱瘓。因此,請(qǐng)讀者慎用 。編者認(rèn)為: Alt+F7 的用途在于跟進(jìn)中斷服務(wù)程序以后,可以了解服務(wù)程序的結(jié)構(gòu),如果服務(wù)程序是系統(tǒng)設(shè)計(jì)的 (如 INT 21H, INT 10H 等 ),應(yīng)當(dāng)用 F8 操作。 (5) 斷點(diǎn)的設(shè)置和取消 按 ↑、 ↓鍵,使光標(biāo)指向欲設(shè)置斷點(diǎn)的指令,再按 F2 鍵 (Breakpoints | Toggle),則紅色光條覆蓋光標(biāo)處的指令,表示斷點(diǎn)設(shè)置成功,重復(fù)上述操作,可以設(shè)置多個(gè)斷點(diǎn)。 將光標(biāo)移到紅色光條覆蓋的指令,再次按下 F2 鍵,紅色光條消失,表明此處斷點(diǎn)撤銷(xiāo)。 設(shè)置斷點(diǎn)的目的是使程序執(zhí)行到斷點(diǎn)指令時(shí)暫停,以便檢查執(zhí)行結(jié)果。 (6) 檢查單步 執(zhí)行結(jié)果 指令執(zhí)行后一定會(huì)使目標(biāo)寄存器和狀態(tài)標(biāo)志發(fā)生變化,欲查看執(zhí)行效果,怎么辦 ? ① 在 CPU 窗口調(diào)試時(shí) 因?yàn)榇翱谥杏屑拇嫫?、?biāo)志寄存器顯示窗口,所以,當(dāng)前指令執(zhí)行后,可以從相關(guān)的顯示窗口中看到結(jié)果。 ② 在 MODULE 窗口調(diào)試時(shí) 選中 View |Registers 可彈出寄存器和標(biāo)志寄存器顯示窗口,就可以查看執(zhí)行結(jié)果。 (7) 檢查內(nèi)存數(shù)據(jù)區(qū)的內(nèi)容 如果被調(diào)試程序要對(duì)數(shù)據(jù)段或附加段進(jìn)行操作,怎樣檢查結(jié)果 ? 關(guān)鍵問(wèn)題是要找出用戶(hù)程序的數(shù)據(jù)段或附加段。 15 以例題 1 為例,說(shuō)明這一操作的實(shí)現(xiàn)過(guò)程。 ① 如果調(diào)試是在 MODULE 窗口進(jìn)行 首先選擇 View | Dump ,彈出內(nèi)存數(shù)據(jù)顯示窗口,接著再按 Ctrl+S 彈出一個(gè)對(duì)話框,用戶(hù)鍵 入 ‘FELLO‘—用單引號(hào)括起來(lái)的這一字符串是例 1 用戶(hù)數(shù)據(jù)段中設(shè)置的內(nèi)容, TD 根據(jù)用戶(hù)的提示立即找出并顯示用戶(hù)程序數(shù)據(jù)區(qū)。 做好以上準(zhǔn)備工作之后,按 F8 鍵單步執(zhí)行指令,就可以看到用戶(hù)數(shù)據(jù)段內(nèi)容的變化。例 1 中的語(yǔ)句 ① ~ ⑧ 就是為此項(xiàng)調(diào)試而設(shè)置的。 ② 如果調(diào)試是在 CPU 窗口進(jìn)行 首先按 Tab 鍵,使內(nèi)存數(shù)據(jù)顯示區(qū)成為活動(dòng)區(qū),接下來(lái)的工作則與在 MODULE窗口的調(diào)試是相同的。 匯編語(yǔ)言程序設(shè)計(jì)是一項(xiàng)綜合性的工作,需 要有一定的基礎(chǔ)和經(jīng)驗(yàn)。如在出現(xiàn)問(wèn)題時(shí)不進(jìn)行分析和判斷,過(guò)分依賴(lài)外來(lái)的調(diào)試工具,則對(duì)程序設(shè)計(jì)這一環(huán)節(jié)的幫助不大。 匯編語(yǔ)言調(diào)試軟件的文件組織 讀者應(yīng)自備一張含有 Borland Trubo Assembler 的光盤(pán),執(zhí)行其中的INSTALL . EXE文件,根據(jù)操作提示將相關(guān)文件解壓縮存人硬盤(pán)作備份。再在 C盤(pán)上開(kāi)辟一個(gè) TASM子目錄,從解壓縮下來(lái)的文件備份中摘取 6 個(gè)文件外加一個(gè)全屏幕編輯文件,將這 7 個(gè)文件存 入 TASM 子目錄中。這樣在 TASM 子目錄下就構(gòu)成了一個(gè)集編輯、編譯、鏈接 和調(diào)試為一體的調(diào)試環(huán)境。這 7 個(gè)文件是:編輯文件,TASM . EXE, TLINK . EXE, RTM . EXE, DPMI16BI . OVL, TD. EXE 和。 第 1章 匯編語(yǔ)言程序設(shè)計(jì) 匯編 程序的編輯與調(diào)試 【實(shí)驗(yàn)?zāi)康摹? 學(xué)習(xí)匯編源程序的編輯、編譯、鏈接、執(zhí)行全過(guò)程。 學(xué)習(xí)編輯文件、 TASM、 TLINK 的使用方法以及匯編語(yǔ)言的語(yǔ)法規(guī)則。 學(xué)習(xí)使用 TD 對(duì)程序進(jìn)行調(diào)試的方法。 16 【實(shí)驗(yàn) 】 按 節(jié) 中的例題 編輯源程序;用 TASM、 TLINK 進(jìn)行匯編、鏈接得到執(zhí)行程序 ;用 TD 對(duì)執(zhí)行程序調(diào)試,得到正確的結(jié)果。 【實(shí)驗(yàn) 】 下面的程序采用比較法,將一個(gè) 8 位二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)顯示,其設(shè)計(jì)方法拙劣,語(yǔ)法錯(cuò)誤很多,希望以它為藍(lán)本,練習(xí)源程序的編輯、編譯、鏈接和調(diào)試。同學(xué)應(yīng)照原樣編輯源程序,匯編之后,必定給出若干錯(cuò)誤信息,再根據(jù)錯(cuò)誤提示,修改源程序,直到匯編后沒(méi)有錯(cuò)誤時(shí)為止,然后進(jìn)行鏈接、執(zhí)行。正確的執(zhí)行結(jié)果是在屏幕上顯示: 100 + 9 = 109 [程序清單 ]: 。FILENAME: DATA SEGMENT N1 DW 0809H , AB N2 DB 100 SUN DB ? MESG DB ?100+9=39。 DB 30H , 30H , 30H 。 3 個(gè) 0 的 ASCII 碼 DATA ENDS CODE SEGMENT ASSUME CS: CODE , DS: DATA BEG: MOV DS , DATA 。 段基址 →DS MOV BX , OFFSET SUM MOV AH , N1 。 9→AH MOV AL , N2 。 100→AL ADD AH , AL MOV [BX] , AH 。 和數(shù) →SUM單元 CALL N2_10 MOV AH , 9 MOV DX , OFFSET MESG INT 21H MOV AH , 4CH INT 21H N2_10 PROC 。 二進(jìn)制數(shù) →十進(jìn)制數(shù) ASCII 碼 LAST: CMP [BX] , 100 。 和數(shù)與 100 比較 JC NEXT1 。 小于 100 轉(zhuǎn) SUB [BX] , 100 。 否則 ,和數(shù)減 10O INC [BX+7] 。 百位 數(shù)加 1JMP LAST JMP LAST NEXT1: CMP [BX] , 10 。 余數(shù)與 10 比較 JC NEXT2 。 小于 10 轉(zhuǎn) SUB [BX] , 10 。 否則 ,余數(shù)減 10 17 INC [BX+8] 。 十位數(shù)加 1 JMP NEXT1 NEXT2: ADD [BX+9] , SUM 。 生成個(gè)位數(shù) RET N2_10: ENDP CODE ENDS END BEG 順序程序設(shè)計(jì) 【實(shí)驗(yàn)?zāi)康摹? 學(xué)習(xí)匯編語(yǔ)言基本操作指令 和偽指令的應(yīng)用;了解編程的基本方法。 1. 示例 【 例 】變量 X, Y 為二位數(shù)字的 ASCII 碼串,請(qǐng)編寫(xiě)程序計(jì)算并顯示出下式的值: Z←X+(Y15) 解 :求一個(gè)代數(shù)式 (或表達(dá)式 )的值,一般的做法是根據(jù)運(yùn)算符的優(yōu)先級(jí)順序進(jìn)行計(jì)算,如上式先計(jì)算 (Y15),再與 X 相加,將其結(jié)果存放在 Z 變量中,最后可用 DOS功能調(diào)用將結(jié)果顯示出來(lái)。程序流程見(jiàn)圖 。 [程序清單 ]: TITLE ASCDAT(COM) 。 add amp。sub ASCII numbers CODESG SEGMENT ASSUME CS: CODESG, DS: CODESG ORG 100H BEGIN: JMP SHORT MAIN 。 X DB 39。6039。 。 ASCII number Y DB 39。2439。 Z DB ?000‘ , 39。$‘ MAIN PROC NEAR MOV DX , CODESG 。 initialize DS MOV DS , DX MOV AH , 0 。 clear AH MOV AL , Y+1 。 load Y‘s low order SUB AL , 05 。 sub low order digit AAS 。 adjust for sub MOV Z+2 , AL 。 put result in Z‘s low order MOV AL , Y 。 load y39。s high order SBB AL , 01 。 sub digit with carry Z←Z+X 結(jié)果轉(zhuǎn)換為 ASCII 碼 顯示 結(jié)束 開(kāi)始 圖 例 的 程序框圖 18 AAS 。 adjust for sub XCHG AL , Z+2 。 exchange lowerorder in AL ADD AL , X+1 。 add lowerorder in AL AAA 。 adjust for add XCHG AL , Z+2 。 exchange high_order in AL ADC AL , X 。 add high_order digit AAA 。 adjust for add MOV Z+1 , AL 。 store high_order result MOV Z , AH 。 store carry OR Z , 30H 。 string should be OR Z+1 , 30H 。 ASCII string OR Z+2 , 30H MOV DX , OFFSET Z 。 offset of string Z MOV AH , 9 。 display string function INT 21H 。 call DOS MOV AX , 4C00H 。 return INT 21H MAIN ENDP 。 CODEG ENDS END BEGIN 2. 實(shí)驗(yàn)題 【 實(shí)驗(yàn) 】編寫(xiě)程序,計(jì)算 (a + b) – 2 * (a AND b),結(jié)果送入 S 單元。( a,b 為字變量) 【 實(shí)驗(yàn) 】 設(shè)有兩個(gè)帶符號(hào)整數(shù)變量 A 和 B,求 A 和 B 之差并判斷結(jié)果是否溢出。 【 實(shí)驗(yàn) 】 定義一個(gè)雙字變量 VOLUME,從鍵盤(pán)輸入長(zhǎng)方體的長(zhǎng) (a),寬 (b)和高 (h),計(jì)算它的體積,并保存在 VOLUME 中(注意判斷溢出)。 要求: ① 上述實(shí)驗(yàn)中的各變量單元要在數(shù)據(jù)區(qū)定義; ② 用 TD(或 debug)調(diào)試,運(yùn)行并修改各變量的值,觀察結(jié)果存放單元。 循環(huán)程序的設(shè)計(jì) 【 實(shí)驗(yàn)?zāi)康?】 學(xué)習(xí)并掌握循環(huán)程序的設(shè)計(jì)方法。 1. 示 例 【 例 】 表格查找 tabsrch 19 倉(cāng)庫(kù)管理中,總共存有有關(guān)庫(kù)存品的編號(hào)、名稱(chēng)、數(shù)量、價(jià)格等情況的表格,根據(jù)用戶(hù)提供的編號(hào)可以找到有關(guān)材料。假設(shè)表格中共有 6 種庫(kù)存品,表格的格式為: STOKTAB DB ?0539。 , ?Excavatos‘ DB ?08‘ , ?Lifters‘ ┇ 試編寫(xiě)一程序,根據(jù)用戶(hù)提供的編號(hào)在終端上顯示其名稱(chēng)。 根據(jù)題目的要求,程序可由三部分組成: ① 輸入:接收用戶(hù)鍵入的庫(kù)存品號(hào); ② 查表:根據(jù)給定編號(hào)在表格中查找所要求的庫(kù)存品名稱(chēng); ③ 輸出:顯示找到的庫(kù)存品名稱(chēng)。 其中,第二部分是程序的主體,顯然它可以使用循環(huán)結(jié)構(gòu)。由于在給定的表格中,編號(hào)及庫(kù)存品名所占的字節(jié)數(shù)都是相等的,因此在查找時(shí),只要根據(jù)編號(hào)的地址就可逐項(xiàng)查找。循環(huán)的結(jié)束條件應(yīng)該是在找到用戶(hù)所指定的項(xiàng)時(shí)就可退出循環(huán),但還必須考慮在表格中未查到所需編號(hào)的特殊情 況。根據(jù)以上考慮可畫(huà)出程序框圖如圖 所示。如用戶(hù)給出的編號(hào)可在表格中查到,則顯示出相應(yīng)的庫(kù)存品名。如用戶(hù)不再需要查找,只需按一下??回車(chē) ‘鍵就可結(jié)束程序。如表格中并無(wú)用戶(hù)給出的編號(hào),則顯示 Not in table!后結(jié)束程序。 [程序清單
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1