版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、習(xí)題 11. 什么是匯編語言,匯編程序,和機器語言?答:機器語言是用二進制代碼表示的計算機能直接識別和執(zhí)行的一種機器指令的集合。匯編語言是面向及其的程序設(shè)計語言。在匯編語言中,用助記符代替操作碼,用地址符號或標(biāo) 號代替地址碼。這種用符號代替機器語言的二進制碼,就把機器語言編程了匯編語言。使用匯編語言編寫的程序,機器不能直接識別,要由一種程序?qū)R編語言翻譯成機器語言,這 種起翻譯作用的程序叫匯編程序。2. 微型計算機系統(tǒng)有哪些特點?具有這些特點的根本原因是什么?答:微型計算機的特點:功能強,可靠性高,價格低廉,適應(yīng)性強、系統(tǒng)設(shè)計靈活,周期短、見效 快,體積小、重量輕、耗電省,維護方便。這些特點是
2、由于微型計算機廣泛采用了集成度相當(dāng)高的器件和部件,建立在微細(xì)加工工藝基礎(chǔ)之 上。3. 微型計算機系統(tǒng)由哪些功能部件組成?試說明“存儲程序控制”的概念。答:微型計算機系統(tǒng)的硬件主要由運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備組成?!按鎯Τ绦蚩刂啤钡母拍羁珊喴馗爬橐韵聨c: 計算機(指硬件)應(yīng)由運算器、存儲器、控制器和輸入/輸出設(shè)備五大基本部件組成。 在計算機內(nèi)部采用二進制來表示程序和數(shù)據(jù)。3 將編好的程序和原始數(shù)據(jù)事先存入存儲器中,然后再啟動計算機工作,使計算機在不需要 人工干預(yù)的情況下,自動、高速的從存儲器中取出指令加以執(zhí)行,這就是存儲程序的基本含義。4 五大部件以運算器為中心進行組織。4
3、. 請說明微型計算機系統(tǒng)的工作過程。答:微型計算機的基本工作過程是執(zhí)行程序的過程,也就是 cpu 自動從程序存放的第 1 個存儲單元 起,逐步取出指令、分析指令,并根據(jù)指令規(guī)定的操作類型和操作對象,執(zhí)行指令規(guī)定的相關(guān)操作。 如此重復(fù),周而復(fù)始,直至執(zhí)行完程序的所有指令,從而實現(xiàn)程序的基本功能。5. 試說明微處理器字長的意義。答:微型機的字長是指由微處理器內(nèi)部一次可以并行處理二進制代碼的位數(shù)。它決定著計算機內(nèi)部 寄存器、alu 和數(shù)據(jù)總線的位數(shù),反映了一臺計算機的計算精度,直接影響著機器的硬件規(guī)模和造 價。計算機的字長越大,其性能越優(yōu)越。在完成同樣精度的運算時,字長較長的微處理器比字長較 短的微
4、處理器運算速度快。6. 微機系統(tǒng)中采用的總線結(jié)構(gòu)有幾種類型?各有什么特點?答:微機主板常用總線有系統(tǒng)總線、i/o 總線、isa 總線、ipci 總線、agp 總線、ieee1394 總線、 usb 總線等類型。7. 將下列十進制數(shù)轉(zhuǎn)換成二進制數(shù)、八進制數(shù)、十六進制數(shù)。 (4.75) =(0100.11) =(4.6) =(4.c)10 2 816 (2.25) =(10.01) =(2.2) =(2.8)10 2 816 (1.875) =(1.111) =(1.7) =(1.e)10 2 8168. 將下列二進制數(shù)轉(zhuǎn)換成十進制數(shù)。 (1011.011) =(11.6)210 (1101.01
5、011) =(13.58)210 (111.001) =(7.2)2109. 將下列十進制數(shù)轉(zhuǎn)換成 8421bcd 碼。 2006=(0010 0000 0000 0110)bcd 123.456=(0001 0010 0011.0100 0101 0110) 10. 求下列帶符號十進制數(shù)的 8 位基 2 碼補碼。 +127 = 01111111補 -1 = 11111111補 -128 = 10000000補+1 = 00000001補11. 求下列帶符號十進制數(shù)的 16 位基 2 碼補碼。 +655 = 0000001010001111補 -1 =1111111111111110補 -32
6、12 =1111011101011100補 +100 =0000000001100100補bcd習(xí)題 21. 8086 cpu 在內(nèi)部結(jié)構(gòu)上由哪幾部分組成?各部分的功能是什么?答:8086 cpu 內(nèi)部由兩大獨立功能部件構(gòu)成,分別是執(zhí)行部件和總線接口部 件。執(zhí)行部件負(fù)責(zé)進行所有指令的解釋和執(zhí)行,同時管理有關(guān)的寄存器。總 線接口部件是 cpu 在存儲器和 i/o 設(shè)備之間的接口部件,負(fù)責(zé)對全部引腳的 操作。2. 簡述 8086 cpu 的寄存器組織。答:8086 cpu 內(nèi)部共有 14 個 16 位寄存器,按用途可分為數(shù)據(jù)寄存器,段寄 存器,地址指針與變址寄存器和控制寄存器。數(shù)據(jù)寄存器包括累加器
7、,基址 寄存器,計數(shù)器,和數(shù)據(jù)寄存器。段寄存器用來存放各分段的邏輯段基值, 并指示當(dāng)前正在使用的 4 個邏輯段。地址指針與變址寄存器一般用來存放主 存地址的段內(nèi)偏移地址,用于參與地址運算??刂萍拇嫫靼ㄖ噶罴拇嫫骱蜆?biāo)識寄存器。3. 試述 8086 cpu 標(biāo)志寄存器各位的含義與作用。答:標(biāo)志寄存器是 16 位的寄存器,但實際上 8086 只用到 9 位,其中的 6 位 是狀態(tài)標(biāo)識位,3 位是控制標(biāo)識位。狀態(tài)標(biāo)志位分別是 cf,pf,af,zf,sf, 和 of;控制標(biāo)志位包括 df,if,tf。cf:進位標(biāo)志位。算數(shù)運算指令執(zhí)行后,若運算結(jié)果的最高位產(chǎn)生進位或借 位,則 cf=1,否則 cf=
8、0。pf:奇偶標(biāo)志位。反應(yīng)計算結(jié)果中 1 的個數(shù)是偶數(shù)還是奇數(shù)。若運算結(jié)果的 低 8 位中含有偶數(shù)個 1,則 pf=1;否則 pf=0.af:輔助進位標(biāo)志。算數(shù)運算指令執(zhí)行后,若運算結(jié)果的低 4 位向高 4 位產(chǎn) 生進位或借位,則 af=1;否則 af=0.zf:零標(biāo)志位。若指令運算結(jié)果為 0,則 zf=1;否則 zf=0。sf:符號標(biāo)志位。它與運算結(jié)果最高位相同。of:溢出標(biāo)志位。當(dāng)補碼運算有溢出時,of=1;否則 of=0。df:方向標(biāo)志位。用于串操作指令,指令字符串處理時的方向。if:中斷允許標(biāo)志位。用來控制 8086 是否允許接收外部中斷請求。tf:單步標(biāo)志位。它是為調(diào)試程序而設(shè)定的陷
9、阱控制位。4. 8086 cpu 狀態(tài)標(biāo)志和控制標(biāo)志有何不同?程序中是怎樣利用這兩類標(biāo)識的? 8086 的狀態(tài)標(biāo)志和控制標(biāo)識分別有哪些?答:狀態(tài)標(biāo)志位反應(yīng)了當(dāng)前運算和操作結(jié)果的狀態(tài)條件,可作為程序控制轉(zhuǎn) 移與否的依據(jù)。它們分別是 cf,pf,af,zf,sf,和 of??刂茦?biāo)志位用來控 制 cpu 的操作,由指令進行置位和復(fù)位,控制標(biāo)志位包括 df,if,tf。5. 將 1001 1100 和 1110 0101 相加后,標(biāo)識寄存器中 cf, pf, af, zf, sf, of 各為何值?答:cf=1,pf=1,af=1,zf=0,sf=1,of=06. 什么是存儲器的物理地址和邏輯地址?在
10、 8086 系統(tǒng)中,如何由邏輯地址計 算物理地址?答:邏輯地址是思維性的表示,由段地址和偏移地址聯(lián)合表示的地址類型叫 邏輯地址。物理地址是真實存在的唯一地址,指的是存儲器中各個單元的單 元號。在 8086 系統(tǒng)中,物理地址=段地址10h偏移地址7. 段寄存器 cs=1200h,指令指針寄存器 ip=4000h ,此時,指令的物理地址為 多少?指向這一地址的 cs 指和 ip 值是唯一的嗎?答:此指令的物理地址=1200h10h4000h=16000h 并且指向這一物理地址 的 cs 值和 ip 值并不是唯一的。8. 在 8086 系統(tǒng)中,邏輯地址 ffff:0001,00a2:37f 和 b8
11、00:173f 的物理地 址分別是多少?答:邏輯地址物理地址ffff:0001ffff1h00a2:3tf00d9fhb800:173fb973fh9. 在 8086 系統(tǒng)中,從物理地址 388h 開始順序存放下列 3 個雙字節(jié)的數(shù)據(jù) 651ah , d761h 和 007bh ,請問物理地址 388h ,389h,38ah,38bh,38ch 和 38dh 6 個單元中分別是什么數(shù)據(jù)?答:(388h)=1ah,(389h)=65h,(38ah)=61h,(38bh)=dth,(38ch)=7bh, (38dh)=00h10. 8086 微處理器有哪幾種工作模式?各有什么特點?答:8086 微
12、處理器有最大和最小工作模式。在最小模式下:8086 cpu 直接產(chǎn)生全部總線控制信號(dt/r,den,ale, m/io)和命令輸出信號(rd,wr,inta)并提出請求訪問總線的邏輯信號 hold, hlda。在最大工作模式下,必須配置 8288 總線控制器,并且根據(jù) 8086 提供的 狀態(tài)信號 s2,s1,s0,輸出讀寫控制命令,可以提供靈活多變的系統(tǒng)配置, 以實現(xiàn)最佳的系統(tǒng)性能。11. 簡述 8086 引腳信號中 m/io,dt/r,rd,wr,ale,den 和 bhe 的作用。答:m/io:輸出信號,高電平時,表示 cpu 與存儲器之間數(shù)據(jù)傳輸;低電 平時,表示 cpu 與 i/o
13、 設(shè)備之間數(shù)據(jù)傳輸。dt/r:控制其數(shù)據(jù)傳輸方向的信號。dt/r=1 時,進行數(shù)據(jù)發(fā)送;dt/r=0 時,進行數(shù)據(jù)接收。rd:cpu 的讀信號,rd=0 時,表示 8086 為存儲口或 i/o 端口讀操作。wr:cpu 的寫信號,wr =0 時,表示 8086 為存儲口或 i/o 端口寫操作。 ale:地址存鎖信號,在 t1 能時刻有效。den:數(shù)據(jù)選通信號,當(dāng) den 有效時,表示允許傳輸。bhe:數(shù)據(jù)總線允許信號,與 a0 組合使用,表示是否訪問奇地址字節(jié)。 12. 簡述 8086 讀總線周期和寫總線周期和引腳上的信號動尖態(tài)變化過程。 8086的讀周期時序和寫周期時序的區(qū)別有哪些?答: 在
14、 8086 讀周期內(nèi),有關(guān)總線信號的變化如下:m/io:在整個讀周期保持有效,當(dāng)進行存儲器讀操作時,m/io為高電平;當(dāng)進行 i/o 端口讀操作時,m/io為低電平。a /s a /s :在 t 期間,輸出 cpu 要讀取的存儲單元或 i/o 端口的地址 19 6 16 3 1高 4 位。t t 期間輸出狀態(tài)信息 s -s 。2 4 6 3bhe/s :在 t 期間,輸出 bhe 有效信號( 7 1bhe為低電平),表示高 8 位數(shù)據(jù)總線上的信息可以使用, bhe 信號通常作為奇地址存儲體的體選信號 (偶地址 存儲體的體選信號是最低地址位 a )。t t 期間輸出高電平。0 2 4ad ad
15、:在 t 期間,輸出 cpu 要讀取的存儲單元或 i/o 端口的地址 a l5 0 1 15a 。t 期間為高阻態(tài),t t 期間,存儲單元或 i/o 端口將數(shù)據(jù)送上數(shù)據(jù)總線。 0 2 3 4cpu 從 ad ad 上接收數(shù)據(jù)。l5 0ale:在 t 期間地址鎖存有效信號,為一正脈沖,系統(tǒng)中的地址鎖存器正1是利用該脈沖的下降沿來鎖存 a /s a /s ,ad ad 中的 20 位地址信息以及19 6 16 3 l5 0bhe。 rd :t 期間輸出低電平送到被選中的存儲器或 i/o 接口,注意,只有被 2地址信號選中的存儲單元或 i/o 端口,才會被 rd 信號從中讀出數(shù)據(jù)(數(shù)據(jù)送上數(shù)據(jù)總線
16、ad ad )。 l5 0dt/r:在整個總線周期內(nèi)保持低電平,表示本總線周期為讀周期,在接有數(shù)據(jù)總線收發(fā)器的系統(tǒng)中,用來控制數(shù)據(jù)傳輸方向。 den :在 t t 期間輸出有效低電平,表示數(shù)據(jù)有效,在接有數(shù)據(jù)總線收2 3發(fā)器的系統(tǒng)中,用來實現(xiàn)數(shù)據(jù)的選通??偩€寫操作的時序與讀操作時序相似,其不同處在于:ad ad :在 t t 期間送上欲輸出的的數(shù)據(jù),而無高阻態(tài)。l5 0 2 4 wr :從 t t ,wr 引腳輸出有效低電平,該信號送到所有的存儲器和 i/o2 4接口。注意,只有被地址信號選中的存儲單元或 i/o 端口才會被 據(jù)。wr信號寫入數(shù)dt/ r :在整個總線周期內(nèi)保持高電平,表示本總
17、線周期為寫周期,在接 有數(shù)據(jù)總線收發(fā)器的系統(tǒng)中,用來控制數(shù)據(jù)傳輸方向。習(xí)題 31. 假定(ds)=2000h ,(es)=2100h ,(ss)=1500h ,(si)=00a0h ,(bx)=0100h , (bp)=0010h ,數(shù)據(jù)變量 val 的偏移地址為 0050h,請指出下列指令原操作 數(shù)是什么尋址方式,其物理地址是多少?(1) mov ax, 0abh(3) mov ax, val(2) mov ax, 100h(4) mov bx, si(5) mov al, valbx (6) mov cl, bxsi(7) mov valsi, bx (8) mov bpsi, 100答:
18、(1) 立即數(shù)尋址,物理地址:無(2) 直接尋址,物理地址=2000h10h+100h=20100h(3) 直接尋址,物理地址=2000h10h+0050h=20050h(4) 寄存器間接尋址,pa=2000h10h+00a0=200a0h(5) 相對寄存器尋址,pa=2000h10h+(0050+0100h)=20150h(6) 基址加變尋址,pa=2000h10h+(0100h+00a0h)=201a0h(7) 寄存器尋址,無 pa(8) 立即數(shù)尋址,無 pa2. 已知(ss)=0ffa0h,(sp)=00b0h ,先執(zhí)行兩條把 8057h 和 0f79h 分別進棧 的 push 指令,再
19、執(zhí)行一條 pop 指令,試畫出堆棧區(qū)和 sp 內(nèi)容變化的過程示 意圖。答:“8057h”進棧,則 sp 自動從 00b0h 指向 00b2h,“0f79h”進棧,則 sp 自動 從 00b2h 指向 00b4h;執(zhí)行一條 pop 指令,“0f79h”被彈出棧,sp 從 00b4h 指向 00b2h。圖略。3. 設(shè)有關(guān)寄存器及存儲單元的內(nèi)容如下:(ds)=2000h, (bx)=0100h, (ax)=1200h, (si)=0002h, (20100h)=12h, (20101h)=34h, (20102h)=56h, (20103h)=78h, (21200h)=2ah,(21201h)=4
20、ch, (21202h)=0b7h, (21203h)=65h.試說明下列各條指令單獨執(zhí)行后相關(guān)寄存器或存儲單元的內(nèi)容。(1)mov ax, 1800h (2) mov ax, bx(3) mov bx, 1200h (4) mov dx, 1100bx(5) mov bxsi, al (6) mov ax, 1100bxsi4.5.6.答:(1) (ax)=1800h (2) (ax)=0100h (3) (bx)=4c2ah(4) (dx)=4c2ah (5) (20102h)=00h (6) (ax)=65b7h寫出實現(xiàn)下列計算的指令序列。(1) z=w+(x+z) (2) z=w-(x
21、+6)-(r+9)答:(1) mov ax, zadd ax, xadd ax, wmov z, ax(2) mov ax, wadd x, 6sub ax, xadd r, 9sub ax, rmov z, ax若在數(shù)據(jù)段中從字節(jié)變量 table 相應(yīng)的單元開始存放了 015 的平方值,試 寫出包含 xlat 指令的指令序列查找 n(015)中的某個平方數(shù)。答:lea bx, tablemov al, clxlat寫出實現(xiàn)下列計算的指令序列。(1) z=(w*x)/(r+6) (2) z=(w-x)/5*y)*2答:(1) mov ax, wimul xadd r, 6idiv rmov z
22、, ax(2) mov ax, wsub ax, xmov bl, 5idiv blcbw7.imul ymov bx, 2imul bxmov z, ax假定(dx)=1100100110111001b,cl=3 ,cf=1, 試確定下列各條指令單獨執(zhí)行后 dx 的值。(1) shr dx, 1 (2) shl dl, 1 (3) sal dh, 1 (4) sar dx, cl (5) ror dx, cl (6) rol dl, cl (7) rcr dl, 1 (8) rcl dx, cl 答:(1) (dx)=0110 0100 1101 1100b (2) (dx)=1100 10
23、01 0111 0010b(3) (dx)=1001 0010 1011 1001b (4) (dx)= 1111 1001 0011 0111b (5) (dx)= 0011 1001 0011 0111b (6)(dx)= 0100 1101 1100 1110b (7) (dx)= 1110 0100 1101 1100b (8) (dx)= 1001 0011 0111 0011b8.已知程序段如下:mov ax, 1234hmov cl, 4rol ax, cldec axmov cx, 4mul cxint 20h試問:(1)每條指令執(zhí)行后, ax 寄存器的內(nèi)容是什么?( 2)每條
24、指令執(zhí) 行后,cf,sf 及 zf 的值分別是什么?(3)程序運行結(jié)束后, ax 及 dx 寄 存器的值為多少?答:mov ax, 1234h (ax)=1234h, cf=0,sf=0,zf=0mov cl, 4rol ax,cl (ax)=2341h,cf=1,sf=0,zf=0dec ax (ax)=2340h,cf=1,sf=0,zf=0mov cx,4mull cx (ax)=8d00h, cf=0,sf=1,zf=0int 20h結(jié)束后,(dx)=0000h, (ax)=8000h9. 試分析下列程序段:add ax, bxjnc l2sub ax, bxjnc l3jmp sho
25、rtl5如果 ax,bx 的內(nèi)容給定如下:ax bx(1) 14c6h 80dch(2) b568h 54b7h問該程序在上述情況下執(zhí)行后,程序轉(zhuǎn)向何處。 答:(1)轉(zhuǎn)到 l2 處(2)轉(zhuǎn)到 l3 處習(xí)題 41下列語句在存儲器中分別為變量分配多少字節(jié)空間?并畫出存儲空間的分配 圖。var1 db 10 ,2var2 dw 5 dup (?),0var3 db how are you?,3 dup(1,2)var4 dd -1 ,1,0答:字節(jié)空間:var1:2;var2:12;var3:13;var4:8。存儲空間的分配圖:2假定 var1 和 var2 為字變量, lab 為標(biāo)號,試指出下列
26、指令的錯誤之處。(1)add var1,var2(3)jmp labcx(5) mov 1000h ,100(2)sub al,var1(4)jnz var1 (6)shl al, 4答:(1) 在算術(shù)運算指令中,兩個操作數(shù)不能同時為存儲器尋址方式(2) al 為字節(jié),var1 為字變量,字長不相等;(3) 寄存器相對尋址方式,只能使用基址或變址寄存器,不能使用 cx 寄存器。 (4) 轉(zhuǎn)向地址應(yīng)為標(biāo)號,不能是變量;(5) 目的操作數(shù)的類型不確定;(6) shl 指令中,當(dāng)所移位數(shù)超過 1 時,必須用 cl 取代所移位數(shù)。3對于下面的符號定義,指出下列指令的錯誤。a1 db ?a2 db 10
27、k1 equ 1024(1) mov k1,ax (2)mov a1,ax(3)cmp a1,a2 (4)k1 equ 2048答:(1)k1 為常量,不能用 mov 指令賦值;(2)a1 為字節(jié),ax 為字變量,不匹配;(3) a1 未定義,無法做比較指令;(4) k1 重新賦值前,必須用 purge 釋放。4數(shù)據(jù)定義語句如下所示 :first db 90h,5fh,6eh,69hsecond db 5 dup(?)third db 5 dup(?)自 first 單元開始存放的是一個四字節(jié)的十六進制數(shù)(低位字節(jié)在前 ),要求: 編一段程序?qū)⑦@個數(shù)左移兩位后存放到自 second 開始的單元
28、,右移兩位后存放 到自 third 開始的單元。(注意保留移出部分)答:data segmentfirst db 90h ,5fh,6eh,69hsecond db 5 dup(?)third db 5 dup(?)forth db 4 dup (?)data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axlea si,firstlllll ,secondmmmmm ,2clc;左移 2 位mov ax ,word ptr si ;ax=5f90h 為低十 六位數(shù)據(jù)inc siinc simov dx ,word
29、 ptr si ;dx=696eh 為高十 六位數(shù)據(jù)push dx ;保存原有的高十六位數(shù) 據(jù)push ax ;保存原有的低十六位數(shù) 據(jù)rol dx,cl;將高位數(shù)據(jù)不帶進位循環(huán)左移兩位,即高 2 位數(shù)據(jù)在 dl 的低 2 位and dl,03h ;讓 dl 中僅保存移出的高2 位數(shù)據(jù)mov di+4 ,dl;將移出的高 2 位數(shù)據(jù)放入 second 中的 最高單元中rol ax,cl;將低位數(shù)據(jù)不帶進位循環(huán)左移兩位,即 ax 的高 2 位在 al 的低 2 位and al,03h;讓 al 中僅保存移出的 ax 高 2 位數(shù)據(jù) mov bl ,al;將 al 中的數(shù)據(jù)放入 bl 中保存pop
30、 ax;彈出原有的低十六位數(shù)據(jù)pop dx;彈出原有的高十六位數(shù)據(jù)shl dx,cl;將高位數(shù)據(jù)算術(shù)邏輯左移 2 位shl ax,cl;將低位數(shù)據(jù)算術(shù)邏輯左移 2 位or dl,bl;將 ax 中移出的高 2 位數(shù)據(jù)放入 dx 的低 2 位 mov word ptr di ,axmov word ptr di+2 ,dx;右移 2 位lea si,firstlllll ,thirdmmmmm ,2clcmov ax,word ptr si ;ax=5f90h 為低十六位數(shù)據(jù) inc siinc simov dx,word ptr si ; dx=696eh 為高十六位數(shù)據(jù) push dx;保存
31、原有的高十六位數(shù)據(jù)push ax;保存原有的低十六位數(shù)據(jù)ror ax,cl;將低位數(shù)據(jù)不帶進位循環(huán)右移兩位,即低 2 位 數(shù)據(jù)在 ah 的高 2 位and ah,0c0h;讓 ah 中僅保存移出的低 2 位數(shù)據(jù)push cxmov cx,6shr ah,clpop cxmov di ,ah ;將移出的低 2 位數(shù)據(jù)放入 third 中的 最低單元中ror dx, cl;將低位數(shù)據(jù)不帶進位循環(huán)左移兩位,即 ax 的高 2 位在 al 的低 2 位and dh,0c0h ;讓 dh 中僅保存移出的 dx 低 2 位 數(shù)據(jù)mov bl ,dh ;將 dh 中的數(shù)據(jù)放入 bl 中保存 pop ax ;
32、彈出原有的低十六位數(shù)據(jù) pop dx ;彈出原有的高十六位數(shù)據(jù) shr dx,cl ;將高位數(shù)據(jù)算術(shù)邏輯左移 2 位 shr ax,cl ;將低位數(shù)據(jù)算術(shù)邏輯左移 2 位 or ah,bl ;將 dx 中移出的低 2 位數(shù)據(jù)放入 ax的高 2 位mov word ptr di+1 , axmov word ptr di+3 ,dx;求補lea si,firstlllll ,forthmmmmm ,word ptr si ;ax=5f90h 為低十六位數(shù)據(jù) inc siinc simov dx,word ptr si ; dx=696eh 為高十六位數(shù)據(jù) xor ax, 0ffffh ;將低十六
33、位取反xor dx, offffh ;將高十六位按位取反clcadd ax,01h ;低位加 1,即可為原數(shù)的求 補adc dx,0 ;高位加低位加法時的進位 mov word ptr di , axmov word ptr di+2 ,dxmov ah,4chint 21hcode endsend start5. 試編程序?qū)?nèi)存從 40000h 到 4bfffh 的每個單元中均寫入 55h,并再逐個單 元讀出比較,看寫入的與讀出的是否一致。若全對,則將 al 置 7eh; 只要有 錯,則將 al 置 81h。答:data segmentda1 db 55hcode segmentassume
34、 cs:code,ds:datastart: mov ax,4000hmov ds,axmov cx,0c000hmov bx,0000hmov ah,55hnext1: mov byte ptrbx,ahinc bxloop next1mov bx,0000hmov cx,0c000hmov al,81hnext2: mov ah, bxcmp ah,55hjnz exitinc bxloop next2mov al,7ehexit: mov ah,4chint 21hcode endsend start6. 在當(dāng)前數(shù)據(jù)段 4000h 開始的 128 個單元中存放一組數(shù)據(jù),試編程序?qū)⑺鼈冺?
35、序搬移到 a000h 開始的順序 128 個單元中,并將兩個數(shù)據(jù)塊逐個單元進行比 較; 若有錯將 bl 置 00h; 全對則將 bl 置 ffh,試編程序。答:data segmentorg 400hda1 db 128 dup(?)org 0a00hda2 db 128 dup(?)data endscode segmentassume cs:code,ds:data,es:datastart: mov ax,datamov ds,axlea si,da1lllll ,da2mmmmm ,128again: mov al,siinc siinc diloop againlea si, da1
36、lllll , da2mmmmm ,128next: mov al,simov bl,dicmp al,bljnz errorinc siinc dimov bl,0ffhloop nextjmp exiterror: mov bl,00hexit: mov ah,4chint 21hcode endsend start7. 設(shè)變量單元 a、b、c 存放有 3 個數(shù),若 3 個數(shù)都不為零,則求 3 個數(shù)的和, 存放在 d 中; 若有一個為零,則將其余兩個也清零,試編寫程序。答:data segmentaaa ?bbb ?ccc ?data endscode segmentassume cs:c
37、ode,ds:datastart: mov ax,datamov ds,axcmp a,00hjnz lp1mov b,0mov c,0jmp lp4lp1: cmp b,00hjnz lp2mov a,0mov c,0jmp lp4lp2: cmp c,00hjnz lp3mov a,0mov b,0jmp lp4lp3: mov al,aadd al,badd al,cmov ah,4chlp4: int 21hcode endsend start8. 有一個 100 個字節(jié)的數(shù)據(jù)表,表內(nèi)元素已按從大到小的順序排列好,現(xiàn)給定 一元素,試編程序在表內(nèi)查找,若表內(nèi)已有此元素,則結(jié)束 ; 否則,
38、按順序?qū)?此元素插入表中適當(dāng)?shù)奈恢茫⑿薷谋黹L。答:data segmentbuff db 100 dup(?)da1 db (?)length db 0data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov si,0mov al,da1mov cx,100find0: cmp buffsi,aljz exitinc siloop find0mov di,99mov si,0compare: cmp buffdi,aljg insertmov bl,buffdimov buffdi+1,bldec di
39、cmp di,sijnl comparejmp exitinsert: mov buffdi+1,almov length , 101exit: mov ah,4chint 21hcode endsend start9. 內(nèi)存中以 first 和 second 開始的單元中分別存放著兩個 16 位組合的十進制 (bcd 碼)數(shù),低位在前。編程序求這兩個數(shù)的組合的十進制和 ,并存到以 third 開 始的單元。答:data segmentfirst dd 34341212hsecond dd 78785656hthird db ?,?,?,?data endscode segmentassume
40、 cs:code,ds:datastart: mov ax,datamov ds,axlea si,firstlea di,secondlllll ,thirdmmmmm ,4clcagain: mov al,byte ptrsimov dl,byte ptrdiadc al,dldaamov byte ptrbx,alinc siinc diinc bxloop againjc aamov byte ptrbx,0jmp exitaa: mov byte ptrbx,1exit: mov ah,4chint 21hcode endsend start10. 編寫一段程序,接收從鍵盤輸入的 1
41、0 個數(shù),輸入回車符表示結(jié)束,然后將 這些數(shù)加密后存于 buff 緩沖區(qū)中。加密表如下 :輸入數(shù)字 : 0,1,2,3,4,5,6,7,8,9; 密碼數(shù)字: 7,5,9,1,3,6,8, 0,2,4。答:data segmentmitab db 7591368024cont equ $-mitabbuff db 10 dup (?),$yuanwen db 10 dup (?),$data endscode segmentassume cscode,dsdatastart: mov ax,datamov ds,axmov si,0mov cx,continput: mov ah,1int 21
42、hcmp al,13jz exitand al,0fhmov yuanwensi ,alinc siloop inputexit : lea bx,mitabmov cx,simov si,0jiami: mov al,yuanwensixlatmovmitabbuffsi,alinc siloop jiamimov ah, 4chint 21hcode endsend start11.試編程序,統(tǒng)計由 40000h 開始的 16k 個單元中所存放的字符“ a”的個數(shù), 并將結(jié)果存放在 dx 中。答:data segmentda1 db abuff db 4000h dup(?)data en
43、dscode segmentassume cs:code,ds:datastart: mov ax,4000hmov ds,axmov bx,0mov cx,4000hfind: mov al,bxmov bl,da1cmp al,bljnz nextinc dxnext: inc siloop findmov ah,4chint 21hcode endsend start12. 在當(dāng)前數(shù)據(jù)段 (ds),偏移地址為 datab 開始的順序 80 個單元中,存放著某 班 80 個同學(xué)某門考試成績。按如下要求編寫程序 :(1) 編寫程序統(tǒng)計90 分; 80 分89 分; 70 分79 分; 60
44、分69 分,60分的人數(shù)各為多少,并將結(jié)果放在同一數(shù)據(jù)段、偏移地址為 btrx 開始的順序單 元中。(2) 試編程序,求該班這門課的平均成績?yōu)槎嗌?,并放在該?shù)據(jù)段的 aver 單元 中。答:data segmentbuff dw 80 dup(?)da9 db 0da8 db 0da7 db 0da6 db 0da5 db 0aver db 0data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov cx,80compare: mov bx,0cmp buffbx,90jb lp8inc da9jmp n
45、extlp8: cmp buffbx,80jb lp7inc da8jmp nextlp7: cmp buffbx,70jb lp6inc da7jmp nextlp6: cmp buffbx,60jb lp5inc da6jmp nextlp5: inc da5jmp nextnext: inc bxloop comparemov cx,80xor ax,axmov bx,00sum: add ax,buffbxinc bxloop lp1mov cl,80div clmov aver , almov ah,4chint 21hcode endsend start13. 編寫一個子程序,對
46、al 中的數(shù)據(jù)進行偶校驗,并將經(jīng)過校驗的結(jié)果放回 al 中。答:jiou procpush cxpush bxxor ah, ahpush axmov cl, 7loop1: sar al, 1adc ah, 0loop loop1mov al, ahxor ah, ahmov bl, 2div blmov bl, ahpop axror bl, 1or al, blpop bxpop cxretjiou endp14. 利用上題的子程序,對 80000h 開始的 256 個單元的數(shù)據(jù)加上偶校驗,試編 程序。code segmentassume cs: codestart : mov ax,
47、8000hmov ds, axmov si, 0mov cx, 256lp: mov al, sicall jioumov si, alinc siloop lpmov ah, 4chint 21hjiou procpush cxpush bxxor ah, ahpush axmov cl, 7loop1: sar al, 1adc ah, 0loop loop1mov al, ahxor ah, ahmov bl, 2div blmov bl, ahpop axror bl, 1or al, blpop bxpop cxretjiou endpcode endsend start習(xí)題 51.
48、 試述 dram 的工作特點;與 sram 相比有什么長處和不足之處;說明它的使用 場合。答:dram,動態(tài)隨機存取存儲器,需要不斷的刷新,才能保存數(shù)據(jù)。 而且是 行列地址復(fù)用的,許多都有頁模式。 sram,靜態(tài)的隨機存取存儲器,加電情況 下,不需要刷新,數(shù)據(jù)不會丟失,而且一般不是行列地址復(fù)用的。與 sram 相比,dram 價格便宜、速度慢、容量大,主要用來做主存儲器,存 儲程序和數(shù)據(jù);而 sram 主要用在 cache 等對速度要求高的情況。2. 試述 dram 刷新過程和正常讀/寫過程的區(qū)別。答:刷新是以行為單位進行,且刷新過程中不能進行讀寫操作。3. 設(shè)有一個具有 20 位地址和 32
49、 位字長的存儲器,問:(1) 該存儲器能存儲多少個字節(jié)的信息?(2) 如果存儲器由 512k*8 位 sram 芯片組成,需要多少片?(3) 需要多少位作芯片選擇?答:(1)該存儲器能存儲 4mb 的信息。(2) 需要 8 片 512k*8 位的芯片。(3) 需要 1 位做芯片選擇。4. 對于 8k8 位 ram 組成的存儲器系統(tǒng),若某組的起始地址為 08000h ,則其末 地址為多少?答:末地址為 9fff.5. 在 8088 最大方式系統(tǒng)總線上擴充設(shè)計 4k 字節(jié)的 sram 存儲器電路。sram 芯 片選用 intel 2114,起始地址從 0000h。試畫出此存儲器電路與系統(tǒng)總線的 連接圖。答:系統(tǒng)容量為 4k*8bit,芯片容量為 1k*4bit,所以一共需要 8 片芯片 連接圖如下:6. 在 8088 系統(tǒng)總線上擴充設(shè)計 8k 的字節(jié)的 sram 存儲器電路。 sram 芯片選用 intel 6264 ,起始地址從 04000h 開始,譯碼器電路 74ls138.(1) 計算此 ram 存儲區(qū)的最高地址是多少。(2) 畫出此存儲器電路與系統(tǒng)總線的連接圖。(3) 編寫程序?qū)崿F(xiàn)對此存儲區(qū)域進行自檢。答:(1)最高地址是 05fffh。(2)(3) mov dx, 0ffe2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF 2163-2024漆膜劃格器校準(zhǔn)規(guī)范
- 2024年度隔墻板市場推廣與銷售合同
- 2024年企業(yè)合規(guī)管理與風(fēng)險評估服務(wù)合同
- 2024人工智能在金融服務(wù)中的應(yīng)用合同
- 2024年度品牌授權(quán)合同:知名品牌授權(quán)使用合同
- 句子改寫課件教學(xué)課件
- 2024年度云計算服務(wù)帶寬擴展及維護合同
- 2024年度吊車保險合同:保險責(zé)任與賠償限額
- 2024中小企業(yè)貸款及還款細(xì)節(jié)合同
- 2024年應(yīng)急響應(yīng):消防設(shè)施建設(shè)與維護合同
- 張曉風(fēng)散文自選集
- 膽囊息肉的護理查房
- 新課標(biāo)下小學(xué)生運算能力的培養(yǎng)研究的開題報告
- 餐飲行業(yè)初期投資預(yù)算分析
- 遼寧省重點高中沈陽市郊聯(lián)體2023-2024學(xué)年高三上學(xué)期期中生物試題(解析版)
- 剪映:手機短視頻制作-配套課件
- 西氣東輸二線25標(biāo)段山嶺隧道內(nèi)管道安裝技術(shù)
- 防校園欺凌-課件(共28張PPT)
- 第6章 智能網(wǎng)聯(lián)汽車測評技術(shù)
- 單向板結(jié)構(gòu)設(shè)計
評論
0/150
提交評論