



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一二三 章微型計算機組成:微處理器,存儲器,I/O接口電路;計算機硬件系統:運算器,控制器,存儲器,輸入設備,輸出設備。總線:指計算機中各功能部件間傳遞信息的公共通道;總線分類:數據總線(雙向),控制總線(整體雙向,局部單向),地址總線(單向)。原碼的正數(符號位0)的原碼,反碼,補碼相同;負數(符號位1)的反碼等于原碼符號位不變,其余按位取反,補碼等于反碼加1。補碼的補碼等于原碼。特殊數:1000 0000(補碼)表示-128特殊數:1000 0000 0000 0000 (補碼)表示-32768物理地址=段地址x10H+段內偏移地址;8086的總線周期由4個時鐘周期組成。BHEA0對應操
2、作00同時訪問兩個存儲體,讀/寫一個字的信息,對于規則字(低位在偶地址,高位在奇地址)需要一個總線周期。對于非規則字(低位在奇地址,高位在偶地址)需要兩個總線周期01訪問奇地址地址存儲體,一個字節10訪問偶地址地址存儲體,一個字節11無操作A0:選通存儲器低位(偶地址)庫,低電平有效。BHE:選通存儲器高位(偶地址)庫,低電平有效。CPU的中斷響應包括兩個總線周期,在每個總線周期中都從INTA端輸出一個負脈沖,第一個總線周期的INTA負脈沖,用來通知中斷源,CPU準備響應中斷,中斷源應準備好中斷類型號。第二個總線周期的INTA負脈沖期間,外設接口應立即把中斷源的中斷類型號送到數據總線的低8位A
3、D7-AD0上。第四章尋址方式例子立即數尋址1050H寄存器尋址AX存儲器尋址特點:有直接尋址1064H寄存器間接尋址SI/DI/BX寄存器相對尋址SI/DI/BX/BP+10H基址變址尋址SI/DI+BX/BP基址變址相對尋址SI/DI+BX/BP+10HI/O端口尋址端口直接尋址OUT 21H,AXIN AX,21H端口間接尋址OUT 21H,DXIN DX,21H指令易錯點MOV1. 源操作數,目的操作數不能同為存儲器操作數2. 段寄存器必須通過AX修改3. IP,CS不能做目的操作數PUSH1. 目的操作數不能是立即數2. 目的操作數必須是16位POP1.目的操作數不能是立即數2.目的
4、操作數不能是CS3.目的操作數必須是16位XCHG1. 源操作數,目的操作數不能同為存儲器操作數2. 段寄存器不能參加交換3. 兩操作數長度要一致OUT直接尋址00H-FFH,間接尋址必須用DXIN直接尋址00H-FFH,間接尋址必須用DXADDSUB1段寄存器不參加加減乘除運算2源操作數,目的操作數不能同為存儲器操作數3目的操作數不能為立即數DECINC1.單操作數指令,存儲器操作數必須加確定其長度的指令LEA1目的操作數必須是16位通用寄存器2源操作數必須是存儲器操作數移位指令1.單操作數指令,存儲器操作數必須加確定其長度的指令注意:堆棧向地址減小方向生長;轉移指令配合(CMP A,BAN
5、D A,B)轉移條件JMP無條件轉移JZ/JE相等/前一個操作的寄存器等0JNZ前一個操作的寄存器不等0測試無符號數測試帶符號數JBJL小于JAEJGE大于等于JAJG大于JBEJLE小于等于第五章 標準方法返回DOS系統:PUSH DSMOV AX,0PUSH AX非標準方法返回DOS系統:MOV AH,4CHINT 21HDOS功能調用:1子程序的入口參數送相應的寄存器2子程序編號送AH3發中斷請求 INT 21H(系統功能調用指令)1號功能調用(鍵盤有鍵按下,就讀入響應的ASCII碼)MOV AH,1INT 21H2號功能調用(顯示DL中的ASCII碼)MOV DL,待顯示的ASCII字
6、符MOV AH,2INT 21H9號功能調用(顯示以$結尾的字符串,字符串偏移地址在DX中)MOV DX,待顯示字符串的首字符的偏移地址MOV AH,9INT 21H第七章 中斷處理過程:中斷請求,中斷響應,保護斷點,中斷處理,中斷返回。中斷向量表:8086/8088有256種中斷,每個中斷服務程序的入口地址占用4個存儲單元,低地址的兩個單元存放地址偏移量(IP),高地址的兩個單元存放段地址(CS).256*4=1024=1K,地址范圍是00000H-003FFH。類型(0-4)他們已有固定用途,類型(5-31)系統保留,所以用戶有224個自定義的中斷。中斷入口地址=類型號x4DOS功能調用法
7、直接裝入法PUSH DS;MOV DX,OFFSET INT60MOV AX,SEG INT60MOV DS,AXMOV AH,25H ;送功能號MOV 60H ;送中斷類型號INT 21H ;系統功能調用POP DS ;恢復DSXOR AX,AX ;AX清零MOV DS,AX ;DS清零MOV AX,OFFSET INT60MOV DS:1080H,AXMOV AX SEG INT60MOV DS:1080H+2,AX例4.7 從偏移地址TABLE開始的內存區中,存放著100個字節型數據,要求將這些數據累加,并將累加和的低位存SUM單元,高位存SUM+1單元.LEA BX,TABLE ;數據
8、表地址指針送(BX)MOV CL,100 ;循環次數送XOR AX,AX ;AX清零,CF清零LOOPER:ADD AL,BX ;加一個數到ALJNC GOON ;如果無進位,轉到GOONINC AH ;有進位,AH加1GOON: INC BX ;數據指針加1DEC CL ;循環次數減1JNZ LOOPER ;循環次數若不為0,轉到LOOPERMOV SUM,AX ;AX送SUM,SUM+1HTL ;結束例 4.13一個數據塊由大小寫英文字符,數字和其他各種符號組成,結束符是回車符CR(ASII碼為0DH),數據塊得首地址為BLOCK1,將數據塊傳送到以BLOCK2為首地址的內存區,并將其中的
9、小寫字母轉換為大寫字母,其余不變。LEA SI,BLOCK1 ;源地址指針送LEA DI,BLOCK2 ;目標地址指針送DICLD ;清方向標志DFNEXT:LODSB ;取一個字符到ALCMP AL,0DH ;是否是回車符JZ DONE ;是,則轉DONGCMP AL,61H ;否則,是否小于aJC OK ;是,轉OKCMP AL,7BH ; 否則,是否大于zJNC OK ; 是,轉OKSUB AL,20H ;否則AL減20HOK:STOSB ;送存JMP NEXT ;轉移到NEXTDONE:HTL ;停止例4.16在內存中的數據段中存放了若干個8位帶符號數,數據塊得長度為COUNT,首地址
10、為TABLE,試統計其中的正數負數,及零的個數,并分別將統計結果存入PLUS,MINUS,ZERO單元。 XOR AL,AL ;AL清零 MOV PLUS,AL ;PLUS清零 MOV MINUS,AL ; MINUS清零 MOV ZERO,AL ; ZERO清零 LEA SI,TABLE ;數據表首地址送SI MOV CX,COUNT ;循環次數送CX CLD ;清方向標志DFCHECK:LODSB ;取一個字符到AL OR AL,AL ;使數據影響標志位JS X1 ;如為負,轉X1JZ X2 ;如為0,轉X2INC PLUS ;否則為正,PLUS加1JMP NEXT ;X1:INC MIN
11、US ;MINUS單元加1 JMP NEXT ;X2:INC ZERO ;ZERO單元加1NEXT:LOOP CHECK ;CX減1不為0.轉CHECKHTL ;結束例 4.17在以DATA1為首地址的內存數據中,存放了200個16位帶符號數,將其中的最大數和最小數找出來,分別存放在MAX,MIN單元中。LEA SI,DATA1 ;數據塊首地址送SIMOV CX,200 ;循環次數送CXCLD ; 清方向標志DFLODSW ;讀一個字到AXMOV MAX,AX ;送MAX單元MOV MIN,AX ;送MIN單元DEC CX ;循環次數減1NEXT:LODSW ;讀一個字到AXCMP AX,MA
12、X ;與MAX單元內容比較JG GREATER ;大于MAX,轉GREATERCMP AX,MIN ;與MIN單元內容比較JL LESS ;小于MIN 轉LESSJMP GOON ;轉GOONGREATER:MOV MAX,AX ; AX送MAX單元JMP GOON ; LESS:MOV MIN,AX ; AX送MIN單元GOON:LOOP NEXT ;HLT ;結束例5.8 求兩個數的平均值。這兩個數分別放在x單元和y單元中,而平均值放在z單元中。DATA SEGMENTx DB 95 ;y DB 87 ;z DB ? ;DATA ENDS ;CODE SEGMENT ;MAIN PROC
13、FAR ;ASSUME CS:CODE,DS:DATA ;START:PUSH DS ;標準法返回DOSMOV AX,0 ;標準法返回DOSPUSH AX ;標準法返回DOSMOV AX,DATA ;裝填段寄存器DSMOV DS,AX ;MOV AL,x ;第一個數送入ALADD AL,y ;兩數相加,結果送入ALMOV AH,0 ;ADC AH,0 ;帶進位加法,進位送入AHMOV BL,2 ;除數2送入BLDIV BL ;求平均值送ALMOV z,AL ;結果送入Z單元RET ;標準法返回DOSMAIN ENDP ;CODE ENDS ;END START ;例 5.10給定以下符號函數y
14、=1(x>0),y=0(x=0),y=-1(x<0)給定任意x值,假定是-25,存放在x單元中,函數值存放在y單元中,根據x的值確定函數y的值。DATAX SEGMENTx DB -25 ;y DB ? ;DATAX ENDS ;CODEX SEGMENT ;MAIN PROC FAR ;ASSUME CS:CODEX,DS:DATAX ;START:PUSH DS ;標準法返回DOSMOV AX,0 ;標準法返回DOSPUSH AX ;標準法返回DOSMOV AX,DATAX ;裝填段寄存器DSMOV DS,AX ;MOV AL,x ;x送入ALCMP AL,0 ;比較AL和0J
15、GE LOOP1 ;如果大于等于0,轉LOOP1MOV AL,0FFH ;將-1送ALMOV y,AL ;否則AL小于零,y=-1RET ;標準法返回DOSLOOP1:JE LOOP2 ;如果等于零,轉LOOP2MOV AL,1MOV y,AL ;不等0則AL大于0,y=1RET ;標準法返回DOSLOOP2:MOV AL,0MOV y,AL ;y=0RET ;標準法返回DOSMAIN ENDP ;CODEX ENDS ;END START ;例 5.12從xx單元開始的30個連續單元中存放有30個無符號數,從中找出最大數送入yy單元。DATASP SEGMENTxx DB 73,59,61,
16、45,81,107,37,25,14,64,3,17,9,23,55,97,115 DB 78,121,67,215,137,99,241,36,58,87,100,74,62,yy DB ?DATASP ENDSCODEX SEGMENT ;MAIN PROC FAR ;ASSUME CS:CODESP,DS:DATASPSTART:PUSH DS ;標準法返回DOSMOV AX,0 ;標準法返回DOSPUSH AX ;標準法返回DOSMOV AX,DATASP ;裝填段寄存器DSMOV DS,AX ;MOV AL,xx ;首數據送ALMOV SI,OFFSET xx ;數據段指針送SI等價
17、LEA SI,xxMOV CX,29 ;循環次數送CXLOOP1:INC SI ;數據指針加1CMP AL,SI ;比較AL和指向數據JAE LOOP2 ;如果AL大于等于SI,轉LOOP2XCHG AL,SI ;否則AL小于SI,交換LOOP2:DEC CX ;循環次數減1,等價LOOP LOOP1JNZ LOOP1 ;循環次數不為0,等價LOOP LOOP1MOV yy,AL ;AL送yyRET ;標準法返回DOSMAIN ENDP ;CODESP ENDS ;END START ;例5.13 從自然數1開始累加,直到累加和大于1000為止,統計被累加的自然數的個數,把統計的個數送入n單元
18、,把累加和送入sum單元。DATAS SEGMENTn DW ?sum DW ?DATAS ENDSCODES SEGMENT ;MAIN PROC FAR ;ASSUME CS:CODES,DS:DATASSTART:PUSH DS ;標準法返回DOSMOV AX,0 ;標準法返回DOSPUSH AX ;標準法返回DOSMOV AX,DATAS ;裝填段寄存器DSMOV DS,AX ;MOV AX,0 ;累加和AL清零MOV BX,0 ;自然數數據加1MOV CX,0 ;累加數個數CX清零LOOPT:INC BX ;數據加1ADD AX,BX ;累加 INC CX ;累加個數加1CMP AX
19、,1000 ;累加和和1000比較JBE LOOPT ;如果小于等于1000,轉LOOPTMOV n,CX ;CX送nMOV sum,AX ;AX送sumRET ;標準法返回DOSMAIN ENDP ;CODES ENDS ;END START ;中斷處理過程:中斷請求 中斷響應 保護現場 中斷處理 中斷返回如何利用中斷向量表執行中斷服務程序?中斷向量表是存放中斷向量的一個特定內存區域,而中斷向量是中斷服務程序的入口地址。Cpu響應中斷時,把中斷類型號n×4,得到對應的地址4n,然后把由此開始的兩個低字節單元(4n,4n+1)的內容裝到IP寄存器,再把高字節單元(4n+2,4n+3)的內容裝到CS寄存器,接著cpu轉入執行中斷各類型號為n的中斷服務程序。中斷結束方式的比較:中斷自動結束方式:在第二個INTR負脈沖的后沿即完成對應的IsR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 甘肅省初三上冊數學試卷
- 肝病病人護理
- 二三級數學試卷
- 德威七年級數學試卷
- 肛門癌術后護理課件
- 二升四三數學試卷
- 肌理畫課件背景介紹
- 2025年天津市衛生健康委員會所屬天津市海河醫院招聘99人筆試歷年專業考點(難、易錯點)附帶答案詳解
- 高血壓的并發癥及控制策略
- 給外國人做數學試卷
- GB/T 18391.3-2009信息技術元數據注冊系統(MDR)第3部分:注冊系統元模型與基本屬性
- GA/T 935-2011法庭科學槍彈痕跡檢驗鑒定文書編寫規范
- 濟源幼兒園等級及管理辦法
- 房地產開發全流程培訓講義課件
- 湖北省黃石市基層診所醫療機構衛生院社區衛生服務中心村衛生室信息
- DB44-T 2163-2019山地自行車賽場服務 基本要求-(高清現行)
- DB15T 933-2015 內蒙古地區極端高溫、低溫和降雨標準
- 圍堰施工監理實施細則
- 新概念英語第二冊單詞打印版
- 《世界經濟史》課程教學大綱
- 小學語文一到六年級生字表
評論
0/150
提交評論