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

正文內(nèi)容

微機(jī)原理軟件實(shí)驗(yàn)報(bào)告(編輯修改稿)

2025-04-09 13:21 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 LL SHOW MOV AH,02H MOV DL,MIN 。將最小數(shù)的高位數(shù)賦給 DL,加上 30H 輸出 ADD DL,30H INT 21H MOV AH,02H MOV DL,MIN[1] 。將最小數(shù)的低位數(shù)賦給 DL,加上 30H 輸出 ADD DL,30H INT 21H EXIT0: MOV AX,4C00H INT 21H MAIN ENDP 。顯示字符串子程序 SHOW PROC PUSH AX MOV AH,09H INT 21H POP AX ?;謴?fù)參數(shù)保護(hù)現(xiàn)場(chǎng) RET SHOW ENDP 。從鍵盤獲取輸入子程序 GETNUM PROC PUSH AX PUSH BX PUSH CX 微機(jī)原理軟件實(shí)驗(yàn)報(bào)告 第 17 頁(yè) PUSH DX PUSH DI MOV DI,0 MOV CX,0 NEXT: MOV AH,1 。調(diào)用 DOS 命令輸入單個(gè)字符 INT 21H CMP AL,0DH 。判斷是否是回車符,如果是回車則結(jié)束獲取 JZ EXIT CMP CX,0 JZ LOOP1 CMP CX,1 JZ LOOP2 CMP CX,2 JZ LOOP3 LOOP1: CMP AL,20H 。比較當(dāng)前輸入的是否是空格,如果是直接忽略 JZ CUOWU3 JMP GET LOOP2: CMP AL,20H 。當(dāng)前已經(jīng)輸入了一位,如果再輸入空格,則出錯(cuò) JZ CUOWU2 JMP GET LOOP3: CMP AL,20H JNE CUOWU4 。如果當(dāng)前已經(jīng)輸入了兩位數(shù),卻沒(méi)有輸入空格,則出錯(cuò) XOR CX,CX 。如果當(dāng)前已經(jīng)輸入了兩位數(shù)并輸入了空格,則將 CX 清 JMP NEXT 。進(jìn)入下一次讀取鍵盤操作 GET: SUB AL,30H 。將讀入的字符減去 30H JL CUOWU1 。比較輸入的數(shù)是否超出界限 CMP AL,9 JG CUOWU1 MOV NUM[DI],AL INC COUNT INC CX INC DI JMP NEXT CUOWU1: MOV SIG,1 MOV DX,OFFSET ERROR1 CALL SHOW JMP RETURN CUOWU2: MOV SIG,1 MOV DX,OFFSET ERROR2 CALL SHOW JMP RETURN CUOWU3: MOV SIG,1 微機(jī)原理軟件實(shí)驗(yàn)報(bào)告 第 18 頁(yè) MOV DX,OFFSET ERROR3 CALL SHOW JMP RETURN CUOWU4: MOV SIG,1 MOV DX,OFFSET ERROR4 CALL SHOW JMP RETURN EXIT: MOV BL,COUNT CMP BL,0 JZ CUOWU3 。如果輸入的數(shù)字個(gè)數(shù)為 0,則是第三種錯(cuò)誤 AND BL,01H 。輸入的數(shù)字是否是兩位數(shù) CMP BL,0 JNZ CUOWU2 。輸入的數(shù)字不是兩位的時(shí)候,是第二種錯(cuò)誤 RETURN: POP DI POP DX POP CX POP BX POP AX RET GETNUM ENDP 。尋找最小數(shù)的子程序 FINDMIN PROC PUSH DI PUSH AX PUSH CX MOV DI,2 MOV CL,COUNT MOV AL,CL CBW MOV CX,AX LOOPA: ADD DI,2 CMP CX,DI JZ JIESHU MOV AH,NUM[DI] MOV AL,NUM[DI+1] CMP AH,MIN 。如果十位數(shù)比臨時(shí)的最小數(shù)的高位大不改變 min JA LOOPA JZ HIGH1 。如果十位數(shù)相等則進(jìn)入個(gè)位數(shù)比較 BIANHUA:MOV MIN,AH 。改變最小數(shù) MOV MIN[1],AL 微機(jī)原理軟件實(shí)驗(yàn)報(bào)告 第 19 頁(yè) JMP LOOPA 。繼續(xù)比較下一個(gè)數(shù) HIGH1: CMP AL,MIN[1] JNB LOOPA 。比較個(gè)位數(shù) JMP BIANHUA JIESHU: POP CX POP AX POP DI RET FINDMIN ENDP CODE ENDS END MAIN 用了子程序調(diào)用的方法,大大縮短了代碼的長(zhǎng)度和復(fù)用度,寫了四個(gè) PROC,主過(guò)程,顯示字符串的子程序,從鍵盤獲取輸入的子程序和求最小數(shù)的子程序。規(guī)定了每個(gè)兩位數(shù)之間用空格隔開(kāi),結(jié)束符定位空格鍵,規(guī)定了四種錯(cuò)誤: ( 1)輸入數(shù)字無(wú)效,即輸入的一位數(shù)字比 0 小,或者比 9 大。 ( 2)輸入的數(shù)字不是兩位的,即輸入一位數(shù)之后就輸入空格鍵了。 ( 3)輸入的數(shù)字為空,即直接按下了空格鍵。 ( 4)兩個(gè)兩位數(shù)之間沒(méi)有用空格隔開(kāi)。 本程序比較數(shù)字大小是直接用 ASCII 碼比較的, 先將輸入的減去 30H,再 兩位分開(kāi)比較,先比較十位,如果當(dāng)前數(shù)字的十位 ASCII 比當(dāng)前最小數(shù)大,則比較下一個(gè)兩位數(shù)。如果小于,則用該兩位數(shù)代替當(dāng)前的最小數(shù)。如果等于,則繼續(xù)比較各位的 ASCII 碼的大小。 出現(xiàn)錯(cuò)誤的時(shí)候調(diào)用 SHOW 子程序,提示輸入的錯(cuò)誤類型。 正確輸入的時(shí)候,輸出了最小數(shù)為 014: 一下是四種輸入錯(cuò) 誤的截圖: 微機(jī)原理軟件實(shí)驗(yàn)報(bào)告 第 20 頁(yè) 六、實(shí)驗(yàn)總結(jié) 通過(guò)本次實(shí)驗(yàn),我掌握了 ASCII 碼和十進(jìn)制數(shù)之間的轉(zhuǎn)換;熟悉了子程序的編寫及調(diào)用。子程序大大縮短了代碼的長(zhǎng)度和冗余度,不僅更加美觀,也使邏輯更加清晰 。同時(shí)輸入檢錯(cuò)這一部分讓我感受到了邏輯思考嚴(yán)密的重要性,一不小心就會(huì)出錯(cuò),做實(shí)驗(yàn)嚴(yán)謹(jǐn)?shù)膽B(tài)度顯得非常重要。 再者就是理解鍵盤輸入進(jìn)的是 ASCII 碼,而比較的時(shí)候可以分成十位,個(gè)位分別比較,需要先減去 30H。而輸出的時(shí)候需要再把 30H 加上,分十位和個(gè)位輸出才是對(duì)的。 硬件編程和軟件編程的差別在本次實(shí)驗(yàn)里更加體現(xiàn)出來(lái)了,如 果光用軟件編程的思想去控制硬件編程會(huì)出現(xiàn)很多奇怪的錯(cuò)誤。像開(kāi)始的時(shí)候,我就沒(méi)有想到在硬件程序里比較兩個(gè)數(shù)可以十位個(gè)位分開(kāi)比較,而是把 ASCII 轉(zhuǎn)換成十進(jìn)制比較,再轉(zhuǎn)回來(lái)輸出,這樣很麻煩,而且容易出錯(cuò)。所以聯(lián)系硬件實(shí)際情況和計(jì)算器內(nèi)部運(yùn)行原理來(lái)想編程的思路,才是硬件編程正確的方向。 微機(jī)原理軟件實(shí)驗(yàn)報(bào)告 第 21 頁(yè) 實(shí)驗(yàn)四 子程序設(shè)計(jì) 一 .實(shí)驗(yàn)?zāi)康?: 。 DOS 功能調(diào)用 . 二 .實(shí)驗(yàn)內(nèi)容 : .輸入按學(xué)生的學(xué)號(hào)由小到大的順序輸入 . . . ,輸入學(xué)生數(shù)目不宜太多 ,以不超過(guò)一屏為宜 .輸出應(yīng)便于閱讀 .盡可能考慮美觀 . . 三 .預(yù)習(xí)題 : ? 答:有如下兩種思路: ( 1)抽取每個(gè)學(xué)生的成績(jī)和其他所有學(xué)生的成績(jī)進(jìn)行比較,然后統(tǒng)計(jì)比其分?jǐn)?shù)高的學(xué)生,得出該學(xué)生的名次; ( 2)冒泡法, 將學(xué)生根據(jù)輸入的成績(jī)進(jìn)行一次排序,成績(jī)高的交換到前面,成績(jī)低的交換到后面 ,此時(shí)學(xué)生的次序即為學(xué)生的名次。 ,采用什么方法進(jìn)行比較以得到學(xué)生的名次最為簡(jiǎn)單 ? 答: 冒泡法。每次比較相鄰的兩個(gè)數(shù)據(jù),大的放在前面,這樣一輪以后,最小值就移到了數(shù)據(jù)表的末尾,再次冒泡以此類推。 其實(shí)這里的“冒泡排序”是倒著的冒泡排序,因?yàn)榻Y(jié)果是將最高分排到了開(kāi)頭但是基本思想是一致的。 微機(jī)原理軟件實(shí)驗(yàn)報(bào)告 第 22 頁(yè) . 主 程 序輸 入 檢 查 子 程 序 冒 泡 排 序 子 程 序 輸 入 子 程 序 . 答: 名次 學(xué)號(hào) 成績(jī) 四、程序設(shè)計(jì)流程圖 微機(jī)原理軟件實(shí)驗(yàn)報(bào)告 第 23 頁(yè) 初 始 化 數(shù) 據(jù) 段 和 寄存 器輸 出 信 息 提 示 用 戶輸 入輸 入 成 績(jī)調(diào) 用 檢 驗(yàn) 子 程 序檢 查 輸 入 是 否合 理調(diào) 用 冒 泡 排 序 子 程序調(diào) 用 輸 出 子 程 序結(jié) 束 程 序是否檢 驗(yàn) 子 程 序調(diào) 用 輸 出 子 程 序冒 泡 排 序 子 程 序 微機(jī)原理軟件實(shí)驗(yàn)報(bào)告 第 24 頁(yè) 五、程序源代碼及解釋 PRINT MACRO X 。打印字符的宏 PUSH DX MOV DL,X MOV AH,2 INT 21H POP DX ENDM ?;剀嚳崭褡映绦? ENTER MACRO MOV DL,0DH MOV AH,02H INT 21H MOV DL,0AH MOV AH,02H INT 21H ENDM DATA SEGMENT BUFFER DB 100 DB ? DB 100 DUP (?) STR1 DB 39。Please input the score of the students:39。,0DH,0AH,39。$39。 STR2 DB 39。Error,please input the score again:39。,0DH,0AH,39。$39。 VAR1 DW ? VAR2 DW ? CK DB ? TAB DB 100 DUP(?) DATA ENDS STACK SEGMENT STACK 39。stack39。 DB 100 DUP (39。?39。) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK STA PROC FAR PUSH DS 微機(jī)原理軟件實(shí)驗(yàn)報(bào)告 第 25 頁(yè)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1