版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。第一章微型計(jì)算機(jī)概論1.1、答:微型計(jì)算機(jī)系統(tǒng)包括硬件系統(tǒng)和軟件系統(tǒng)兩大部分。硬件系統(tǒng)包括:微型計(jì)算機(jī)、外部設(shè)備、電源及其它輔助設(shè)備。軟件系統(tǒng)包括:系統(tǒng)軟件和應(yīng)用軟件。微型計(jì)算機(jī)也稱為主機(jī),主機(jī)包括:微處理器、存儲(chǔ)器、輸入/輸出接口(Input/Output),微處理器經(jīng)過系統(tǒng)總線和存儲(chǔ)器、輸入/輸出接口進(jìn)行連接。微處理器(MicroprocessorUnit)簡稱為MPU(或者稱為MP),它是一個(gè)中央控制器(CentralProcessingUnit),簡稱CPU。它是微型計(jì)算機(jī)的核心部件,它將運(yùn)算器、控制器、寄存器經(jīng)過內(nèi)部總線連接在一起,并集成在一個(gè)獨(dú)立芯片上。1.2、答:單片機(jī)是將CPU、ROM、RAM以及I/O接口電路以及內(nèi)部系統(tǒng)總線等全部集中在一塊大規(guī)模集成電路芯片上,就構(gòu)成了單片機(jī)。單板機(jī)是將微處理器芯片、存儲(chǔ)器芯片、I/O接口芯片及少量的輸入輸出設(shè)備(鍵盤,數(shù)碼顯示器)安裝在一塊印制板上構(gòu)成一臺(tái)微型計(jì)算機(jī)。由多塊印制板構(gòu)成的微機(jī)稱為多板機(jī)。1.3、完成下列轉(zhuǎn)換(保留4位小數(shù))(21.32)10=(10101.0101)2=(25.2436)8=(15.51EB)1650.38D=110010.0110B=62.3024Q=32.6147H1.4、完成下列計(jì)算已知X=-63,Y=59則[X]原=BFH(10111111B),[X]反=C0H(B),[X]補(bǔ)=C1H(11000001B)[Y]原=3BH(00111011B),[Y]反=3BH(00111011B),[Y]補(bǔ)=3BH(00111011B)[X+Y]補(bǔ)=0FCH(11111100B),[X-Y]補(bǔ)=86H(10000110B)。[X]補(bǔ)+[Y]補(bǔ)=0FCH(11111100B),[X]補(bǔ)-[g]補(bǔ)=86H(10000110B)。1.5、答:浮點(diǎn)數(shù)是指小數(shù)點(diǎn)在數(shù)值中的位置不是固定不變,實(shí)際位置將隨階碼而浮動(dòng),用這種方法表示的數(shù),稱為浮點(diǎn)數(shù)。定點(diǎn)數(shù)是指小數(shù)點(diǎn)在數(shù)值中的位置固定不變。1.6、答:壓縮BCD碼是4位二進(jìn)制表示一位十進(jìn)制數(shù)而非壓縮BCD碼是8位二進(jìn)制表示一位十進(jìn)制數(shù)。1.7、寫出下列數(shù)值的壓縮的BDC碼、非壓縮的BDC碼、ASCΠ碼值。(改為15,29)15=[15H]壓縮BCD碼=[0105H]非壓縮BCD碼=[3135H]ASCΠ碼29=[29H]壓縮BCD碼=[0209H]非壓縮BCD碼=[3239H]ASCΠ碼第二章8086/8088微處理器2.1答:從功能上講由兩部分組成總線接口單元BIU和執(zhí)行單元EU組成。總線接口單元(BIU)是微處理器內(nèi)部與存儲(chǔ)器和I/O接口傳送信息的通道,總線接口單元負(fù)責(zé)從內(nèi)存中將指令送到指令隊(duì)列中;負(fù)責(zé)把數(shù)據(jù)從內(nèi)存或I/O接口送到執(zhí)行單元(EU);負(fù)責(zé)將執(zhí)行單元的運(yùn)行結(jié)果送到內(nèi)存或I/O接口。EU的功能是負(fù)責(zé)譯碼和執(zhí)行指令。2.2答:指令隊(duì)列(Queue)存放預(yù)取的指令,采用預(yù)取指令的方法將減少微處理器的等待時(shí)間,提高運(yùn)行效率。8086CPU中指令隊(duì)列有6個(gè);8088CPU中指令隊(duì)列有只有4個(gè)。2.3答:8086/8088CPU中有16個(gè)16位的寄存器。4個(gè)段地址寄存器是代碼段寄存器CS;數(shù)據(jù)段寄存器DS;堆棧段寄存器SS和擴(kuò)展段寄存器ES。它們是用來存放每一個(gè)段的首地址(段基地址)。一個(gè)指令指針寄存器IP是用于存放要執(zhí)行的指令的偏移地址,它不能作為一般寄存器使用。一個(gè)標(biāo)志寄存器(又稱為程序狀態(tài)寄存器)用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式。)有8個(gè)通用寄存器,通用寄存器分為數(shù)據(jù)寄存器與指針和變址寄存器兩組。數(shù)據(jù)寄存器包括AX(累加器)、BX(基址寄存器)、CX(計(jì)數(shù)器)和DX(數(shù)據(jù)寄存器),一般用來存放16位數(shù)據(jù),故稱為數(shù)據(jù)寄存器。其中的每一個(gè)又可根據(jù)需要將高8位和低8位分成獨(dú)立的兩個(gè)8位寄存器來使用,即AH、BH、CH、DH和AL、BL、CL、DL兩組,用于存放8位數(shù)據(jù),它們均可獨(dú)立尋址、獨(dú)立使用。數(shù)據(jù)寄存器用來存放計(jì)算的結(jié)果和操作數(shù),也能夠存放地址。指針寄存器包括堆棧指針寄存器SP、基址指針寄存器BP一般用來存放地址的偏移量和用于尋址內(nèi)存堆棧內(nèi)的數(shù)據(jù)變址寄存器包括原變址寄存器SI和目的變址寄存器DI,一般用來存放地址的偏移量為存儲(chǔ)器尋址時(shí)提供地址。2.4答:標(biāo)志寄存器又稱為程序狀態(tài)寄存器,是一個(gè)16位的寄存器,標(biāo)志寄存器設(shè)置了9個(gè)標(biāo)志位。這9個(gè)標(biāo)志位按功能分能夠分為兩類:一類為狀態(tài)標(biāo)志,狀態(tài)標(biāo)志表示執(zhí)行某種操作后,ALU所處的狀態(tài)特征,這些狀態(tài)標(biāo)志會(huì)影響后面的具體操作。狀態(tài)標(biāo)志有6個(gè):CF、AF、SF、PF、OF和ZF。另一類為控制標(biāo)志,用來控制CPU操作,反映存儲(chǔ)器地址變化的方向、是否允許中斷及在執(zhí)行程序時(shí)是否進(jìn)行單步中斷??刂茦?biāo)志有3個(gè):DF、IF和TF控制標(biāo)志是人為設(shè)置的,每個(gè)控制標(biāo)志都對(duì)某種特定的功能起控制作用。2.5答:8086與8088有3點(diǎn)不同之處;1.8086有16條數(shù)據(jù)線而8088只有8條數(shù)據(jù)線,2.8086而8088。3.8086而8088。2.6答:堆棧是在內(nèi)存中開辟的一個(gè)特定的區(qū)域,用以存放CPU寄存器或存儲(chǔ)器中暫時(shí)不用的數(shù)據(jù)和有用的信息。在數(shù)據(jù)段和附加段存放數(shù)據(jù)時(shí),一般是從低地址開始向高地址存放數(shù)據(jù),而用PUSH指令向堆棧中存放數(shù)據(jù)時(shí)總是從高地址開始逐漸向低地址方向增長。堆棧指令遵循”先進(jìn)后出”,”后進(jìn)先出”的原則,凡是用PUSH指令最后推入堆棧的數(shù)據(jù),用POP指令彈出時(shí)最先出棧。在操作時(shí)是以字為單位。2.7答:8086/8088CPU各有20根地址總線,可尋址范圍是1M個(gè)存儲(chǔ)單元。8086CPU有16根數(shù)據(jù),一次能夠讀一個(gè)字也能夠讀一個(gè)字節(jié)。8088CPU有8數(shù)據(jù)總線一次以讀一個(gè)字節(jié)。2.8答:1.物理地址就是實(shí)際地址,它具有20位的地址值,它是唯一標(biāo)志1MB存儲(chǔ)空間的某一單元的地址。2.邏輯地址由段基址和偏移量組成。程序以邏輯地址編址,而不是物理地址。3.在8086/8088存儲(chǔ)空間中,把16個(gè)字節(jié)的存儲(chǔ)空間看作一節(jié)。為了簡化操作,要求各個(gè)邏輯段從節(jié)的整數(shù)邊界開始,也就是說段首地址低4位應(yīng)該是”0”,因此把段首地址的高16位稱為”段基值”。4.偏移量是該物理地址距離段首地址的單元數(shù)。2.9答:總線上傳輸信號(hào)的一組導(dǎo)線,作為微機(jī)各部件之間信息傳輸?shù)墓餐ǖ馈O到y(tǒng)總線按功能分?jǐn)?shù)據(jù)總線、地址總線、控制總線。2.10答:1.8086/8088CPU把存儲(chǔ)器分為代碼段、數(shù)據(jù)段、堆棧段、附加段。因?yàn)?086/8088的寄存器是16位,最大只能尋址64K個(gè)單元的存儲(chǔ)空間,為了增大尋址空間把存儲(chǔ)器進(jìn)行分段,這樣就能夠?qū)ぶ?MB存儲(chǔ)空間。2.每段最大空間為64KB。2.11答:(1)2300H;1010H;24010H(2)0000H;1000H;01000H(3)2AE0H;1690H;2C490H(4)7369H;0010H;736A0H2.12答:1.數(shù)據(jù)段首地址是1H末地址是21FFFH。2.附加段的首地址是20A30H末地址是30A2FH。3.代碼段的首地址是470E0H=470EH×10H末地址是570DFH=(470E0H+FFFFH)。2.13答:8086/8088CPU復(fù)位以后,除代碼段寄存器外,其余標(biāo)志寄存器、指令指針寄存器、各段寄存器及指令對(duì)列全部被清零。2.14答:在一個(gè)讀總線周期ALE在第一個(gè)時(shí)鐘周期為高電平,其余周期為低電平。/S7在第一個(gè)時(shí)鐘周期為低電平,其余周期為高電平。在第一個(gè)時(shí)鐘周期為低電平,第二、三周期為高電平。一直為高電平。M/一直為高電平。DT/一直為低電平。2.15答:1.8086CPU讀/寫總線周期時(shí),最少包含4個(gè)時(shí)鐘周期。2.CPU在T3狀態(tài)的前沿(下降沿)對(duì)Ready信號(hào)進(jìn)行采樣。若CPU在T3狀態(tài)的開始采樣到Ready信號(hào)為低電平,那么將在T3和T4之間插入等待狀態(tài)TW。3.TW能夠是一個(gè),也能夠是多個(gè)。CPU在每個(gè)TW的前沿處對(duì)Ready信號(hào)進(jìn)行采樣。當(dāng)在TW狀態(tài)采樣到READY信號(hào)為高電平時(shí),在當(dāng)前Tw狀態(tài)執(zhí)行完,進(jìn)入T4狀態(tài)。第三章存儲(chǔ)器3.1答:1.容量:存儲(chǔ)器芯片的容量是以1位二進(jìn)制數(shù)(bit)為單位,因此存儲(chǔ)器容量是指每一個(gè)存儲(chǔ)器芯片所能存儲(chǔ)的二進(jìn)制數(shù)的位數(shù)。(存儲(chǔ)器容量=存儲(chǔ)單元數(shù)位數(shù))2.存儲(chǔ)速度:存儲(chǔ)器的基本操作是讀出與寫入,稱為”訪問”或”存取”。存儲(chǔ)器的存儲(chǔ)速度有兩個(gè)時(shí)間參數(shù):(1)訪問時(shí)間(AccessTime)TA從啟動(dòng)一次存儲(chǔ)器操作,到完成該操作所經(jīng)歷的時(shí)間。(2)存儲(chǔ)周期(MemoryCycle)TMc啟動(dòng)兩次獨(dú)立的存儲(chǔ)器操作之間所需的最小時(shí)間間隔。3.存儲(chǔ)器的可靠性:4.性能/價(jià)格比:5.其它指標(biāo)(存儲(chǔ)器的選擇有時(shí)還應(yīng)考慮功耗、集成度等指標(biāo))。3.2答:按存儲(chǔ)器的讀寫功能分能夠分為隨機(jī)讀寫存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)。隨機(jī)讀寫存儲(chǔ)器RAM能夠隨機(jī)地按指定地址從存儲(chǔ)單元存入或讀取(簡稱存取)數(shù)據(jù),存放在RAM中的信息,一旦掉電就會(huì)丟失。隨機(jī)讀寫存儲(chǔ)器RAM可分為靜態(tài)隨機(jī)存取存儲(chǔ)器SRAM、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM和集成隨機(jī)讀寫存儲(chǔ)器IRAM。只讀存儲(chǔ)器(ROM)的基本特征是在正常運(yùn)行中只能隨機(jī)讀取預(yù)先存入的信息,即使在斷電情況下,ROM仍能長期保存信息內(nèi)容不變,因此它是一種永久存儲(chǔ)器。只讀存儲(chǔ)器(ROM)可分為掩膜只讀存儲(chǔ)器(MaskROM)、可編程只讀存鍺器(PROM)、紫外線可擦除可編程只讀存儲(chǔ)器(EPROM)、電可擦除編程只讀存儲(chǔ)器(E2PROM)和快速可擦編成只讀存儲(chǔ)器(FlashEPROM)。掩膜只讀存儲(chǔ)器其結(jié)構(gòu)簡單,存儲(chǔ)信息穩(wěn)定,可靠性高,能夠永久性保存信息;可編程只讀存儲(chǔ)器是由半導(dǎo)體廠家制作”空白”存儲(chǔ)器陣列(即所有存儲(chǔ)單元全部為1或全部為0狀態(tài))出售,用戶根據(jù)需要能夠?qū)崿F(xiàn)現(xiàn)場編程寫入,但只能實(shí)現(xiàn)一次編程;紫外線可擦編程只讀存儲(chǔ)器、電可擦除編程只讀存儲(chǔ)器和快可擦編程只讀存儲(chǔ)器等不但能夠現(xiàn)場編程。還能夠擦除原存儲(chǔ)的信息內(nèi)容,寫入新的信息。3.3答:SRAM的特點(diǎn)是在一個(gè)存儲(chǔ)單元所用晶體管數(shù)目多,但不需要刷新電路。DRAM的特點(diǎn)是在一個(gè)存儲(chǔ)單元所用晶體管數(shù)目少,但需要刷新電路。IRAM的特點(diǎn)是將動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器和刷新電路集成在一片芯片中,它即具有SRAM速度快的優(yōu)點(diǎn),又具有DRAM的廉價(jià)。IRAM實(shí)際上是附有刷新電路的DRAM。它在現(xiàn)代微機(jī)系統(tǒng)中得到廣泛應(yīng)用,大容量的內(nèi)存一般都是用IRAM。3.4答:1)13條地址線和4條數(shù)據(jù)線;2)19條地址線和1條數(shù)據(jù)線3)17條地址線和4條數(shù)據(jù)線;4)15條地址線和8條數(shù)據(jù)線3.5答:1)RAM的存儲(chǔ)容量為256K×8bit;2)有18條地址線和8條數(shù)據(jù)線;3)若采用6116需要128片,若采用6264需要32片,若采用62128需要16片,若采用2114需要512片,若采用2141需要512片。3.6答:1)ROM的存儲(chǔ)容量為512K×8bit;2)需要19條地址線和8條數(shù)據(jù)線;3)若采用2764需要64片,若采用27128需要32片,若采用2816A需要256片,若采用28F256需要16片。3.7答:常見的存儲(chǔ)器片選控制方法有線選法、全譯碼法和部分譯碼法。線選法地址線能夠不用完,也無需專門的譯碼電路。但由于高位地址線可隨意取值0或1。因此,存在地址重疊,而且造成存儲(chǔ)器地址不能連續(xù)分布。全譯碼法所有地址線均參加地址譯碼,芯片的地址線直接和低位地址總線相連,高位地址總線經(jīng)譯碼器或邏輯電路與各芯片的片選信號(hào)相連。部分譯碼法與全譯碼法類似,只是高位地址線中有一部分進(jìn)行譯碼,產(chǎn)生片選信號(hào),而不是全部。這種方法稱為部分譯碼法。3.8答:第一片的首地址為21000H(錯(cuò)),末尾地址為24FFEH。第二片的首地址為21001H,末尾地址為24FFFH。第三片的首地址為25000H,末尾地址為28FFEH。第四片的首地址為25001H,末尾地址為28FFFH。3.9第一片A19~A12=01000000,地址范圍是40000H~40FFEH第二片A19~A12=01000000,地址范圍是40001H~40FFFH第三片A19~A12=01000001,地址范圍是41000H~41FFEH第四片A19~A12=01000001,地址范圍是41001H~41FFFH3.10(有問題A0和BHE未畫)按現(xiàn)有的連線地址為第一片A19~A13=1000000,地址范圍是80000H~81FFFH__第二片A19~A13=1000001,地址范圍是8H~83FFFH__圖3-18086CPU與存儲(chǔ)器連接電路圖第三片A19~A13圖3-18086CPU與存儲(chǔ)器連接電路圖第四片A19~A13=1000011,地址范圍是86000H~87FFFH__圖3-28086CPU與存儲(chǔ)器連接電路圖3.11圖3-28086CPU與存儲(chǔ)器連接電路圖2).3)答:ROM0、ROM1的地址范圍。94000H~97FFFH3.12答:存儲(chǔ)器(1)的地址范圍為80000H~80FFEH;存儲(chǔ)器(2)的地址范圍為80001H~80FFFH。(題目有錯(cuò),存儲(chǔ)器(4)的地址范圍為81001H~81FFFH)3.13答:1)系統(tǒng)的存儲(chǔ)容量為:B3FFFH-B0000H+1=4000H=16KB;2)需要6264芯片:(16K*8bit)/8K*8bit=2片;3)畫出系統(tǒng)連接圖。兩片6264芯片的地址范圍如表所示,高位地址A14~A19參與譯碼形成兩片6264的片選信號(hào),奇地址存儲(chǔ)器芯片和偶地址存儲(chǔ)器芯片由A0和區(qū)分。存儲(chǔ)器與系統(tǒng)總線的連接電路如圖題3.13所示。A19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A01011000000000000000010110011111111111111圖題3.13存儲(chǔ)器擴(kuò)展電路3.14答:(不是8086系統(tǒng))3.15在8086CPU組成的系統(tǒng)中,用4片2764(8K×8bit)存儲(chǔ)芯片組成隨機(jī)ROM存儲(chǔ)系統(tǒng),其第一片的首地址為(C000H:8000H),試畫出存儲(chǔ)器與CPU的連接電路圖。答:第四章8086/8088指令系統(tǒng)4.1答:機(jī)器語言的每一條指令是以二進(jìn)制為代碼的指令,它能夠被計(jì)算機(jī)直接執(zhí)行。匯編語言是用助記符或用符號(hào)來編寫指令,是一種與機(jī)器語言一一對(duì)應(yīng)的語言。機(jī)器不能直接執(zhí)行程序,程序必須經(jīng)過翻譯,機(jī)器才能執(zhí)行。高級(jí)語言是面向過程的語言,它不依賴于特定的機(jī)器,獨(dú)立于機(jī)器,用同一種高級(jí)語言編寫的程序能夠在不同的機(jī)器上運(yùn)行而獲得相同的結(jié)果。4.2請(qǐng)指出以下各指令的源、目的操作數(shù)所使用的尋址方式。(1)MOV SI,2100H源:立即數(shù)尋址;目:寄存器尋址(2)SBBBYTEPTRDISP[BX],7;源:立即數(shù)尋址;目:寄存器相對(duì)尋址(3)AND [DI],AX源:寄存器尋址;目:寄存器間接尋址(4)OR AX,[609EH]源:直接尋址;目:寄存器尋址(5)MOV[BX+DI+30H],CX源:寄存器尋址;目:基址變址相對(duì)尋址(6)PUSH ES:[BP]源:寄存器間接尋址;目:隱含尋址(7)CALL [DI]DISP寄存器相對(duì)尋址(8)JNZ Short_label直接尋址(9)CBWBL(指令錯(cuò))(10)MOVAX,[1000H]源:直接尋址;目:寄存器尋址(11)MOVAX,ARRAY[BX][SI];源:基址變址相對(duì)尋址;目:寄存器尋址(12)MULBL源:寄存器尋址;目:隱含尋址(13)MOVAX,[BX][SI]源:基址變址尋址;目:寄存器尋址(14)MOVAL,TABLE源:直接尋址;目:寄存器尋址(15)MOVAX,DISP[BX+DI]源:基址變址相對(duì)尋址;目:寄存器尋址(16)MOVAX,[BX]源:寄存器間接尋址;目:寄存器尋址4.3答:基址寄存器BX、基址指針寄存器BP、原變址寄存器SI、目的變址寄存器DI。4.4下列各條指令是否有錯(cuò)?如果有,請(qǐng)指出錯(cuò)誤之處。(1)MOV DS,1000H立即數(shù)不能直接給段寄存器送數(shù)(2)MOV[100],23H目的操作數(shù)應(yīng)指明類型,改為BYTEPTR[100](3)ADD AX,[BX+BP+6]存儲(chǔ)器尋址不能有兩個(gè)基地址[BX,BP](4)PUSH DL進(jìn)棧是以字為單位(5)IN AX,[3FH]I/O接口地址不能加括號(hào)(6)OUT 3FFH,AL口地址3FF應(yīng)放在DX中(7)LES SS,[SI]SS不能存放偏移量(8)POP [AX]AX不用來做間址寄存器(9)IMUL 4CH乘法中源操作數(shù)不能是立即數(shù)(10)SHL BX,5移位超過1位應(yīng)放在CL中(11)INT 300立即數(shù)(向量碼)應(yīng)小于255(12)XCHG DX,0FFFH此指令中不能有立即數(shù)(13)POPAL出棧是以字為單位(14)DIV32H除法中原操作數(shù)不能是立即數(shù)(15)MOVAX,BYTEPTR[SI]源操作數(shù)和目的操作數(shù)不等寬(16)MOVDX,DS:[BP]正確(17)MOV128,CL目的操作數(shù)不能為立即數(shù)4.5設(shè)若標(biāo)志寄存器原值為0A11H,SP=0060H,AL=4。下列幾條指令執(zhí)行后,標(biāo)志寄存器、AX、SP的值分別是多少?PUSHF;F→SP;SP=5EH,[5EH]=0A11HLAHF;F低8→AH;AH=11HXCHG AH,AL;AH04H,AL=11HPUSH AX;SP=5CH,[5CH]=0411H,SAHF;AH→F低8;POPF;SP→F標(biāo)志寄存器=0411H,AX=0411H,SP=005EH4.6已知DS=H,有關(guān)的內(nèi)存單元值為:(21000H)=00H,(21001H)=12H,(21200H)=00H,(21201H)=10H,(23200H)=20H,(23201H)=30H,(23400H)=40H,(23401H)=30H,(23600H)=60H,(23601H)=30H,符號(hào)COUNT的偏移地址為1200H。執(zhí)行下列指令后,寄存器AX、BX、SI的值分別是多少?MOV BX,OFFSETCOUNTBX=1200HMOV SI,[BX]SI=1000HMOV AX,COUNT[SI][BX]AX=_3040H__,BX=_1200H__,SI=__1000H____4.7答:AX=322FH,標(biāo)志寄存器值為0410H4.8設(shè)單元DATA在內(nèi)存數(shù)據(jù)段中的偏移量為24C0H,在24C0H~24C3H單元中依次存放著55H、66H、77H、88H。下列幾條指令執(zhí)行后,寄存器AX、BX、CL、SI、DS的值分別是多少?MOV AX,DATA;AX=6655HLEA SI,DATA;SI=24C0HMOV CL,[SI];CL=55HLDS BX,DATA;DS=8877H,BX=6655H4.9若AX=26D3H,CX=7908H,CF=1,OF=0,執(zhí)行下列指令后,寄存器AX、CX的值分別是多少?_AX=A74CH___CX=FA08H__CF=_0__OF=__0_。SAL CH,1CH=FA,CL=08HRCR AX,CLAX=A726H,CF=1ROL AL,1AL=4CH,CF=04.10答:原串在數(shù)據(jù)段中,但能夠段超越。目的串必須在附加段中。4.11答:M/=1;DT/=1;=1;=0;數(shù)據(jù)總線上的數(shù)是0508H;地址總線上的數(shù)分是49420H4.12(與21題重)答:AL=23H,功能將壓縮的BCD碼轉(zhuǎn)換為二進(jìn)制。4.13答:上述程序段執(zhí)行后,字節(jié)單元HCOD的內(nèi)容是43H;HCOD+1的內(nèi)容是35H。該程序段的功能是將壓縮的十六進(jìn)制轉(zhuǎn)換為ASCII字符。4.14執(zhí)行下面的程序段后,(CL)=02H,(AX)=0040H。XORBX,BXMOVAX,0010HMOVCL,2SALAL,CLMOVBL,ALSALAL,CLADDAX,BX4.15問:(1)初值(AL)=37H時(shí),程序段執(zhí)行結(jié)果:(AL)=07H(2)初值(AL)=9FH時(shí),程序段執(zhí)行結(jié)果:(AL)=0FFH4.16下列程序段中,以X為首址的字單元中的數(shù)據(jù)依次為1234H、5678H;以Y為首址的字單元中的數(shù)據(jù)依次為8765H、4321H。閱讀程序,給出必要的程序注釋并完成程序后的問題。LEA SI,X;SI=0000HLEA DI,Y;DI=0004HMOV DX,[SI+2];DX=5678HMOV AX,X;AX=1234HADD AX,X;AX=2468HADC DX,[SI+2];DX=ACF0HCMP DX,[DI+2];ACF0H與8765H比JL L2;小于轉(zhuǎn)移到L2CMP AX,Y;大于2468H與4321比JL L1;小于轉(zhuǎn)移到L1JMP EXIT;無條件轉(zhuǎn)移到EXITL1:MOV AX,1;給AX送1JMP EXIT;無條件轉(zhuǎn)移到EXITL2:MOV AX,2EXIT:……以上程序代碼執(zhí)行之后,AX=2;DX=ACF0H4.17答:程序?qū)⒁来蜗蚨褩喝氲臄?shù)據(jù)為0003H、0002H、0001H。該程序段實(shí)現(xiàn)了將二進(jìn)制轉(zhuǎn)換十進(jìn)制功能。4.18答:程序功能是計(jì)算AX=1~10,BX=10H起的累加和。AX=10,BX=47H,CX=0。MOVAX,0000HMOVBX,0010HMOVCX,10LP:INCAXADDBX,AXLOOPLPHLT4.19答:以上程序代碼執(zhí)行之后,AX=2;DX=ACF0H4.20閱讀下列程序段,給出必要的程序注釋并完成程序后的問題。ADDAL,AL;2*ALADDAL、AL;4*ALMOVBL,AL;AL→BLSALBL,1;8*ALADDAL,BL;12*ALHLT(1)該程序段的功能是什么?答:把AL中的內(nèi)容乘以12(2)設(shè)AL的初值為0AH,執(zhí)行該程序段后,AL為多少?答:AL=78H4.21已知有程序段如下:(與12題重)(1)該程序段的功能是什么?答:將BCD碼轉(zhuǎn)換成二進(jìn)制(2)執(zhí)行該程序段后,AL=23H4.22、下列程序段要求在內(nèi)存40000H開始的順序30個(gè)單元中存放著8位無符號(hào)數(shù),將它們的和放在DX中,試填空完成該程序(并加入必要的注釋)或自行編制一段程序完成上述功能。MOVAX,4000H;MOVDS,AX;送段首地址MOVSI,0000H;送偏移量MOVCX,30;送循環(huán)次數(shù)XORAX,AX;清零GOON:ADDAL,[SI];兩數(shù)相加ADCAH,00H;加進(jìn)位位INCSI;修改地址DECCX;計(jì)數(shù)器減1JNZGOON;不為零循環(huán)MOVDX,AX;結(jié)果送DX4.23在AL中有一個(gè)十六進(jìn)制數(shù)的ASCII碼,完成下面程序段在每一空白處填上一條適當(dāng)指令(并加入必要的注釋),實(shí)現(xiàn)將AL中的ASCII碼轉(zhuǎn)換成二進(jìn)制數(shù)。CMPAL,3AH;與3AH比較JCDONE;小于轉(zhuǎn)移到DONESUBAL,7;大于減7DONE:SUBAL,30H;AL減30HHLT4.24已知附加段中有一塊長50個(gè)字的數(shù)據(jù)區(qū),首址為DEST。欲編程將它們?nèi)砍跏蓟癁?FFFFH值,試在下面程序段的空白處填上適當(dāng)?shù)闹噶罨虿僮鲾?shù)(并加入必要的注釋),以實(shí)現(xiàn)上述功能。LEA DI,DEST;取DEST偏移量MOV CX,100;送計(jì)數(shù)值CLD;清方向標(biāo)志位,DF=0MOV AL,0FFH;將AL←0FFHREPSTOSB;將送100個(gè)字節(jié)FFH到首址為DEST區(qū)域4.25已知附加段中有一塊長50個(gè)字的數(shù)據(jù)區(qū),首址為DEST。欲編程將它們?nèi)砍跏蓟癁?FFFFH值,試在下面程序段的空白處填上適當(dāng)?shù)闹噶罨虿僮鲾?shù)(并加入必要的注釋),以實(shí)現(xiàn)上述功能。(與24題重) DI,DEST;MOV CX,;CLD;MOV AL,0FFH;;4.26附加段中有某字符串首址為BLOCK,長17個(gè)字節(jié)。欲查找其中第一次出現(xiàn)字符”e”的位置,并將該位置所在的偏移量入棧保護(hù)。試在下面程序段的空白處填上適當(dāng)?shù)闹噶?并加入必要的注釋)或操作數(shù)以實(shí)現(xiàn)上述功能。MOV DI,OFFSETBLOCK;送BLOCK的偏移量MOV AL,65H;送eASCII碼MOV CX,17;送計(jì)數(shù)值CLD;方向標(biāo)志位清零REPNZSCASB;尋找eJNE OTHER;找到e轉(zhuǎn)到OTHERDEC DI;修改地址 PUSHDI;偏移量入棧保護(hù)OTHER:……(略)4.27已知有某字串BUF1的首址為0000H,BUF2的首址為0010H,數(shù)據(jù)段與附加段重合。欲從BUF1處開始將10個(gè)字?jǐn)?shù)據(jù)順序傳送至BUF2處,試在下面程序段的空白處填上適當(dāng)?shù)闹噶罨虿僮鲾?shù)以實(shí)現(xiàn)上述功能。LEA SI,BUF1;送BUF1的偏移量ADD SI,12H;地址移動(dòng)到字符串最后LEA DI,BUF2;送BUF2的偏移量ADD DI,12H;地址移動(dòng)到字符串最后STD;方向標(biāo)志位清零MOV CX,10;送計(jì)數(shù)值REPMOVSW;進(jìn)行串操作4.28在DAT和DAT1兩個(gè)字節(jié)變量單元中有兩個(gè)十進(jìn)制數(shù)的ASCII碼,編程實(shí)現(xiàn)將這兩個(gè)ASCII碼轉(zhuǎn)換為兩個(gè)BCD碼,并以壓縮形式存放在REST字節(jié)變量單元中。試填寫該程序劃線部分,并加入必要的注釋。MOVAL,DAT;取第一個(gè)數(shù)SUBAL,30H;將ASCII碼轉(zhuǎn)為BCD碼MOVCL,4;送移位數(shù)SHLAL,CL;將BCD碼放在AL高四位中MOVBL,DAT1;取第二個(gè)數(shù)SUBBL,30H;將DAT1中的ASCII碼轉(zhuǎn)為BCD碼ORAL,BL;將兩個(gè)BCD碼合并在AL寄存器中MOVREST,AL;將壓縮形式的BCD碼存人REST中HLT第五章匯編語言程序設(shè)計(jì)5.1答:標(biāo)號(hào)在指令性指令的名字,寫在指令前面,標(biāo)號(hào)后必須有冒號(hào)。變量在偽指令前是定義某一數(shù)據(jù)區(qū)所起的名字,它后面不帶冒號(hào)。標(biāo)號(hào)和變量都有段、偏移量的屬性,標(biāo)號(hào)的類型是遠(yuǎn)和近型,變量的類型是字節(jié)、字、雙字等。07H←0100HADD100H00H00H01H00H00H00H……01HHADD204H05H05H05H05H07H01H……2068HADD3題5.3圖5.2答:指令性指令是給CPU的命令,它是由匯編程序翻譯成機(jī)器語言指令,在程序運(yùn)行時(shí)由CPU來執(zhí)行,每條指令都對(duì)應(yīng)CPU一種特定的操作。偽指令不匯編成機(jī)器語言,僅僅在匯編過程中告訴匯編程序應(yīng)如何匯編。5.3答:ADD1、ADD2、ADD3的段基址為1000H;ADD1、偏移量為H、類型為雙字;ADD2、偏移量為H、類型為字節(jié);ADD3、偏移量為2068H、類型為字。5.4答:分配情況如右圖……02H1006HADD112H9AH1009HADD256H42H41H題5.4圖5.5答:(定義了堆棧段[81字節(jié)]、數(shù)據(jù)段(17字節(jié))和代碼段)……05H←0100HADD105H……050127H題5.6圖5.6答:ADD1占有多少個(gè)字節(jié)5.7答:1.依據(jù)設(shè)計(jì)任務(wù),抽象出描述問題的數(shù)學(xué)模型。2.確定實(shí)現(xiàn)數(shù)學(xué)模型的算法或求解的具體步驟和方法。3.繪制出程序流程框圖。4.分配存儲(chǔ)空間及工作單元(包括寄存器)。確定數(shù)據(jù)段、堆棧段、代碼段及附加段在內(nèi)存中的位置。5.依據(jù)流程圖編寫程序。6.靜態(tài)檢查。7.上機(jī)調(diào)試。8.程序運(yùn)行,結(jié)果分析。5.8答:源程序結(jié)構(gòu)一般包括4個(gè)段,它們是代碼段、數(shù)據(jù)段、附加段和堆棧段。其中代碼段是必須存在的,其余段視具體情況而定。一般用到四種程序結(jié)構(gòu):順序結(jié)構(gòu),分支結(jié)構(gòu),循環(huán)結(jié)構(gòu),子程序結(jié)構(gòu)。5.9答:XORAX,AXMOVDX,0MOV AH,45HMOV DL,AHAND DL,0FHADDDL,30HAND AH,0F0HMOV CL,4SHR AH,CLADDDL,30HADD AX,DXHLT……94H←DATA116H26H89H30H←DATA255H04H74H……←RES5.10答:MOVAL,AMOVBL,BIMULBLMOVCX,CADDAX,CXSUBAX,18HLT(1)從DATA1單元開始,將8個(gè)組合BCD碼累加起來,其和(超過1字節(jié))存入以RES為首址的單元中(低位在前)。圖5-15.11題圖(2)將它們看作2個(gè)分別以DATA1、DATA2為首址的4位十進(jìn)制數(shù)(低位在前),求此兩數(shù)之差并存入以RES為首址的單元中。答:1、LEASI,DATA12、LEASI,DATA1LEADI,DATA2LEADI,DATA2LEABX,RESLEABX,RESMOVCX,7XORAX,AXXORAX,AXMOVAX,WORDPTR[SI]MOVAL,BYTEPTR[SI]ADDAX,WORDPTR[DI]AA1:INCSIMOVDX,WORDPTR[SI+2]ADDAL,BYTEPTR[SI]ADCDX,WORDPTR[DI+2]ADCAH,0MOVWORDPTR[BX],AXLOOPAA1MOVWORDPTR[DI+2],DXMOVWORDPTR[BX],AXHLTHLT5.12答:根據(jù)各種條件判斷和比較進(jìn)行操作,滿足條件去做一種操作,不滿足條件去做另一種操作。每一種操作程序稱為一個(gè)分支,一次判斷產(chǎn)生兩個(gè)分支,只有一次判斷的稱為單重分支程序。多次判斷產(chǎn)生多個(gè)分支,稱為多重分支程序。5.13答:MOVAL,DATANDAL,DATJNSPOSI;若為正數(shù)轉(zhuǎn)POS1TESTAL,01H;測試負(fù)數(shù)的奇偶性JZM;若為負(fù)偶數(shù)轉(zhuǎn)MORAL,BUF;若為負(fù)奇數(shù)進(jìn)行‘或’運(yùn)算JMPDONEM:XORAL,BUF;負(fù)偶數(shù)進(jìn)行‘異或’運(yùn)算JMPDONEPOSI:TESTAL,01H;判斷正數(shù)的奇偶性JZN;為正偶數(shù),轉(zhuǎn)NADDAL,BUF;為正奇數(shù)進(jìn)行‘加’運(yùn)算JMPDONEN:ANDAL,BUF;正偶數(shù)進(jìn)行‘與’運(yùn)算DONE:MOVBUF,ALHLT5.14答:實(shí)現(xiàn)的方法仍是兩兩進(jìn)行比較判斷。其步驟是:先取出X,Y,Z,假設(shè)存于AL,BL,CL寄存器中。采用兩數(shù)比較換位法,即AL中的數(shù)和BL,CL分別進(jìn)行比較,在AL中總是存放中間值。程序段及流程圖如右圖所示:MOVAL,DAT1MOVBL,[DAT1]+1MOVCL,[DAT1]+2CMPAL,BLJBLP1XCHGAL,BLLP1:CMPAL,CLJAESAVXCHGAL,CLCMPAL,BLJBSAVXCHGAL,BLSAV:MOVBUF1,ALMOVDL,AL;MOVAH,02H INT21H HLT5.15答:LEASI,ADD1LEADI,ADD2XORAX,AXMOVAL,BYTEPTR[SI]CMPAL,30JBAAMOVBYTEPTR[DI],2JMPDONEAA:CMPAL,1JNBBBMOVBYTEPTR[DI],0JMPDONEBB:MOVBYTEPTR[DI],0FEHDONE:HLT5.16答:循環(huán)程序包函循環(huán)初始化、循環(huán)體和循環(huán)控制3部分。循環(huán)初始化是對(duì)地址指針寄存器、循環(huán)次數(shù)的計(jì)數(shù)初值的設(shè)置,以及其它為能使循環(huán)體正常工作而設(shè)置的初始狀態(tài)等。循環(huán)體是循環(huán)操作(重復(fù)執(zhí)行)的部分,由循環(huán)工作部分和修改部分組成。循環(huán)工作部分是為實(shí)現(xiàn)程序功能而設(shè)計(jì)的主要程序段,該段程序在整個(gè)操作中要重復(fù)執(zhí)行多次。可能有多個(gè)指令語句構(gòu)成,也能夠僅有一個(gè)指令語句構(gòu)成。循環(huán)的修改部分是指當(dāng)程序循環(huán)執(zhí)行時(shí),對(duì)一些參數(shù)如地址、變量等進(jìn)行有規(guī)律的修正。循環(huán)控制部分是用于判斷循環(huán)程序是否結(jié)束,若結(jié)束則退出循環(huán)程序,否則修改地址指針和計(jì)數(shù)器值,繼續(xù)進(jìn)行循環(huán)程序。循環(huán)控制的選擇能夠有多種方案,在循環(huán)控制條件及循環(huán)次數(shù)的控制,能夠采用循環(huán)指令LOOP、LOOPZ和LOOPNZ指令來實(shí)現(xiàn),也能夠用指令DECCX和JNC標(biāo)號(hào)兩條來實(shí)現(xiàn)。其特點(diǎn)是需要多次重復(fù)進(jìn)行某些操作。5.17答:LEABX,DATMOVCX,100LP1:MOVAL,[BX]MOVAH,20HANDAL,AHMOVAL,0DFHJNZDAXXIAO:OR[BX],AHJMPPPDAX:AND[BX],ALPP:INCBXLOOPLP1DONE:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度學(xué)校校園打印店經(jīng)營租賃合同3篇
- 2024年林業(yè)生態(tài)工程建筑合同
- 2024版大米產(chǎn)業(yè)技術(shù)研究與應(yīng)用推廣合同3篇
- 2024年版醫(yī)院物業(yè)管理合同3篇
- 2024版出租車智能調(diào)度系統(tǒng)服務(wù)合同3篇
- 2024年度專用:施工合同簽訂詳細(xì)步驟與安全文明施工管理3篇
- 2024年新型智慧社區(qū)停車場使用權(quán)租賃合同3篇
- 2024年度地鐵隧道施工吊車租賃合同及吊機(jī)操作培訓(xùn)3篇
- 2024年度保險(xiǎn)業(yè)務(wù)合作合同協(xié)議書2篇
- 2024年度三方合作協(xié)議:城市軌道交通項(xiàng)目合作開發(fā)合同3篇
- 護(hù)理中斷事件(演示文稿)
- 東南大學(xué)高數(shù)實(shí)驗(yàn)報(bào)告
- 地基與基礎(chǔ)工程試題及參考答案
- 新能源汽車專業(yè)畢業(yè)論文
- 部編版六年級(jí)上冊(cè)語文期末古詩文專項(xiàng)訓(xùn)練(含答案)
- GB/T 29465-2023浮頭式熱交換器用法蘭
- 鋼渣的綜合利用
- 少年宮乒乓球興趣小組簡介
- 西醫(yī)癥狀鑒別診斷全部
- 靜脈輸液流程圖
- 國開電大本科《管理英語4》機(jī)考真題(第八套)
評(píng)論
0/150
提交評(píng)論