




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、微機原理與接口技術過程定義偽指令n用于定義一個過程n格式:過程名過程名 PROC NEAR/FARRET過程名過程名 ENDP過程入口符號地址CALL主程序子程序調用RET斷點斷點宏命令偽指令n宏:n源程序中由匯編程序識別的,具有獨立功能的一段程序n當源程序中需要多次使用同一個程序段時,可將該程序段定義為一個宏n格式:宏命令名 MACRO ENDM 宏體宏定義與宏調用例n定義宏:DADD MACRO X, Y, ZMOV AX, XADD AX, YMOV Z, AXENDMn調用宏:DADD DATA1, DATA2, SUMn宏展開:MOV AX, DATA1ADD AX, DATA2MO
2、V SUM, AXDOS軟中斷nDOS中斷包括:設備管理、目錄管理、文件管理設備管理、目錄管理、文件管理等n用中斷類型碼區(qū)分nDOS軟中斷n類型碼21Hn各子功能用功能號區(qū)分n調用格式MOV AH, 功能號INT 21H1. 中斷指令n格式:INT nn說明:nn4:存放中斷子程序入口地址的單元的偏移地址n中斷向量表區(qū): 內存起始處,03FFH ,每4個字節(jié),構成一個中斷子程序的入口地址,又可稱為一個中斷向量,n4、n4+1單元存放偏移地址,n4+2、n4+3單元存放段基址 中斷類型碼n=025512H中斷向量表n4 XXXX003FFH34H56H7XXHH7XXHH7XXHH7XXHH7H
3、0中斷指令執(zhí)行過程1.將FLAGS壓入堆棧2.將INT指令的下一條指令的CS、IP壓棧3.由n4得到存放中斷向量的地址4.將中斷向量(中斷子程序地址)送CS和IP寄存器5.轉入中斷服務程序程序設計例1:閱讀程序段,說明該程序段的功能1.DATA SEGMENT2.A DB 123ABC3.DATA ENDS4.CODE SEGMENT5.ASSUME CS: CODE, DS: DATA6.START: MOV AX, DATA7.MOV DS, AX8.LEA BX, A9.MOV CX, 610.LP: MOV AH, 211. MOV AL, BX12. XCHG AL, DL13. I
4、NC BX14. INT 21H15. LOOP LP16. MOV AH, 4CH17. INT 21H18.CODE ENDS19.END START程序設計例2:編寫程序,求Z=(X+Y)8-X/2的值,并將結果存在RESULT單元中,其中X、Y的值分別存放于VARX、VARY單元中。1.DATA SEGMENT2.VARX DW 63.VARY DW 74.RESULT DW ?5.DATA ENDS6.CODE SEGMENT7.ASSUME CS: CODE, DS: DATA8.START: MOV AX, DATA9. MOV DS, AX10. MOV AX, VARX11.
5、 ADD AX, VARY13. MOV CL, 313. SAL AX, CL14. SUB AX, VARX15. SAR AX, 116. MOV RESULT, AX17. MOV AH, 4CH18. INT 21H19.CODE ENDS20. END START 程序設計例3:用查表法將一個十六進制數(shù)轉換成對應的ASCII碼1.DATA SEGMENT2.TABLE DB 30H,31H,32H,33H,34H,35H,36H,37H3. DB 38H,39H,41H,42H,43H,44H,45H,46H4. HEX DB 75. ASC DB ?6.DATA ENDS7.CO
6、DE SEGMENT8. ASSUME CS: CODE, DS: DATA9.START: MOV AX, DATA10. MOV DS, AX11. MOV BX, OFFSET TABLE12. MOV AH, 013. MOV AL, HEX14. ADD BX, AX15. MOV AL, BX16. MOV ASC, AL17. MOV AH, 4CH18. INT 21H19.CODE ENDS20. END START程序設計例3:用查表法將一位十六進制數(shù)轉換成對應的ASCII碼(使用XLAT換碼指令實現(xiàn))XLAT指令將AL中的內容轉換為2CH(DS=2000H)程序設計例3:
7、用查表法將一位十六進制數(shù)轉換成對應的ASCII碼(使用XLAT換碼指令實現(xiàn))1.DATA SEGMENT2.TABLE DB 30H,31H,32H,33H,34H,35H,36H,37H3. DB 38H,39H,41H,42H,43H,44H,45H,46H4. HEX DB 75. ASC DB ?6.DATA ENDS7.CODE SEGMENT8. ASSUME CS: CODE, DS: DATA9.START: MOV AX, DATA10. MOV DS, AX11. MOV BX, OFFSET TABLE12. MOV AH, 013. MOV AL, HEX14. ADD
8、 BX, AX 15. MOV AL, BX16. XLAT 17. MOV ASC, AL18. MOV AH, 4CH19. INT 21H20.CODE ENDS21. END START程序設計例4:數(shù)據(jù)段某單元中存有一個十六進制數(shù)的ASCII碼,編寫程序將其轉換成對應的十六進制數(shù),并存在它的下一單元中。ASCII碼:30H,31H,32H,33H,34H,35H,36H,37H,38H,39H41H,42H,43H,44H,45H,46H程序設計例4:數(shù)據(jù)段某單元中存有一個十六進制數(shù)的ASCII碼,編寫程序將其轉換成對應的十六進制數(shù),并存在它的下一單元中。1.DATAS SEGMEN
9、T2. ASC DB 43H3. HEX DB ? 4.DATAS ENDS5.CODES SEGMENT6. ASSUME CS:CODES,DS:DATAS7.START:8. MOV AX,DATAS9. MOV DS,AX10. MOV BX,OFFSET ASC11. MOV AL,BX12. INC BX13. CMP AL,3AH14. JC NEXT15. SUB AL,37H16. JMP NEXT117.NEXT:SUB AL,30H18.NEXT1:MOV BX,AL19. MOV AH,4CH20. INT 21H21.CODES ENDS22. END START分支
10、程序練習:已知AX存儲一個有符號數(shù),編寫程序求AX的絕對值,存入BX1.CODES SEGMENT2. ASSUME CS:CODES3.START:4. CMP AX,05. JGE NEXT6. NEG AX7.NEXT:MOV BX,AX8. MOV AH,4CH9. INT 21H10.CODES ENDS11. END START程序設計例5:編寫程序計算函數(shù) 的值,其中x為字節(jié)有符號數(shù)。1.DATAS SEGMENT2. X DB 83. RESULT DW ? 4.DATAS ENDS5.CODES SEGMENT6. ASSUME CS:CODES,DS:DATAS7.STAR
11、T:8. MOV AX,DATAS9. MOV DS,AX10. MOV AL,X11. TEST AL,0FFH12. JS NEXT13. MOV BL,AL14. IMUL BL15. ADD AX,116. JMP NEXT117.NEXT:MOV BL,02H18. IMUL BL19. ADD AX,0005H20.NEXT1:MOV RESULT,AX21. MOV AH,4CH22. INT 21H23.CODES ENDS24. END START21,0( )25,0 xxF xxx程序設計例6:編寫匯編程序,求公式 的值,結果寫入SUM單元。DATAS SEGMENT S
12、UM DW ? DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX MOV AX,0 MOV CX,100AGAIN: ADD AX,CX DEC CX JNZ AGAIN MOV SUM,AX MOV AH,4CH INT 21HCODES ENDS END START1001iSiDATAS SEGMENT SUM DW ? DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX MOV
13、AX,0 MOV CX,100AGAIN: ADD AX,CX LOOP AGAIN MOV SUM,AX MOV AH,4CH INT 21HCODES ENDS END START1.DATAS SEGMENT2. STR1 DB HELLO WORLD!3. STR2 DB HELLO WOOLD!4. COUNT DW 125. FLAG DB ? 6.DATAS ENDS7.CODES SEGMENT8.ASSUME CS:CODES,DS:DATAS,ES:DATAS9.START:10. MOV AX,DATAS11. MOV DS,AX12. MOV ES,AX13. LEA
14、BX,FLAG14. LEA SI,STR115. LEA DI,STR216. MOV CX,COUNT17. CLD18. REPE CMPSB19. JZ NEXT120. MOV BYTE PTRBX,00H21. JMP STOP22.NEXT1:23. MOV BYTE PTRBX,0FFH24.STOP:25. MOV AH,4CH26. INT 21H27.CODES ENDS28. END START程序設計例7:求下列程序執(zhí)行到STOP時,SI、DI、CX、FLAG、ZF的值。串操作指令流程取源串地址取目的串地址設置串長度設置操作方向一個字或字節(jié)操作修改地址指針修改串長度值
15、完成否YN串操作指令實現(xiàn)重復前綴實現(xiàn)程序設計例8:用二進制顯示向量表中數(shù)據(jù)D0H的個數(shù)n分析:中斷向量表指的是內存0:00:3FFH,大小400H字節(jié)的空間。可將關鍵字D0H的個數(shù)存入BX,采用二進制顯示出BX的內容。程序設計例8:用二進制顯示向量表中數(shù)據(jù)D0H的個數(shù)主程序流程圖程序設計例8:用二進制顯示向量表中數(shù)據(jù)D0H的個數(shù)1.KEY EQU 0D0H2.CODES SEGMENT3. ASSUME CS:CODES4.START:5. MOV AX,0000H6. MOV DS,AX7. MOV SI,0000H8. MOV CX,0400H9. MOV BX,010. MOV AL,KEY11.NEXT:12.CMP SI,AL13.JNZ POINT14.INC BX15
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園活動安全教育講座
- 胸腹部外科手術后的翻身護理
- 中醫(yī)藥在胃炎疾病中的應用及效果探究
- 醫(yī)學案例分析演練
- 小學空間想象游戲課件
- 氣管切開患者的護理常規(guī)
- 江蘇省東臺市第六聯(lián)盟2025年初三下學期模擬測試(三)英語試題含答案
- 天津廣播影視職業(yè)學院《汽車營銷》2023-2024學年第二學期期末試卷
- 山東省泰安市泰山區(qū)2025屆初三下期中聯(lián)考生物試題理試題含解析
- 荊州理工職業(yè)學院《安全工程專業(yè)制圖與CAD》2023-2024學年第一學期期末試卷
- GB/T 5019-2002以云母為基的絕緣材料試驗方法
- GB/T 4326-2006非本征半導體單晶霍爾遷移率和霍爾系數(shù)測量方法
- 酒水購銷合同范本(3篇)
- GCP培訓考試題庫及參考答案(完整版)
- 乒乓球社團活動記錄
- 新時代中小學教師職業(yè)行為十項準則考核試題及答案
- 數(shù)據(jù)結構-第6章-圖課件
- 《變態(tài)心理學與健康心理學》考試復習題庫150題(含答案)
- DB15T 489-2019 石油化學工業(yè)建設工程技術資料管理規(guī)范
- 皮內針講課課件
- 村衛(wèi)生室靜脈輸液準入申請審批表
評論
0/150
提交評論