微機原理知識點總結_第1頁
微機原理知識點總結_第2頁
微機原理知識點總結_第3頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第一章1. 辨析三個概念:微處理器、微型計算機、微型計算機系統(tǒng)微處理器:簡稱卩P或MP(Microprocessor)是指由一片或幾片大規(guī)模集成電路組成的具有運算器和控制器功能的中央處理器部件,又稱為微處理機。微型計算機:簡稱卩C或MC是指以微處理器為核心,配上存儲器、輸入/輸出接口電路 及系統(tǒng)總線所組成的計算機(又稱主機或微電腦)。微型計算機系統(tǒng) (主機+外設+軟件配置)(Microcomputer system) 簡稱口 CS或MCS是指 以微型計算機 為中心,以相應的外圍設備、電源和輔助電路(統(tǒng)稱硬件)以及指揮微型計算 機工作的系統(tǒng)軟件 所構成的系統(tǒng)。2. 微機系統(tǒng)結構(三種總線結構):

2、數(shù)據總線,地址總線,控制總線第三章3.8086cup部結構由兩部分組成:總線接口單元BIU(Bus In terface Un it);執(zhí)行單元 EU(Executi on Un it).(1).總線接口單元 BIU組成:4個16位的段寄存器(CS DS ES SS);1個16位的指令指針寄存器IP ;1個20位的地址加法器;1個指令隊列(長度為 6個字節(jié));I/O控制電路(總線控制邏輯);部暫存器。BIU的功能:根據EU的請求負責CPU與存或I/O端口傳送指令或數(shù)據。 BIU從存取指令送到指令隊列 當EU執(zhí)行指令時,BIU要配合EU從指定的存單元或I/O端口中讀取數(shù)據,或者把EU的操作結果送

3、到指定的存單元或I/O端口去。(2 )執(zhí)行單元 EU (Executi on Un it )組成:ALU (算術邏輯單元);通用寄存器組AX,BX,CX,DX (4個數(shù)據寄存器)BP(基址指針寄存器)SP(堆棧指針寄存器)SI(源變址寄存器)DI(目的變址寄存器) 數(shù)據暫存寄存器 標志寄存器FR EU控制電路作用:負責執(zhí)行指令,執(zhí)行的指令從BIU的指令隊列中取得;運算結果和所需數(shù)據,則由EU向BIU發(fā)出請求,經總線訪問存或I/O端口進行存取。4. 物理地址與邏輯地址有什么區(qū)別?答:邏輯地址是指未定位之前在程序中存在的地址,由段地址和偏移地址組成。物理地址是實際訪問存儲器時的地址(通過20位地址

4、總線傳遞)。5. 在什么情況下 8086的執(zhí)行單元(EU)才需要等待總線接口單元(BIU)提取指令?答:EU在執(zhí)行完 轉移、調用(包括子程序調用和中斷調用)和返回指令時,因指令的執(zhí)行順序發(fā)生跳轉,原來預取到指令隊列中的指令將不再執(zhí)行,需清空指令隊列緩沖器。在此情況下,EU才需要等待BIU從新的地址重新開始提取指令。6. 存儲器為什么要分段(段加偏移)?答:1.8086有1M的存儲空間,有20根地址線,而CPU的指令指針和堆棧指針都是 16位的, 只能直接尋址64KB的地址空間,為了能尋址1MB的空間,需要把存儲器分為若干段。2.存儲器的分段的機制允許重定位,由于段寄存器里的段地址可以由程序來重

5、新設定, 因而使得程序和數(shù)據不需要進行任何修改,就能使他們重定位。7段地址和段基址概念辨析1)段地址:段寄存器的容,出現(xiàn)在匯編后的機器指令中。2)段基址:段地址左移 4位后形成的20位段起始地址。& 8086CPU系統(tǒng)中為什么要用地址鎖存器 ?8086CP U由于引腳數(shù)量少,其地址總線采用了分時復用的雙重總線,僅在總線周期的TI時鐘周期輸出地址信號,而在整個總線周期中地址信號需保持不變,這就需用地址鎖存器將T1周期發(fā)出的地址信號鎖存起來以在整個總線周期中都能使用,為此8086CPU在 T 1周期提供地址鎖存允許信號 ALE(正脈沖),用ALE的下降沿將地址信息鎖存在地址鎖存器中 (3分) 共需

6、3片73LS373芯片用作地址鎖存器,鎖存信息 A 19 A 0和BHE9.8086的最大工作模式和最小工作模式的區(qū)別?答:最小工作方式即單處理器系統(tǒng)方式;在此方式下,全部控制信號由 CPU本身提供,它適合于較小規(guī)模的應用。CPU工作于最大工作方式時,系統(tǒng)的控制信號由8288總線控制其提供,通常,在最大方式系統(tǒng)中一般包含兩個或多個處理器。10. 什么叫重定位?答:重定位是指一個完整的程序塊或數(shù)據塊可以在存儲器所允許的空間任意浮動并定位到一個新的可尋址的區(qū)域。11. 8086指令系統(tǒng)的特點答:8086與8088的指令系統(tǒng)由8位的8080/ 8085指令系統(tǒng)擴展而來的,同時又能在其后 續(xù)的80x8

7、6系列的CPU上正確運行。其主要特點是:(1)采用可變長指令,指令格式 比較復雜。(2)尋址方式靈活多樣,處理數(shù)據 的能力比較 強。(3)有重復指令和乘、除運算指令。擴充了條件轉移、移位/循環(huán)指令。(4)為加強軟件中斷功能和支持 多處理器系統(tǒng)的工作,增設了有關的指令。12. 總線周期概念:總線周期通常是指微處理器完成一次訪存或I/O端口操作所需的時間。(類似于機器周期)在8086/8088中,一個最基本的總線周期由4個時鐘周期組成,分別稱為4個狀態(tài),即T1、T2、T3與T4這4個狀態(tài)。T 1狀態(tài):CPU往多路復用總線上發(fā)送地址信息,以選中所要尋址的存儲單元或外 設端口的地址。T 2狀態(tài):CPU

8、從總線上撤消地址,并使總線的低16位浮置成高阻狀態(tài),為傳送數(shù) 據做準備。e T 3狀態(tài),多路總線的高 4位繼續(xù)提供狀態(tài)信息,而其低16位(對8088 CPU則為低 8位)上將出現(xiàn)由 CPU寫出的數(shù)據或者 CPU從存儲器或端口讀入的數(shù)據。說明:若訪問設備未準備好, 則CPU會在T3之后自動插入1個或多個附加的時鐘 周期Tw,這個Tw就叫等待狀態(tài)(CPU在每個總線周期的 T3狀態(tài)開始對READY信號 采樣。)T4狀態(tài):CPU采樣數(shù)據總線,完成本次讀/寫操作,總線周期結束。(要對INTR信號進行采樣)金 說明:只有BIU與存或I/O端口交換數(shù)據,以及填充指令隊列時,BIU才執(zhí)行總線周期。除此之外,既

9、不需要填充指令隊列,EU也沒有向BIU發(fā)出總線周期請求時, 系統(tǒng)總線就處于空閑狀態(tài),進入空閑周期,空閑周期由一個或幾個Ti狀態(tài)組成。13. RESET復位后,標志寄存器 與指令隊列緩沖器 的原有信息被清除,IP與DS SS和ES也被清 零,而CS被置為FFFFH當RESET信號變?yōu)榈碗娖綍r, CPU就從FFFF0H開始執(zhí)行程序。在 程序執(zhí)行時,RESET線保持低電平。14. 指令數(shù)據在存儲器中的存放若存放的信息為1個字時,則將字的低位字節(jié)放在低地址中,高位字節(jié)放在高地址中。 (注:對存放的字,若低位字節(jié)從奇數(shù)地址開始存放,為非規(guī)則字;反之,為規(guī)則字。讀一 個規(guī)則字需要訪問一次存儲器,讀一個非規(guī)

10、則字需要訪問兩次存儲器)當存放的是雙字形式(這種數(shù)一般作為指針),其低位字是被尋址地址的偏移量;高位字 則是被尋址地址所在的段地址。15. 8086的存儲器為什么要分段?答案見616. 8086/8088指令的分類6大類:數(shù)據傳送、算術運算、邏輯運算、串操作、程8086/8088的指令按功能可分為序控制和CPU控制數(shù)據傳送指令(細分成4類)通用數(shù)據傳送指令MOV 、PUSH POP XCHG XLAT目標地址傳送指令LEA 、 LDS LES標志位傳送指令LAHF 、 SAHF PUSHF POPFI/O 數(shù)據傳送指令IN 、OUT傳送指令:MOV DST, SRC執(zhí)行操作:(DST)(SRC

11、)說明:可實現(xiàn)一個字節(jié)或字的傳送(例子見教材P66)。注意:MOV DS, 2000H立即數(shù)不能直接送段寄存器DST不能是立即數(shù)和 CSDST、SRC不能同時為存儲器尋址 不影響標志位進棧指令: 注意:PUSH SRC堆棧操作必須以字為單位。不影響標志位不能用立即尋址方式PUSH 1234HDST交換指令:執(zhí)行操作:不能是CS POP CS并非局限在棧頂操作 MOV AX , BPSIXCHG OPR1, OPR2(OPR1)(OPR2)注意:換碼指令: 執(zhí)行操作: 例: MOVMOV不影響標志位不允許使用段寄存器不能在存儲器單元之間交換XLAT或 XLAT OPR (通過查表實現(xiàn))(AL)

12、( (BX) + (AL)BX, OFFSET TABLE ; (BX)=0040H( 表預先建立在存)AL, 3;索引值XLAT TABLE指令執(zhí)行后(AL)=30H注意:不影響標志位字節(jié)表格(長度不超過256字節(jié))首地址 (BX)需轉換的代碼位移量(AL)目標地址傳送指令有效地址送寄存器指令:執(zhí)行操作:(REG)LEA REG,SRCSRC (存儲器)指針送寄存器和 DS指令:LDS REG, SRC 執(zhí)行操作:(REG) (SRC) (DS)相繼二字寄存器、DS(SRC+2)指針送寄存器和ES指令:執(zhí)行操作:(REG)相繼二字寄存器、LES REG, SRC(SRC) (ES)ES(SR

13、C+2)* 不影響標志位* REG不能是段寄存器*SRC必須為存儲器尋址方式標志位傳送指令標志送AH指令: LAHF執(zhí)行操作:(AH)(FLAGS的低字節(jié))AH 送標志寄存器指令:執(zhí)行操作:(FLAGS標志進棧指令:PUSHF執(zhí)行操作: (SP)(SP)+1, (SP)標志出棧指令:POPF *執(zhí)行操作: (FLAGS)(SP)*影響標志位二、算術運算類指令(共加法指令ADD 、ADC INC減法指令SUBSAHF * (置位/復位) 的低字節(jié))(AH)(轉子/中斷調用)(SP) - 2(FLAGS)(轉子/中斷調用)(SP)+1, (SP)(SP) + 220條指令)、SBB DEC NEG

14、 CMP 乘法指令、IMULMULDIV除法指令、IDIV、CBW CWD執(zhí)行REP MOVS之前,應先做好 (初始化工作):(1) 源串首地址(末地址)tSI(2) 目的串首地址(末地址DI(3) 串長度 t CX (最大64KB)(4) 建立方向標志(CLD 使 DF=0, STD 使 DF=1 )一個串傳送的例子:data segme ntmessl db personal_computer字符數(shù)組data endsextra segme ntmess2 db 17 dup (?) extra endscode segme ntmov ax, data ; 不能: mov ds, dat

15、a (x)mov ds,ax ;立即數(shù)不能直接送段寄存器mov ax, extra ; 不能:lea ds, data (x)mov es, ax ;用于取變量的有效地址lea si, messl;源串首地址lea di, mess2;目標串首地址mov cx, 17;串長度cld;建立方向標志(CLD使DF=O,STD使DF=1)rep movsb ; 串傳送code ends例(續(xù)):把 附加段 中的10個字節(jié)緩沖區(qū)置為 20H lea di, mess2mov al, 20Hmov cx, 10cldrep stosb比較例3.66中兩串是否完全相同,若兩串相同,則BX寄存器容為0;若兩

16、串不同,指向源串中第1個不相同字節(jié)的地址,且該字節(jié)的容保留在AL寄存器中。CLDMOV CX ,100MOV SI ,2500HMOV DI ,1400HBXREPE CPMSBJZ EQQDEC SIMOV BX ,SIMOV AL ,SI;串比較,直到 ZF=0或CX=0;兩串相同,置BX為0JMP STOP;必須跳轉,否則仍繼續(xù)執(zhí)行 EQQ;將指針修改回第1個不相同字節(jié)處EQQ MOVBX 0STOP HLT例:試比較兩個無符號數(shù)80H和79H,則用下面的指令,即MOV AL 80HCMP AL 79HJA ABOVE例:試比較兩個有符號數(shù)80H和79H,則用下面的指令,即 MOV AL

17、, 80HCMP AL 79HJG GREATER第三章習題答案整理3.3 答:由兩部分組成:總線接口單元BIU(Bus In terface Un it),執(zhí)行單元 EU(Executi onUn it). BIU的功能是根據執(zhí)行單元的請求負責CPU與I/O端口或則存儲器之間的數(shù)據傳輸。EU單元的作用是:負責執(zhí)行指令,執(zhí)行的指令從 BIU的指令隊列中取得;運算結果和所需 數(shù)據,則由EU向BIU發(fā)出請求,經總線訪問存或I/O端口進行存取。3.4答:組成:4個16位的段寄存器(CS DS ES SS);1 個16位的指令指針寄存器IP ; 1個20位的地址加法器;1個指令隊列(長度為 6個字節(jié))

18、;I/O控制電路(總線控制邏輯);部暫存器。段寄存器和地址加法器:8086的存空間為1M地址線為20根,但是8086的部寄存器只有16位,因此采用“段加偏移”技術來解決這一問題,由段寄存器提供段地址,左移4位形成段基址,通過地址加法器與有效地址相加得到20位物理地址。指令隊列:指令隊列由 6字節(jié)的寄存器組成,最多可以存入 6字節(jié)的指令代碼,8086執(zhí)行 指令時,將從存或則存儲器中取出一條或則幾條指令依次存入指令隊列緩沖器里,他們采用“先進先出”的原則,順序取到EU中去執(zhí)行16位指令指針:IP的功能相當于8位CPU中的PC,正常運行時,IP中含有BIU要去的銷一 條指令的偏移地址,在程序運行時能

19、自動加1修正,使之指向下一條指令。3.5答:并行操作方式是指 EU和BIU著兩部分同時工作,EU但愿從指令隊列頭中取指令, 只要指令隊列不是空,他就一直執(zhí)行,無需等待。由于8086中的BIU和EU是分開獨立設計的,因此,在一般情況下,CPU執(zhí)行完一條指令后就可以立即執(zhí)行下一條指令,無需等待。因此說8086可以并行操作。當EU在執(zhí)行完轉移、調用(包括子程序調用和中斷調用)和返回指令時,因指令的執(zhí)行順序發(fā)生跳轉,原來預取到指令隊列中的指令將不再執(zhí)行,需清空指令隊列緩沖器。在此情況下,EU才需要等待BIU從新的地址重新開始提取指令。3.6答:邏輯地址是指未定位之前在程序中存在的地址,由段地址和偏移地

20、址組成。物理地址是實際訪問存儲器時的地址(通過20位地址總線傳遞)。為什么要引入段加偏移思想:1.8086有1M的存儲空間,有20根地址線,而 CPU的指令指針和堆棧指針都是16位的,只能直接尋址64KB的地址空間,為了能尋址1MB的空間,需要把存儲器氛圍若干段。2存儲器的分段的機制允許重定位,由于段寄存器里的段地址可以由程序來重新設定,因 而是的程序和數(shù)據不需要進行任何修改,就能使他們重定位。段加偏移的含義是:利用 16位的段寄存器的容確定 20位起始地址的高16位,由IP或由 EU按照尋址方式找出的 16位偏移地址,然后將段基址與偏移地址相加得到一個20位的實際地址,以對存儲單元尋址。3.

21、7答:指令隊列緩沖器的作用是存放從存或則存儲器中取出的指令,供EU執(zhí)行。8086的指令隊列由6字節(jié)的寄存器組成,8088的指令隊列由4字節(jié)的寄存器組成。3.9答:不同。段地址左移4位就得到了段基址; 是;段寄存器中的容左移 4位得到段基址。 3.20答:當CPU取指或與I/O端口或者存儲器交換數(shù)據的時候才執(zhí)行總線周期。T1T4狀態(tài)。如果存儲器或則外設的速度比較慢,不能及時跟上CPU的速度時,存儲器或則外設通過一個READY!號在T3啟動之前發(fā)送一個 “沒有準備好”的信號,并且CPU會在T3啟動后插 入1個或多個Tw等待狀態(tài)。3.26 答:ALE信號時地址鎖存信號( Address Lock E

22、nable ),它通知地址鎖存器 8282當前地址為有效地址,可以鎖存。不能。DT/R(非)控制8286的數(shù)據傳輸方向。當DMA青求時,它被置于高阻狀態(tài)。3.28答:最大工作方式和最小工作方式。MN/MX非)(非:就是對 MX取反)引腳來控制。最小工作方式即單處理器系統(tǒng)方式;在此方式下,全部控制信號由 CPU本身提供,它適合于較小規(guī)模的應用。CPU工作于最大工作方式時,系統(tǒng)的控制信號由8288總線控制其提供,通常,在最大方式系統(tǒng)中一般包含兩個或多個處理器。3.32答(1)立即數(shù)尋址 (2)直接尋址 (3)變址尋址 (4)變址尋址 (5)寄存器尋 址(6)寄存器相對間接尋址(7)隱含尋址(8)寄

23、存器尋址(9)I/O間接尋址(10)基址尋址3.33(1) PA=(DS)*16+(DI) (2) PA=(DS)*16+(BX)+(SI)(3) PA=(DS)*16+8+(BX)+(DI)(4) PA= ( ES) *16+(BX)(5) PA=(DS)*16+2400H(6) PA=PA=(DS)*16+(BX)+(DI)+1200H(7) PA=(SS)*16+(BP)+(SI)(8) PA=(DS)*16+(BX)+(DI)+1200H3.34 (1) IP不可編程訪問,或IP不可作為源操作數(shù)出現(xiàn)在普通指令中。(CS,IP,FLAG等都不可編程訪問)(2) cs不可編程訪問。(3)

24、SI+2是對寄存器的非法使用(應為 SI+2)(4) MOV指令的目標操作數(shù)不能為立即數(shù)(5) PUSH指令的操作數(shù)不能為立即數(shù)(6) 未指明數(shù)據長度(可以改為 INC WORD PTRBX)(7) 乘數(shù)不能為立即數(shù)且MUL只能完成無符號數(shù)的乘法(8) 未知名數(shù)據長度(可改為ADD WORD PTR2400H,2AH(9) MOV旨令的兩操作數(shù)不能同時為存儲器操作數(shù)(10) 數(shù)據類型不匹配(可改為 MOV SI,AX )3.36(1) AX=0ABCH (2) AX=0ABBH (3) AX=00BBH (4)CL=04H(5) AL = 76H(6) CL = 76H(7)CL = EEH

25、(8) AX = 0076H(9) BX = 0076H3.39 (2) PA=(DS)*16+list+(bx)+(si)=11950H3.47( 1) AND AH,0FH(2) XOR AL , F0H(3) MOV CL,4SHR AL,CL(4) MOV CL,4SHL AL,CL3.50 ADD AX,AX ; AX=6264HJZ DONESHL CX , 1; CX=0008HROR AX,CX ; AX=6462HDONE: OR AX,1234H; AX = 7672H3.57 AX+DX=OOOOOB所以 CF = 0 , AF = 1 , SF = 0 ZF = 0 ,

26、 OF = 0 PF=13.67 MOV AL,BLCBWIDIV CLMOV DL,2IMUL DLMOV DX,AX3.70( 5) AND BP,CX(6) AND BYTE PTRWAIT1 , AL3.72 (3) OR SI , DX(5) OR BP ,CX3.73 OR DI , 001FMOV SI , DI3.75 (1) MOV CL, 3SHR DI , CL(2) SHL AL,13.78 1 ) JMP DI:該指令為段間接轉移。DI中的容為指向存儲單元的偏移地址,從該地址開始的2個字節(jié)中存放著要跳轉到的指令的偏移地址,執(zhí)行指令時,將該偏移地址(DSDI和DS: D

27、I+1 )中的容送IP,段地址不變。2) JMP FAR PTRDI:該指令為段間間接遠轉移。DI中的容為指向存儲單元的偏移地址,從該地址開始的4個字節(jié)中存放著要跳轉到的指令的目標地址,其中,前2個字節(jié)為偏移地址,后2個字節(jié)為段地址。執(zhí)行指令時,將該偏移地址送IP,段地址送CSo3.79 CLDMOV CX 100MOV SI, 6180HMOV DI, 2000HREP MOVSBDEC DISTD ;也可直接用 MOV DI, 2000HMOV CX 100SCAN SCASBJNZ NEXTINC DIMOV BYTE PTR DI, (或 20H)DEC DINEXT LOOP SCA

28、NMOV AH 4CH ;終止程序,返回 DOSINT 21H 3.82 答:答案參見 p95 RET彈出值 p99 IRET第四章17匯編語言是直接面向微處理器編程的程序設計語言,具有執(zhí)行速度快和易于實現(xiàn)對硬件 的控制等獨特的優(yōu)點,所以至今仍然是使用得較多的編程語言。 特別是在對于程序的空間和 時間要求很高的場合,以及需要直接控制設備的應用場合,匯編語言更是必不可少。18 匯編語句的4個字段是:1 )名字或標號;2 )操作碼(指令助記符)或微操作命令;3 )操作數(shù)表(操作數(shù)或地址)4 )注釋19.8086匯編語句的種類:(3種):指令語句,偽指令語句,宏指令語句20.指令性語句格式:標號:前

29、綴指令助記符操作數(shù)表;注釋21 偽指令性語句格式:名字偽指令參數(shù)表;注釋22. 表達式的求值是由匯編程序完成的。23. 邏輯運算符出現(xiàn)在操作數(shù)中時為微操作,其功能在匯編時完成例如MOV AX , 75A6H AND 2465H24. 關系運算符:EQ NE LT、GT LE、GE說明:關系運算的結果是一個常數(shù)(布爾值) 。關系成立,結果為 0FFFFH否則,為0。25. 變量的定義:1) VAR DB 12;2) VAR DB 12 DUP(0)( 字節(jié)串/字符串)3) VAR DW 12 DUP(?)(字串)4) VAR DB 12 5 DUP(5)(字節(jié)串,只給部分字節(jié)賦值 )26.分析運

30、算符:分析運算符用來把存儲器操作數(shù)(變量或標號)分解為它的組成部分(段地址、偏移值、類型、數(shù)據字節(jié)總數(shù)、數(shù)據項總數(shù)等 ),并以數(shù)值形式回送給變量或標號(例子見教材P136)。SEG回送變量或標號的段地址;OFFSET回送變量或標號的偏移量;TYPE回送反映變量或標號類型的一個數(shù)值;SIZE回送變量數(shù)據區(qū)的字節(jié)總數(shù);LENGTH回送變量數(shù)據區(qū)的數(shù)據項總數(shù);HIGH取地址表達式或16位絕對值的高8位;LOW取地址表達式或16位絕對值的低8位;27. $地址計數(shù)器假定進行匯編時,為VAR分配的偏移地址為 0074H。那么匯編偽指令:VAR DW1,2,$+4,3,4,$+4 后,該存儲區(qū)的存儲情況如

31、何?28. 在指令中引用$時,$就表示該指令首地址,與 $本身所指向單元無關。比如指令:JNZ $+6該指令的轉移地址是 JNZ指令的首地址加上 6。當然,$+6必須是某一條指令的首地 址,這樣才能達到正確轉移的目的。29. DOS及BIOS中斷調用前七個第四章習題整理4.2 AX=0020H BX=0202H CX=0220H4.3DATA SEGMENTX DB ?Y DB ?K DB ?DATA SEGMENTCODE SEGMENTDATAASSUME C: CODE DSSTART MOV AL X MOV BL, YCMP AL, 0JE ABEJG ABCJL BBCABC: C

32、MP BL, 0JE ABEJG ABDMOVK , 4BBC CMP BL , 0JG BBDMOVK , 3ABD MOV K , 1BBD MOV K , 2ABE MOV K , 0CODE ENDS;落在坐標軸上;落在第1、4象限;落在第2、3象限;丫0,則落在第1象限;丫0,則落在第4象限;丫0,則落在第2象限;丫0,則落在第3象限END START4.4 DATA SEGMENTCHAR1 DB abcdef N EQU $-CHAR1CHAR2 DB N DUP(O)CODE SEGMENTASSUME C: CODE DS DATASTART CLDMOV CX NLEA S

33、I , CHAR1LEA DI , CHAR2NEXT LODSB32SUB AL , 32 ;或20H,因小寫字母的 ASCII碼值比大寫字母大STOSBLOOP NEXTCODE ENDSEND START4.6DATA SEGMENTBUF DB 100 DUP (?)N EQU $-BUFLEN DW ?CODE SEGMENTASSUME C:S CODE DS DATASTART CLDMOV AX,DATAMOV DS,AXMOV CX,NMOV DI,OFFSET BUFMOV AL , AREPNE SCASBDEC DILEA SI,BUF;有這兩句更好一亠占八、SUB D

34、I,SI;有這兩句更好-占八、MOVLEN,DIMOV AH,4CHINT 21HCODE ENDSEND START4.84.9 (1) BX = 54CBH (2) BX = 54EBH (3) BX=0000H (4) 543BH(5) BX=545CH (6)BX = 54A3H4.11 PLENTH的值是34,其物理意義:變量 P1和P2共占用了 34字節(jié)的存空間。4.13 P151冒泡排序法4.14data segme ntbuf db 11,-22,33,05,-7(當然也可這樣: buf db 10 dup(?) )N EQU $-bufmin db ?max db ?data endscode segme ntassume cs:code,ds:datastart:mov ax,datamov ds,axmov cx,N-1 ;比較次數(shù)(找最大數(shù)和最小數(shù))mov si,0mov al,bufsi大數(shù)放入AL寄存器mov bl,bufsi;小數(shù)放入 BL寄存器n ext: cmp al,bufsi+1jge stolmov al,bufsi+1sto1: cmp bl,si+1jle sto2mov bl,si+1s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論