




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
匯編語言課后習(xí)題答案鄭曉薇匯編語言課后習(xí)題答案鄭曉薇匯編語言課后習(xí)題答案鄭曉薇匯編語言課后習(xí)題答案鄭曉薇編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:習(xí)題一1
分別將下列二進(jìn)制數(shù)作為無符號數(shù)和帶符號數(shù)轉(zhuǎn)換為十進(jìn)制和十六進(jìn)制數(shù),01110111,,00101111,查看正確答案無符號數(shù):=211=D3H,01110111=119=77H,=131=83H,00101111=47=2FH,=170=AAH帶符號數(shù):=-45=D3H,01110111=+119=77H,=-125=83H,00101111=+47=2FH,=-86=AAH2
十六進(jìn)制運算
1A52H+4438H,3967H-2D81H,37H×12H,1250H×4H查看正確答案5E8AH,0BE6H,3DEH,4940H3
將十進(jìn)制數(shù)變?yōu)?位補碼,做運算(結(jié)果用二進(jìn)制、十六進(jìn)制、十進(jìn)制表示)29+53,73-24,-66+82,-102-15查看正確答案00011101+00110101=01010010=52H=8201001001+=00110001=31H=49+01010010=00010000=10H=16+==8BH=-1174
用壓縮BCD碼計算(結(jié)果用二進(jìn)制、BCD碼、十進(jìn)制表示)29+53,73-24,66+18,132+75查看正確答案00101001+01010011=01111100+00000110==82H=8201110011-00100100=01001111-00000110=01001001=49H=4901100110+00011000=01111110+00000110==84H=8400000000+01110101=00000001+00000110=00000011=0207H=2075
符號位擴(kuò)展(字節(jié)擴(kuò)展為字,字?jǐn)U展為雙字)
20A3H,94H,3456H,7FH,EC00H查看正確答案000020A3H,F(xiàn)F94H,00003456H,007FH,F(xiàn)FFFEC00H6
若機(jī)器字長為16位,其無符號數(shù)表示范圍是多少帶符號數(shù)表示范圍是多少分別用十進(jìn)制和十六進(jìn)制表示。查看正確答案無符號數(shù):0~65535,0000H~FFFFH;帶符號數(shù):-32768~+32767,8000H~7FFFH7
寫出下列十六進(jìn)制數(shù)所能代表的數(shù)值或編碼:(1)38H(2)FFH(3)5AH(4)0DH查看正確答案(1)38H等于十進(jìn)制數(shù)56,是十進(jìn)制數(shù)56的補碼,數(shù)字8的ASCII碼,十進(jìn)制數(shù)38的壓縮BCD碼(2)FFH等于十進(jìn)制數(shù)-1,是帶符號數(shù)-1的補碼,無符號數(shù)為255(3)5AH等于十進(jìn)制數(shù)90,是十進(jìn)制數(shù)90的補碼,大寫字母Z的ASCII碼(4)0DH等于十進(jìn)制數(shù)13,是十進(jìn)制數(shù)13的補碼,回車符的ASCII碼8
將下列十進(jìn)制數(shù)分別轉(zhuǎn)換為二進(jìn)制、十六進(jìn)制、二進(jìn)制補碼、壓縮BCD碼和ASCII碼:(1)108(2)46(3)-15(4)254查看正確答案(1)108=01101100B=6CH,補碼01101100B,壓縮BCD碼00000000,ASCII碼313038H(2)46=00101110B=2EH,補碼00101110B,壓縮BCD碼01000110,ASCII碼3436H(3)–15=B=F1H,補碼B,ASCII碼2D3135H(4)254=00000000B=00FEH,補碼00000000B,壓縮BCD碼00000000,ASCII碼323534H9
寫出下列算式的二進(jìn)制運算結(jié)果,標(biāo)志位CF、SF、ZF、OF分別是什么值?
(1)56+63(2)83-45(3)-74+29(4)-92-37查看正確答案(1)56+63=01110111B,CF=0,SF=0,ZF=0,OF=0(2)83-45=00100110B,CF=0,SF=0,ZF=0,OF=0(3)-74+29=B,CF=0,SF=1,ZF=0,OF=0(4)-92-37=01111111B,CF=1,SF=0,ZF=0,OF=110
查表,指出ASCII碼0DH、0AH、07H、1BH、20H、40H、50H、70H對應(yīng)的控制字符。查看正確答案回車、換行、響鈴、ESC鍵、空格鍵、@、P、p習(xí)題二1
寫出馮·諾依曼計算機(jī)的基本特點。2
如何解決內(nèi)存速度與CPU速度不匹配問題。3
寫出計算機(jī)總線的分類與作用。4
簡述8086CPU寄存器的分組及各自的作用。5
標(biāo)志寄存器中都有哪些標(biāo)志位與計算結(jié)果有關(guān)6
簡述邏輯地址與物理地址的概念,兩者的關(guān)系。7
存儲器為什么要分段如何分段。8
8086系統(tǒng)把存儲器分為哪四種類型的段各自的特點是什么。9
8086CPU的地址線為20根,尋址空間為1MB。最少可劃分為多少個邏輯段最多呢查看正確答案最少劃分為16個邏輯段,最多劃分為65536個邏輯段(每段16個字節(jié))10
在四種類型的段中通常使用哪些寄存器表示邏輯地址查看正確答案CS:IP,DS:BX、SI、DI,ES:BX、SI、DI,SS:SP、BP11
字節(jié)單元和字單元如何區(qū)分若給出一個地址,如何知道要訪問的是字節(jié)單元還是字單元查看正確答案字節(jié)單元保存8位數(shù),字單元保存16位數(shù)。根據(jù)源操作數(shù)的屬性確定要訪問的是字節(jié)單元還是字單元。12
偶地址單元和奇地址單元在保存數(shù)據(jù)上有區(qū)別嗎查看正確答案對于字節(jié)單元來說,偶地址和奇地址一樣;對于字單元而言,最好用偶地址保存,可減少CPU的訪存次數(shù)。13
有一個32K字節(jié)的存儲區(qū),首地址是3302:5AC8H,寫出其首單元和末單元的物理地址。查看正確答案首單元的物理地址=38AE8H,末單元的物理地址=38AE8H+7FFFH=40AE7H14
什么是有效地址如何獲得有效地址。15
存儲單元地址和內(nèi)容表示如下,請畫出存儲單元存放形式。
(1)(1280A)=3456H(2)(20021H)=4DH(3)(33450H)=37A520D1H16
根據(jù)邏輯地址計算出物理地址,并解釋邏輯地址與物理地址的對應(yīng)關(guān)系。(1)2389:3DE9H(2)1230:EC92H(3)14D9:C202H查看正確答案(1)物理地址=27679H(2)物理地址=20F92H(3)物理地址=20F92H(2)和(3)的物理地址是一樣的。說明邏輯地址不唯一,多個邏輯地址可對應(yīng)到同一個物理單元上。17
給出段地址和偏移地址如下,計算出對應(yīng)的物理地址。
(CS)=54C3H,(ES)=2569H,(DS)=1200H,(SS)=4422H,(BX)=5678H,(SP)=9945H,(IP)=0E54H,(DI)=63B1H查看正確答案代碼段CS:IP的物理地址=55A84H堆棧段SS:SP的物理地址=4DB65H數(shù)據(jù)段DS:BX的物理地址=17678H附加段ES:DI的物理地址=2BA41H18
已知堆棧區(qū)大小為512字節(jié),棧底單元的物理地址為15230H。將兩個字入棧保存后,當(dāng)前棧指針?biāo)竼卧奈锢淼刂肥嵌嗌俣褩^(qū)中還能保存多少個數(shù)據(jù)查看正確答案當(dāng)前棧指針?biāo)竼卧奈锢淼刂肥?522CH。堆棧區(qū)中還能保存254個字。19
寫出修改當(dāng)前數(shù)據(jù)段200H開始的數(shù)據(jù)區(qū)數(shù)據(jù)的DEBUG命令。查看正確答案執(zhí)行E20020
對當(dāng)前代碼段從100H開始反匯編的DEBUG命令是什么查看正確答案執(zhí)行U10021
在DEBUG下,要將寄存器CX的值修改為100H,應(yīng)該執(zhí)行什么命令查看正確答案執(zhí)行RCX,然后輸入10022
在DEBUG下,怎樣將數(shù)據(jù)段的0號~4號字節(jié)單元填入'a'、'b'、'c'、'd'查看正確答案執(zhí)行EDS:0‘a(chǎn)’‘b’‘c’‘d’習(xí)題三1
名詞解釋:零地址指令,一地址指令,二地址指令。2
分別寫出與數(shù)據(jù)有關(guān)的7種尋址方式并舉例說明。3
已知(BX)=1290H,(SI)=348AH,(DI)=2976H,(BP)=6756H,(DS)=2E92H,(ES)=4D82H,(SS)=2030H,請指出下列指令的尋址方式,并求出有效地址EA和物理地址:MOVAX,BXMOVAX,1290HMOVAX,[BX]MOVAX,DS:[1290H]MOVAX,[BP]MOV[DI][BX],AXMOVES:[SI],AX查看正確答案MOVAX,BX源操作數(shù)為寄存器尋址,EA無,物理地址無
MOVAX,1290H立即尋址,EA無,物理地址無
MOVAX,[BX]寄存器間接尋址,EA=1290H,物理地址=2FBB0H
MOVAX,DS:[1290H]直接尋址,EA=1290H,物理地址=2FBB0H
MOVAX,[BP]寄存器間接尋址,EA=6756H,物理地址=26A56H
MOV[DI][BX],AX目的操作數(shù)為基址變址尋址,EA=3C06H,物理地址=32526HMOVES:[SI],AX寄存器間接尋址,EA=348AH,物理地址=50CAAH4
寄存器間接尋址方式可以使用哪些寄存器作為間址寄存器5
立即尋址方式和寄存器尋址方式的操作數(shù)有物理地址嗎6
什么是段超越段超越前綴代表什么7
請指出下列指令的錯誤:MOVAX,[CX]MOVAL,1200HMOVAL,BXMOV[SI][DI],AXMOVES:[DX],CXMOV[AX],VALUEMOVCOUNT,[SI]查看正確答案MOVAX,[CX]錯。CX不能為間址寄存器MOVAL,1200H錯。立即數(shù)超出8位寄存器范圍MOVAL,BX錯。兩個操作數(shù)不匹配MOV[SI][DI],AX錯。兩個變址寄存器不能在一起MOVES:[DX],CX錯。DX不能為間址寄存器MOV[AX],VALUE錯。AX不能為間址寄存器MOVCOUNT,[SI]錯。兩個操作數(shù)不能都是存儲單元8
根據(jù)題目要求,寫出相應(yīng)的匯編指令:(1)把BX寄存器的值傳送給AX(2)將立即數(shù)15送入CL寄存器(3)用BX寄存器間接尋址方式將存儲單元中的字與AX寄存器的值相加,結(jié)果在AX中(4)把AL中的字節(jié)寫入用基址變址尋址的存儲單元中(5)用SI寄存器和位移量VALUE的寄存器相對尋址方式,從存儲單元中讀出一個字送入寄存器AX(6)將AX中的數(shù)與偏移地址為2000H存儲單元的數(shù)相減,結(jié)果在AX中查看正確答案(1)MOVAX,BX(2)MOVCL,15(3)ADDAX,[BX](4)MOV[BX+SI],AL(5)MOVAX,VALUE[SI](6)SUBAX,DS:[2000H]9
寫出用下列尋址方式將存儲單元X中的第3個字取出,AX與其相加再放入Y單元的指令序列。(1)直接尋址(2)寄存器相對尋址(3)基址變址查看正確答案(1)ADDAX,[X+4]MOVY,AX(2)MOVBX,4ADDAX,X[BX]MOVY,AX(3)MOVBX,4MOVSI,OFFSETXADDAX,[BX+SI]MOVY,AX10
在數(shù)據(jù)尋址方式中,哪種尋址方式的操作數(shù)與指令一起存放在代碼段查看正確答案立即尋址方式中操作數(shù)(立即數(shù))和指令一起存放在代碼段中。習(xí)題四1
匯編語言程序有什么特點什么是源程序2
簡要說明從源程序到可執(zhí)行程序的操作過程。3
什么是偽指令匯編指令與偽指令有何區(qū)別寫出4種常用的偽指令。4
8086指令系統(tǒng)分為哪幾類舉例說明算術(shù)運算類指令的用法。5
在8086匯編語言中,哪些段寄存器可以用MOV指令賦值,哪些段寄存器不允許6
堆棧段寄存器SS和棧指針SP可以修改嗎如何修改7
入棧指令PUSH和出棧指令POP可以保存字節(jié)數(shù)據(jù)嗎要保存的話,如何實現(xiàn)8
有哪些方法可以獲得操作數(shù)的有效地址9
解釋下列偽指令的作用:(1)ASSUMECS:CODE,DS:DATA(2)ENDSTART(3)VALUEDW12,35,-6(4)STRINGDB‘INPUT:’(5)MESSDB5DUP()(6)XXDDH(7)ORG0320H(8)CONTEQU2*10
根據(jù)題目,寫出相關(guān)偽指令:(1)定義數(shù)據(jù)段DATA,并在數(shù)據(jù)段中定義兩個字單元X、Y,初始值都是0(2)定義一個字符串SRING,保存’Computer’(3)定義有100個字節(jié)單元的COUNT數(shù)組,初始值均為空(4)用賦值偽指令定義PI為(5)用類型操作符LABEL將VALUE單元定義為字節(jié)型查看正確答案(1)DATASEGMENTXDW0YDW0DATAENDS(2)STRINGDB’Computer’(3)COUNTDB100DUP()(4)PIEQU(5)VALUELABELBYTE11
下列偽指令有錯嗎如果有錯,請指出錯誤原因:(1)X1DB35H,0,-80(2)X2DB35,260,-1(3)X3DB1234H(4)X4DW100(5)X5DW100()(6)X6DD‘AB’查看正確答案(1)對。(2)錯。260超出了字節(jié)范圍。(3)錯。X3是字節(jié)型,1234H是字型,不匹配。(4)對。(5)錯。缺少DUP。(6)對。12
寫出下列指令的執(zhí)行結(jié)果:TABLEDB3,33,33H(1)MOVAL,TABLE(2)MOVAX,WORDPTRTABLE(3)MOVDX,OFFSETTABLE(4)MOVCL,TABLE+2(5)MOVBX,SEGTABLE(6)MOVBX,TYPETABLE(7)LEADX,TABLE查看正確答案(1)AL=3。(2)AX=2103H。(3)DX=TABLE的偏移地址。(4)CL=33H(5)BX=TABLE的段地址。(6)BX=1。(7)DX=TABLE的偏移地址。13
寫出指令序列,分別求兩個雙精度數(shù)20125D68H和100349A6H的相加和相減運算。查看正確答案MOVDX,2012H
MOVAX,5D68H
MOVCX,1003H
MOVBX,49A6HADDAX,BX(SUBAX,BX)ADCDX,CX(SBBDX,CX)14
寫出將DX、AX中的32位無符號數(shù)減CX中的16位無符號數(shù),結(jié)果存放在DX、AX中的指令序列。查看正確答案SUBAX,CXSBBDX,015
寫出將extra段的段地址傳送給ES寄存器的指令序列。查看正確答案MOVAX,extraMOVES,AX16
根據(jù)給出的算式,寫出指令序列(設(shè)X、Y、W為字節(jié)型,Z為字型):(1)Z=5(X+16)(2)Z=X/4-Y(3)Z=8X+Y/16-W^2(4)Z=(X+Y)(X-Y)-X/Y查看正確答案(1)MOVAL,16ADDAL,XMOVBL,5IMULBLMOVZ,AX(2)MOVBL,4MOVAL,XIDIVBLSUBAL,YMOVZ,AX(3)MOVAL,XMOVBL,8IMULBLMOVDX,AXMOVAH,0MOVAL,YMOVBL,16IDIVBLCBWADDDX,AXMOVAH,0MOVAL,WIMULALSUBDX,AXMOVZ,DX(4)MOVAL,XADDAL,YMOVBL,XSUBBL,YMOVAH,0IMULBLMOVZ,AXMOVAL,XIDIVYCBWSUBZ,AX17
分析下列程序段執(zhí)行情況,給出結(jié)果:XDB5,15,30YDB22,14,6ZDW
……MOVBX,OFFSETXMOVAL,[BX]ADDAL,YINCBXSUBAL,[BX]MOVBL,Y+1IMULBLMOVZ,AX查看正確答案Z=(5+22-15)*14=16818
源程序在匯編過程中,系統(tǒng)是如何獲知程序從哪兒開始執(zhí)行的查看正確答案從偽指令ENDSTART處獲知程序從START標(biāo)號開始。19
兩個數(shù)8576H和9988H,分別作減法和加法運算,寫出指令及運算結(jié)果。運算結(jié)果影響哪些標(biāo)志查看正確答案(1)減法:
(2)加法:MOVAX,8576H
MOVAX,8576HMOVBX,9988H
MOVBX,9988HSUBAX,BX
ADDAX,BX結(jié)果:AX=EBEEH
結(jié)果:AX=1EFEHCF=1,OF=0,ZF=0,SF=1
CF=1,OF=1,ZF=0,SF=020
乘法和除法指令對于字和字節(jié)操作是如何進(jìn)行的21
寫出指令,用壓縮BCD碼實現(xiàn)下列運算:(1)Y1=56+34(2)Y2=128-35(3)Y3=68+23-45查看正確答案(1)MOVAL,56HMOVBL,34HADDAL,BLDAAMOVY1,AL(2)MOVAX,128HMOVBX,35HSUBAX,BXDASMOVY2,AL(3)MOVAL,68HMOVBL,23HADDAL,BLMOVBL,45HSUBAL,BLDASMOVY3,AL22
寫出指令,用非壓縮BCD碼實現(xiàn)下列運算:(1)Z1=78+46(2)Z2=95-27(3)Z3=12×6-33(4)Z4=(74+18)/6查看正確答案(1)MOVAX,0708HMOVBX,0406HADDAL,BLADDAH,BH;不用帶進(jìn)位加AAA;加法調(diào)整,含進(jìn)位調(diào)整MOVBX,AXXCHGAH,AL;高4位調(diào)整AAAMOVBH,ALMOVZ1,BX;保存十位、各位,百位在CF中(2)MOVAX,0905HMOVBX,0207HSUBAL,BLSUBAH,BH;不用帶借位減AAS;減法調(diào)整MOVZ2,AX(3)MOVAX,0102HMOVBX,0006HMULBX;乘法先不用調(diào)整MOVBX,0303HSUBAX,BXAAS;減法調(diào)整MOVZ3,AX(4)MOVAX,0704HMOVBX,0108HADDAL,BLADDAH,BHAAA;加法調(diào)整MOVBL,6AAD;除法調(diào)整DIVBLMOVBH,AH;余數(shù)保存在BHANDAX,000FHAAA;商調(diào)整MOVZ4,AX;保存商23
編程序。從鍵盤輸入一個數(shù)字,去掉ASCII碼后保存到BUFF單元。查看正確答案.modelsmall.databuffdb
.codestart:movax,@datamovds,axmovah,1;鍵盤輸入int21hsubal,30h;去掉ASCII碼movbuff,almovah,4chint21hendstart24
編程序。將鍵盤輸入的小寫字母變?yōu)榇髮懽帜革@示在屏幕上。查看正確答案.modelsmall.codestart:movah,1;鍵盤輸入int21hsubal,20h;變?yōu)榇髮憁ovdl,almovah,2int21hmovah,4chint21hendstart25
X和Y都是字節(jié)型數(shù)據(jù),編寫將兩數(shù)相加的結(jié)果顯示出來的程序段。查看正確答案.modelsmall.dataxdb12hydb34h.codestart:movax,@datamovds,axmoval,xaddal,y;結(jié)果為46Hmovah,al;AH=46Handal,0fh;AL=06Hmovcl,4rolah,cl;AH=64Handah,0fh;AH=04Haddax,3030h;AX=3436Hmovbx,axmovdl,bh;顯示4movah,2int21hmovdl,bl;顯示6int21hmovah,4chint21hendstart26
編寫程序,建立一個0~9的平方根表,查表可得某數(shù)的平方根。查看正確答案
datasegmentxdb'','','','',''db'','','','','';建立字符表ydb5dup();存放查到平方根udb3;要查的數(shù)dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmoval,u;要查的數(shù)movcl,5mulcl;u*5=15(號單元開始)movah,0movbx,ax;地址保存到bxmovsi,0let1:moval,x[bx];取出平方根數(shù)字movy[si],al;存入yincsiincbxlooplet1;循環(huán)取出5次movah,4chint21hcodeendsendstart27
編寫查表程序。建立一個班級姓名表,給出學(xué)號,可顯示出其姓名。查看正確答案.modelsmall.datax1db'zhangyan$';姓名為10個字符寬度x2db'lili$'x3db'wanglan$'x4db'zhaoxue$'x5db'lijiang$'udb3;要查的學(xué)號.codestart:movax,@datamovds,axmoval,u;給出學(xué)號movcl,10mulcl;u*10=30(號單元開始)movah,0movdx,ax;地址保存到dxmovah,9;9號功能顯示字符串int21hmovah,4chint21hendstart28
編程實現(xiàn)公式計算Z=X/4+16Y。查看正確答案.modelsmall.dataxdb4ydb6zdb
.codestart:movax,@datamovds,axmoval,x;movcl,2saral,cl;X/4movcl,4movbl,ysalbl,cl;16Yaddal,bl;X/4+16Ymovz,almovah,4chint21hendstart29
編寫程序段,將AL中的數(shù)乘以6,與CL相減后再除以3;把商保存到Y(jié)單元,余數(shù)保存到Y(jié)+1單元。查看正確答案.modelsmall.dataydb,
.codestart:movax,@datamovds,axmoval,3;設(shè)al=3movcl,6mulcl;al*6movcl,4;設(shè)cl=4subal,cl;相減movbl,3idivbl;/3movy,al;商movy+1,ah;余數(shù)movah,4chint21hendstart30
用簡化的程序格式編程序,在屏幕的5行12列上顯示紅底白字的字符串“Come”。習(xí)題五1
轉(zhuǎn)移指令分為哪兩大類轉(zhuǎn)移指令的操作碼和操作數(shù)如何表示2
寫出與轉(zhuǎn)移地址有關(guān)的尋址方式。3
根據(jù)標(biāo)志位轉(zhuǎn)移的指令有哪些執(zhí)行什么操作時可以改變標(biāo)志4
簡述CPU實現(xiàn)分支的過程。5
在短轉(zhuǎn)移格式下,指令跳轉(zhuǎn)的范圍是多少6
在比較轉(zhuǎn)移指令之前可以用什么指令進(jìn)行判斷7
比較轉(zhuǎn)移指令為什么要分為無符號數(shù)比較和帶符號數(shù)比較兩類8
匯編語言可以控制和改變二進(jìn)制某一位。有哪些指令可執(zhí)行位操作9
TEST指令是如何實現(xiàn)判斷的請舉例說明。10
移位指令影響標(biāo)志位嗎影響哪些標(biāo)志位11
已知(BX)=7890H,寫出指令實現(xiàn)邏輯左移2位。請問哪個標(biāo)志位改變了查看正確答案進(jìn)位標(biāo)志CF=112
分析下列程序段,給出執(zhí)行結(jié)果:
MOVAX,1234H
MOVCL,3
SARAX,CL
ANDAX,0FH
ADDAL,30H
MOVDL,AL
MOVAH,2
INT21H查看正確答案先把AX的值除以8等于0246H,再把高12位屏蔽為0,剩下AL=06H加上30H變?yōu)锳SCII碼顯示出來。13
試說明下列程序段完成了什么操作
MOVAX,X
MOVBX,Y
CMPAX,0
JGEAA1
NEGAX
JMP
AA2
AA1:SUBAX,BX
AA2:MOVZ,AX查看正確答案判斷X>0,是,Z=X-Y;否則Z=X的絕對值14
指出下列指令的錯誤所在。(1)AND[SI],3(2)SUBDS,AX(3)PUSH5(4)OR80H,AL(5)CMP[BX],TABLE(6)ROLAL,3查看正確答案(1)目的操作數(shù)是存儲單元時,要用PTR偽操作指出單元的屬性(2)DS段寄存器使用非法(3)立即數(shù)使用非法(4)目的操作數(shù)不允許是立即數(shù)(5)兩個操作數(shù)不允許都是存儲單元(6)移位次數(shù)超過1要用CL表示。15
寫出將清零的指令。(AL中除第4位外的其他位保持不變)。查看正確答案ANDAL,B16
分別指出每條指令執(zhí)行結(jié)果:
MOVAL,37H
(1)ANDAL,0F0H
(2)ORAL,03H
(3)NOTAL
(4)XORAL,0FH查看正確答案(1)AL=30H(2)AL=B7H(3)AL=C8H(4)AL=38H17
簡述操作系統(tǒng)對可執(zhí)行程序的加載和執(zhí)行過程。18
PSP程序段前綴是什么時候建立的占用多大內(nèi)存空間保存了什么內(nèi)容、作用是什么19
轉(zhuǎn)移指令中的標(biāo)號在匯編時被翻譯成什么值這種方法的優(yōu)點是什么
20
無條件轉(zhuǎn)移指令JMP$+2作用是什么其轉(zhuǎn)移地址是多少21
什么是分支表怎樣用分支表實現(xiàn)多路分支22
哪些邏輯指令可以使操作數(shù)清零請寫出指令。23
用邏輯指令實現(xiàn)將AX的低4位清0。24
用移位指令實現(xiàn)AX的高8位和低8位交換。25
寫出判斷一個操作數(shù)是否為負(fù)數(shù)的程序段。26
寫出程序段。判斷字節(jié)單元X中的數(shù)是否為偶數(shù),是偶數(shù)則顯示’Y’,否則顯示’N’。27
分支程序設(shè)計。完成如下公式的計算,請寫出程序。
(X+3)/2
X>0Y=
0
X=0
X×4
X<0查看正確答案分支程序設(shè)計。完成如下公式的計算,請寫出程序。
(X+3)/2
X>0Y=0
X=0
X×4
X<0程序如下:DATASEGMENTXDB23YDB
DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,XCMPAL,0JESUB2JGSUB1MOVCL,2SALAL,CLJMPSHORTSUB2SUB1:ADDAL,3SARAL,1SUB2:MOVY,ALMOVAH,4CHINT21HCODEENDSENDSTART28
設(shè)X、Y、Z為字節(jié)單元。如果X≥0,Z=4X-Y/16,否則,Z=X的絕對值。編程序?qū)崿F(xiàn)。查看正確答案設(shè)X、Y、Z為字節(jié)單元。如果X≥0,Z=4X-Y/16,否則,Z=X的絕對值。編程序?qū)崿F(xiàn)。程序如下:DATASEGMENTXDB3YDB5ZDB
DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,XCMPAL,0JLSS1MOVCL,2SALAL,CLMOVBL,YMOVCL,4SARBL,CLSUBAL,BLJMPOUT1SS1:NEGALOUT1:MOVZ,ALMOVAH,4CHINT21HCODEENDSENDSTART29
字?jǐn)?shù)組M中有10個數(shù)據(jù),分類統(tǒng)計其中正數(shù)、負(fù)數(shù)、0的個數(shù),分別存入POSI、NEGA、ZERO單元。查看正確答案字?jǐn)?shù)組M中有10個數(shù)據(jù),分類統(tǒng)計其中正數(shù)、負(fù)數(shù)、0的個數(shù),分別存入POSI、NEGA、ZERO單元。程序如下:DATA1SEGMENTMDW21,-34,32,112,-324,0,76,0,48,50POSIDW
NEGADW
ZERODW
DATA1ENDSCODE1SEGMENTASSUMECS:CODE1,DS:DATA1START:MOVAX,DATA1MOVDS,AXMOVCX,10LEASI,MAGAIN:CMPWORDPTR[SI],0JLLOWERJEEQUALINCPOSIJMPLPP1LOWER:INCNEGAJMPLPP1EQUAL:INCZEROLPP1:ADDSI,2DECCXJNZAGAINMOVAH,4CHINT21HCODE1ENDSENDSTART30
試編寫程序,從鍵盤接收一英文單詞,以空格結(jié)束,將其存入BUF開始的存儲單元中,并在最后加上字符串結(jié)束符’$’。查看正確答案試編寫程序,從鍵盤接收一英文單詞,以空格結(jié)束,將其存入BUF開始的存儲單元中,并在最后加上字符串結(jié)束符’$’。主要程序部分:LEABX,BUFLOP:MOVAH,1INT21HCMPAL,20HJENEXTMOV[BX],ALINCBXJMPLOPNEXT:MOVBYTEPTR[BX],’$’31
編程。將AX寄存器中的16位數(shù)分成4組,每組4位,從低到高分別放在AL,BL,CL,DL中。查看正確答案編程。將AX寄存器中的16位數(shù)分成4組,每組4位,從低到高分別放在AL,BL,CL,DL中。程序段:START:MOVAX,1234HMOVBX,AXANDAL,0FH;4ANDBL,0F0H;3ANDAH,0FHMOVCL,AH;2ANDBH,0F0HMOVDL,BH;1習(xí)題六1
循環(huán)指令有哪幾種分別寫出指令格式及作用。2
循環(huán)指令根據(jù)什么判斷循環(huán)是否結(jié)束3
用轉(zhuǎn)移指令能否構(gòu)成循環(huán)試舉例說明。4
多重循環(huán)的循環(huán)控制如何實現(xiàn)5
在多重循環(huán)中轉(zhuǎn)移指令的使用要注意哪些問題6
串處理過程中用到循環(huán)了嗎怎么使用的7
列出學(xué)過的串處理指令。8
在串處理過程中,如何找到源串和目的串9
串處理指令都應(yīng)和哪些重復(fù)前綴配合使用請舉例說明。10
在串處理中,方向標(biāo)志DF的作用是什么方向標(biāo)志如何設(shè)置11
寫出下列程序段的執(zhí)行結(jié)果。BUFFDB10,22,14,6,31TOTALDB
……MOVBX,OFFSETBUFFMOVCX,TOTAL-BUFFMOVAL,0AA1:ADDAL,[BX]INCBXLOOPAA1MOVTOTAL,AL查看正確答案累加和TOTAL=8312
分析下列程序段的功能。XDB2,-3,15,0,9,4……LEABX,XMOVCX,6MOVAX,0AA2:MOVAL,[BX]CMPAL,0JNENEXTINCAHNEXT:INCBXLOOPAA2查看正確答案循環(huán)統(tǒng)計X中0的個數(shù)13
判斷下列程序段能否完成給定功能。如有錯誤,請指出并改正。(1)統(tǒng)計AL中1的個數(shù)。要求AL保持原值。MOVBL,0MOVCX,8BB1:RCLAL,1JNCNEXTINCBLNEXT:LOOPBB1(2)在ALPHA中查找字母”T”,找到后退出循環(huán)。ALPHADB“ERTYU”……MOVBX,OFFSETALPHAMOVCX,5BB2:CMP[BX],’T’LOOPNEBB2查看正確答案(1)將BB1:RCLAL,1改為BB1:ROLAL,1(2)將BB2:CMP[BX],’T’
LOOPNEBB2改為:DECBXBB2:INCBXCMP[BX],’T’LOOPNEBB214
源串STRG1和目的串STRG2分別放在數(shù)據(jù)段和附加段中,請寫出含有各種段定義的程序段,完成將STRG1傳送到STRG2的功能。15
寫出計算Y=1×2+3×4+5×6+7×8+9×10的程序段。查看正確答案計算Y=1×2+3×4+5×6+7×8+9×10的程序段答案:MOVAL,1MOVBL,2MOVDX,0MOVCX,5AA1:MULBLADDDX,AXINCBLMOVAL,BLINCBLLOOPAA116
寫程序。查找CATT表中的字符”@”,找到后將SIGN單元置1,否則SIGN單元置0。查看正確答案寫程序段。查找CATT表中的字符”@”,找到后將SIGN單元置1,否則SIGN單元置0。cattdb'asd@ddd'signdb
……movax,extramoves,axmovsign,0moval,'@'leadi,cattcldmovcx,7repnzscasbjcxzneemovsign,1nee:movah,4chint21h17
寫程序段。在長度為N的字?jǐn)?shù)組VALUE中統(tǒng)計負(fù)數(shù)的個數(shù)并保存到AX中。查看正確答案寫程序段。在長度為N的字?jǐn)?shù)組VALUE中統(tǒng)計負(fù)數(shù)的個數(shù)并保存到AX中。valuedw2,-4,-5,3,6,6,-8nequ($-value)/2;元素個數(shù)……start:movax,datamovds,axmovcx,nmovbx,0movax,0rept1:movsi,value[bx];取出元素cmpsi,0jgelet1;≥0轉(zhuǎn)let1incax;為負(fù)數(shù),ax加1let1:addbx,2looprept118
編程。從鍵盤輸入一個數(shù)字,在屏幕上顯示出以該數(shù)字開始的10個數(shù)字串。查看正確答案從鍵盤輸入一個數(shù)字,在屏幕上顯示出以該數(shù)字開始10個數(shù)字串。CODESEGMENTASSUMECS:CODESTART:MOVAH,1INT21HMOVCX,10MOVBL,ALREPT1:CMPBL,'9'JLENEXTSUBBL,10NEXT:MOVDL,BLMOVAH,2INT21HINCBLLOOPREPT1MOVAH,4CHINT21HCODEENDSENDSTART19
編程。比較兩個字符串是否相同,統(tǒng)計并顯示出相同的字符個數(shù)和不同的字符個數(shù)。查看正確答案datasegmentbunch1db'stadent'bunch2db'studEnt'dataendscodesegmentassumecs:code,ds:data,es:datastart:movax,datamovds,axmoves,axleasi,bunch1leadi,bunch2movbx,0;bh=相同的個數(shù),bl=不同的個數(shù)movcx,7let1:moval,[si]cmpal,[di];兩字符比較jzequl;相同轉(zhuǎn)equlincbl;不同bl加1jmpout1equl:incbhout1:incsiincdilooplet1movdl,'n';顯示'n',代表不同movah,2hint21haddbl,30h;加上ASCII碼movdl,bl;顯示不同的個數(shù)int21hmovdl,'e';顯示'e',代表相同int21haddbh,30hmovdl,bh;顯示相同的個數(shù)int21hmovah,4chint21hcodeendsendstart
20
編程。在FOUND字?jǐn)?shù)組中找出最小數(shù)存入MIN單元。21
STRI單元存有10個字符的字符串,以0結(jié)尾,編程去掉其中的空格符,并將后續(xù)字符向前遞補。查看正確答案DATASEGMENT
STRDB‘SDABFGH0’DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEADI,STRSPACE:MOVCX,10MOVAL,[DI]CMPAL,0JEOUTCMPAL,20HJEDELETEJMPEXITSUBCX,DIMOVSI,DIDELETE:MOVBL,[SI+1]MOV[SI],BLINCSILOOPDELETEEXIT:JMPSPACEOUT:MOVAH,4CHINT21HCODEENDSENDSTART22
某班級30名學(xué)生,編程序?qū)⑷喑煽儼瓷蚺判颉?3
將內(nèi)存中用ASCII碼表示的100以內(nèi)的十進(jìn)制數(shù)轉(zhuǎn)變?yōu)槎M(jìn)制數(shù)。十進(jìn)制數(shù)不夠3位以20H(空格)補齊。查看正確答案設(shè)計思路:(1)用EQU偽指令獲得需轉(zhuǎn)換的十進(jìn)制數(shù)的個數(shù);(2)用雙重循環(huán)。外循環(huán)控制個數(shù),用x作為中間變量;(3)內(nèi)循環(huán)將一個3位十進(jìn)制數(shù)去掉ASCII碼后按位數(shù)擴(kuò)大10倍再相加,保存后即存儲為二進(jìn)制數(shù);(4)分兩個數(shù)組保存ASCII碼表示的十進(jìn)制數(shù)和轉(zhuǎn)換后的二進(jìn)制數(shù)。程序如下:;將內(nèi)存中用ASCII碼表示的100以內(nèi)的十進(jìn)制數(shù)轉(zhuǎn)變?yōu)槎M(jìn)制數(shù)datasegmentscore1db36h,37h,20h,31h,30h,30h,38h,35h,20h,31h,30h,30h;即67,100,85,100xdw
nequ3;三位數(shù)numequ(x-score1)/n;十進(jìn)制數(shù)個數(shù)score2dwnumdup(0);保存轉(zhuǎn)換后的二進(jìn)制數(shù)dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovcx,nummovsi,-2movbx,0rept1:pushcx;保存外循環(huán)次數(shù)movcx,nrept2:moval,score1[bx];從score1取數(shù)cmpal,30h;判斷是否0-9jlexitcmpal,39hjgexitandax,000fh;去掉ASCII碼xchgax,xmovdx,10;將ax中前一次形成的數(shù)擴(kuò)大10倍muldxxchgax,xaddx,ax;相加后保存到xexit:incbx;取下一位數(shù)looprept2popcx;彈出外循環(huán)次數(shù)addsi,2movax,xmovscore2[si],ax;轉(zhuǎn)換后的數(shù)據(jù)保存到score2movx,0looprept1movah,4chint21hcodeendsendstart習(xí)題七1
在匯編語言中,主程序是如何調(diào)用子程序的2
怎樣才能正確地從子程序返回到主程序,先決條件是什么3
子程序名代表什么含義子程序名是斷點嗎為什么4
什么叫做跨段調(diào)用從子程序調(diào)用指令CALL中能得知是跨段調(diào)用嗎5
CALL指令如何將斷點入棧保存的6
RET指令在何處使用RET指令執(zhí)行了哪些操作7
CALL指令為什么必須和RET指令成對使用8
為什么要用過程定義偽指令PROC來定義子程序9
子程序的屬性是如何確定的10
為什么要進(jìn)行現(xiàn)場保護(hù)怎樣做現(xiàn)場保護(hù)11
有哪幾種常用的子程序參數(shù)傳遞方法分別寫出各自的特點。12
閱讀下列子程序,解釋該程序的功能。SUBR1PROCNEARPUSHAXPUSHBXMOVAL,XADDAL,BLMOVY,ALPOPBXPOPAXRETSUBR1ENDP查看正確答案功能:兩個字節(jié)數(shù)相加。X和BL相加保存到Y(jié)。13
解釋下列子程序的功能。SUBR2PROCNEARMOVSI,0LET1:MOVAH,1INT21HCMPAL,0DHJZOUT1MOVKEY[SI],ALINCSIJMPLET1OUT1:RETSUBR2ENDP查看正確答案功能:鍵盤輸入的字符保存到KEY單元中,直到按回車為止。14
給出下列子程序的功能和執(zhí)行結(jié)果。XDB3AH……SUBR3PROCNEARMOVAL,XMOVBL,10MOVDX,0LETE:MOVAH,0DIVBLMOVDL,AHPUSHDXCMPAL,0JNZLETERETSUBR3ENDP查看正確答案功能:將X單元中的十六進(jìn)制3AH變?yōu)槭M(jìn)制入棧保存,AH中為余數(shù)。先將0008H入棧,再將0005H入棧,結(jié)果為58。15
寫出子程序,從鍵盤輸入一位十進(jìn)制數(shù),并保存到BUFFER單元中。16
寫出子程序,從鍵盤輸入一個多位十進(jìn)制數(shù),并分別保存到BUFFER開始的單元中。查看正確答案KEY_INPROCPUSHAXPUSHBXMOVBX,0LET1:MOVAH,1INT21HCMPAL,0DH;輸入回車退出JZEXITMOVBUFFER[BX],AL;保存到BUFFERINCBXJMPLET1EXIT:POPBXPOPAXRETKEY_INENDP17
從鍵盤輸入多位數(shù)字,轉(zhuǎn)換成十進(jìn)制數(shù)并保存到X單元中。查看正確答案KEY_IN_DECPROCPUSHAXPUSHBXMOVX,0MOVBX,0MOVSI,0LET1:MOVAH,1INT21HCMPAL,0DH;輸入回車退出JZEXITMOVBUFFER[SI],AL;保存到BUFFERINCSIJMPLET1EXIT:MOVCX,SI;位數(shù)放在CXMOVSI,0LET2:MOVAL,BUFFER[SI]SUBAL,30HMOVAH,0XCHGAX,X;形成十進(jìn)制數(shù)MOVBX,10MULBXXCHGAX,XADDX,AX;保存INCSILOOPLET2POPBXPOPAXRETKEY_IN_DECENDP18
寫出求數(shù)組元素累加和的子程序。19
寫出子程序。查十進(jìn)制數(shù)的ASCII碼表,對AL中的BCD碼顯示出十進(jìn)制數(shù)。20
編寫將X單元中的二進(jìn)制數(shù)顯示為十六進(jìn)制數(shù)的子程序。21
編寫將BX中的二進(jìn)制數(shù)用十進(jìn)制數(shù)顯示出來的子程序。22
編寫將BX中的二進(jìn)制數(shù)用二進(jìn)制數(shù)顯示出來的子程序。23
寫出對內(nèi)存單元X中的補碼求真值子程序,補碼保存在BX中。查看正確答案calcuprocpushaxpushbxpushsimovax,0moval,xandal,aljnszznegalmovfuhao,'-'zz:movsi,0movbx,10;將ax變?yōu)槭M(jìn)制數(shù)真值let1:movdx,0incsi;統(tǒng)計余數(shù)個數(shù)idivbxmovy[si],dx;在y單元保存余數(shù)cmpax,0jnzlet1popsipopbxpopaxretcalcuendp24
寫出兩數(shù)相加運算的子程序。25
寫出兩數(shù)相減運算的子程序。26
寫出兩數(shù)相乘運算的子程序。27
寫出兩數(shù)相除運算的子程序。28
寫出對AX中的二進(jìn)制數(shù)按位相加子程序。29
編寫求數(shù)組中最大數(shù)的子程序。30
編制一個計算數(shù)組中所有負(fù)數(shù)之和的子程序。并利用此子程序分別計算A數(shù)組和B數(shù)組中的負(fù)數(shù)之和,結(jié)果分別放在SUM1和SUM2單元中。查看正確答案DATASEGMENT
ADB9,-8,-7,6,5
BDB-8,7,6,-5,4
SUM1DB
SUM2DB
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA
START:MOVAX,DATA
MOVDS,AX
MOVCX,5
MOVSI,OFFSETA
CALLLADD
MOVSUM1,BL
MOVSI,OFFSETB
CALLLADD
MOVSUM2,BL
MOVAH,4CH
INT21H
LADDPROCNEAR
PUSHCX
PUSHAX
PUSHSI
XORBL,BL
NEXT:MOVAL,[SI]
ANDAL,AL
JNSJJJ
ADDBL,AL
JJJ:INCSI
LOOPNEXT
POPSI
POPAX
POPCX
RET
LADDENDP
CODEENDS
ENDSTART
習(xí)題八1
宏的作用是什么宏是一種程序結(jié)構(gòu)嗎2
分別解釋宏定義、宏調(diào)用、宏展開。3
宏與子程序的區(qū)別是什么4
宏指令是什么它能被翻譯成機(jī)器代碼嗎5
寫出宏調(diào)用的過程和子程序調(diào)用的過程,并對二者做一對比。6
宏是怎樣實現(xiàn)傳參的請與子程序傳參進(jìn)行對比。7
請舉例說明宏的變元是操作數(shù)和變元是操作碼的用法。8
利用宏可以定義多個存儲單元嗎如何定義9
在宏定義中可以使用標(biāo)號嗎是否需要說明10
在宏定義中能否出現(xiàn)分支程序段11
如何建立宏庫怎樣打開宏庫12
結(jié)構(gòu)偽操作的作用是什么13
請舉例說明結(jié)構(gòu)預(yù)置和結(jié)構(gòu)引用的用法。14
寫出重復(fù)匯編和條件匯編的主要作用。它們可以生成機(jī)器代碼嗎15
編寫多模塊程序時,需要加入哪些參數(shù)設(shè)置16
分析下列宏定義,指出它的作用。EXM1MACROX1MOVAH,X1INT21HENDM查看正確答案宏的作用:DOS功能調(diào)用。功能號用啞元指出。17
解釋下列宏的功能。EXM2MACROA,B,CMOVAX,AADDAX,BMOVC,AXENDM查看正確答案宏的作用:兩個操作數(shù)相加,結(jié)果保存在第3個數(shù)中。18
指出下列宏的作用。EXM3MACROC1MOVAH,2MOVDL,C1INT21HENDM查看正確答案宏的作用:DOS的2號顯示功能。19
分析下列宏,指出它的作用。EXM4MACROA1,A2VALUEDWA1DUP(A2)ENDM查看正確答案宏的作用:定義VALUE數(shù)組,數(shù)組長度和初值由啞元指出。20
下列宏是一個分支程序,宏定義中缺少標(biāo)號的處理。請?zhí)砑樱⒅赋龊甑墓δ?。EXM5MACROB1,B2MOVAL,B1SUBAL,B2JNSLETT1NEGALLETT1:RETENDM查看正確答案缺少標(biāo)號定義LOCALLETT1。宏的作用:兩個啞元相減,結(jié)果為負(fù)則求補。21
定義宏。完成兩個操作數(shù)相乘,乘積在第3個操作數(shù)中。22
分別寫出子程序使用的保護(hù)現(xiàn)場和恢復(fù)現(xiàn)場的宏。23
定義鍵盤輸入一個字符的宏指令I(lǐng)NPUT。24
定義顯示一個字符的宏指令OUTPUT,要顯示的字符用啞元DISP表示。25
定義宏指令KEY_STR,實現(xiàn)從鍵盤輸入一串字符。26
定義宏指令DISPLAY,顯示一串字符。27
利用宏指令I(lǐng)NPUT和OUTPUT實現(xiàn)將鍵入的大寫字母變?yōu)樾戯@示。查看正確答案程序:.modelsmall.stack100h.codestart:input;鍵盤輸入addal,20h;大寫變?yōu)樾憃utputal;顯示movah,4chint21hendstart28
用宏指令DISPLAY顯示存儲單元ALPHA中的字符串’Computer’。查看正確答案程序:.modelsmall.dataalphadb‘Computer’.codestart:displayalpha;顯示字串movah,4chint21hendstart29
編程序。在鍵盤輸入時,調(diào)用宏指令I(lǐng)NPUT。對輸入的字符判斷是否為負(fù)號“-”,是則對X求補,不是則繼續(xù)輸入。查看正確答案程序:.modelsmall.stack100h.codestart:input;鍵盤輸入cmpal,‘-’jnzstartnegx;求補movah,4chint21hendstart30
編程序。鍵盤輸入兩個一位的十進(jìn)制數(shù),做加法運算。加法結(jié)果調(diào)整為非壓縮的BCD碼,并顯示出十進(jìn)制結(jié)果()。要求改用調(diào)用宏INPUT和宏OUTPUT實現(xiàn)鍵盤輸入和顯示部分。查看正確答案程序:.modelsmall.stack100h.codestart:input;鍵盤輸入movbl,alinput;輸入第2個數(shù)addal,blmovah,0aaa;非壓縮BCD碼加法調(diào)整addax,3030houtputah;顯示高位outputal;顯示低位movah,4chint21hendstart習(xí)題九1
軟件中斷都有哪些CPU是如何處理的2
硬件中斷發(fā)生時,CPU怎樣獲知CPU如何處理硬件中斷3
中斷的重要性是什么若沒有中斷系統(tǒng),微機(jī)能否工作4
什么是中斷向量什么是中斷向量表80X86系統(tǒng)的中斷向量表在哪兒5
80X86系統(tǒng)可以有多少個中斷類型中斷類型號是如何劃分的6
給出一個中斷類型號,如何得到其中斷向量7
每個中斷類型都有一個中斷處理程序嗎中斷處理程序在那兒存放8
中斷過程和子程序調(diào)用過程一樣嗎有何異同9
中斷返回指令和子程序返回指令作用一樣嗎10
子程序可以嵌套調(diào)用,中斷可以嵌套嗎嵌套的條件是什么11
如何設(shè)計用戶自己的中斷都有哪些工作要做12
用什么指令可以設(shè)置中斷向量13
用什么指令可以讀取中斷向量14
如何實現(xiàn)中斷駐留15
怎樣才能觸發(fā)中斷16
如何設(shè)置光標(biāo)的位置請舉例說明。17
寫出實現(xiàn)清屏的指令序列。18
用BIOS中斷的什么功能可以顯示帶顏色的字符19
如何讀取系統(tǒng)日期和時間有幾種方法可以實現(xiàn)20
定義一個帶有啞元的宏,實現(xiàn)在屏幕上開窗口功能。21
定義置光標(biāo)宏,可以通過變元任意設(shè)定光標(biāo)位置。22
定義窗口宏,用紅底黃字顯示一行字符并上卷。23
定義讀取日期宏。24
定義讀取時間宏。25
分析下列程序段,指出其功能。movah,06hmoval,0movch,row1movcl,rank1movdh,row2movdl,rank2movbh,colorint10h查看正確答案在屏幕的row1、rank1到row2、rank2開窗口,清窗口,設(shè)置字符顏色為color。26
解釋下列程序的作用。movah,2movdh,5movdl,10movbh,0int10h查看正確答案將光標(biāo)設(shè)置在5行10列上。27
下列宏的作用是什么entermacromovah,2movdl,0dhint21hmovdl,0ahint21hendm查看正確答案回車換行宏。28
寫出下列程序段的功能。reptt2:movah,00hint1ahmovhigher1,cxmovlower1,dxcmpdx,91jlreptt2查看正確答案讀取時鐘計數(shù)器當(dāng)前計數(shù)值,cx保存高位,dx保存低位;判斷計數(shù)是否到91次(5秒),沒到,繼續(xù)循環(huán)讀取,到5秒后做下面內(nèi)容。29
下列程序的作用是什么試用直接寫中斷向量表的方式改寫。movdx,offsetwin_timemovax,segwin_timemovds,axmoval,1chmovah,25hint21h查看正確答案設(shè)置1CH號中斷的中斷向量(win_time),將其保存到中斷向量表中。30
編程序。在屏幕上0頁7行13列顯示藍(lán)底黃字的字符串“Windows”。31
編程序。清屏后顯示出一串字符,在下一行上可照樣輸入。32
編寫在窗口內(nèi)顯示3行內(nèi)容的菜單程序。33
編寫在窗口中顯示當(dāng)前時間的程序。34
編程實現(xiàn)在窗口中將鍵盤輸入的小寫字母加密后顯示出來。提示:可在字母上加上某數(shù)做加密。查看正確答案程序如下:
include;宏庫.modelsmall.dataletterdb'InputLetter:$'contdb
.codestart:movax,@datamovds,axclearsc;清屏clearsw;窗口清屏reptt:;置顯示光標(biāo)movah,2movdh,11;在11行30列顯示movdl,30movbh,0int10h;顯示串movah,9movdx,offsetletterint21h;置輸入光標(biāo)movah,2movdh,15;在15行30列輸入movdl,30movbh,0int10h;輸入小寫字母movah,1int21haddal,20h;加密;顯示加密后的字符movdl,almovah,2int21h;開窗口movah,6moval,1;上卷1行movch,8;從8行30列到15行60列movcl,30movdh,15movdl,60movbh,27h;綠底灰字int10hinccont;可輸入3次cmpcont,3jnerepttout1:movah,4chint21hendstart35
編寫程序,在屏幕上顯示彩色的26個英文字母。查看正確答案程序如下:.modelsmall.dataletterdb
n='a';重復(fù)匯編m=1eh;藍(lán)底黃字開始rept26;26個小寫字母dbn,mn=n+1
m=m+1
endm
.code
start:
movax,@data;各個段都在代碼段中
movds,ax
;開窗口
movah,06h
moval,0
movbh,37h;白底黑字0f0h,蘭灰底灰白字37h,黃底白字0e7hmovch,3;從8行30列到15行60列movcl,3movdh,15movdl,60int10h;置光標(biāo)locate:movah,2movdh,6;光標(biāo)在6行30列movdl,30movbh,0int10h;顯示彩色的26個英文字母movbx,offsetletter+1movbp,bxmovbx,segletter+1moves,bxmovah,13hmoval,3movbh,0movcx,26;26個字母int10hmovah,4chint21hendstart36
編寫程序,在窗口中將鍵盤輸入的一串字符中的大寫字母和小寫字母的個數(shù)分別統(tǒng)計并顯示出來。查看正確答案程序如下:include;宏庫.modelsmall.datamess1db'input:$'mess2db29,32dup()daxiedb
xiaoxiedb.codestart:movax,@datamovds,axclearsc;清屏clearsw8,30,15,60,27h;開窗口,綠底灰白字cursor12,30;置顯示光標(biāo);顯示提示movah,9movdx,offsetmess1int21h;輸入串moval,0movah,10movdx,offsetmess2int21h;統(tǒng)計movcx,0movcl,mess2+1;輸入的個數(shù)movbx,2;從第2個單元存放鍵入的字母let1:moval,mess2[bx]testal,20h;區(qū)分大小寫jzlet2;為0,即大寫轉(zhuǎn)incxiaoxie;小寫加1jmplet3let2:incdaxie;大寫加1let3:incbxlooplet1windows8,30,15,60,27h;窗口內(nèi)上卷cursor14,30;在16行30列顯示addxiaoxie,30hdisplxiaoxie;顯示小寫個數(shù)windows8,30,15,60,27h;窗口內(nèi)上卷adddaxie,30hdispldaxie;顯示大寫個數(shù)out1:movah,4chint21hendstart37
編寫對鍵盤輸入一段英文的操作計時的程序。查看正確答案程序如下:inclu
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會所股權(quán)分配合同范例
- 公路車整車售賣合同范例
- 共同建造廠房合同范例
- 專利質(zhì)押服務(wù)合同范例
- 產(chǎn)品買賣補充合同范例
- 付款條件合同范例
- 黃纓菊自然居群遺傳結(jié)構(gòu)與適宜分布區(qū)研究
- 信用證貿(mào)易合同范例
- 歷史文化符號在商丘城市綠地景觀中的應(yīng)用研究
- 2025年堿式硫酸鉻項目建議書
- 給水排水管道工程質(zhì)量通病以及防治
- 計算機(jī)視覺全套課件
- 中國聯(lián)通IMS接口規(guī)范 第三分冊:Sh接口 V1.0
- protel完全教程(原理圖部分)
- 《全過程工程咨詢服務(wù)合同》范本經(jīng)典版
- 迎澤公園文化廣場歌詞匯集
- 環(huán)境化學(xué)物的毒性作用及其影響因素
- Q∕GDW 12176-2021 反竊電監(jiān)測終端技術(shù)規(guī)范
- 中軟統(tǒng)一終端安全管理平臺v90使用手冊
- 判斷抽樣(課堂PPT)
- 簡明疼痛評估量表(BPI)
評論
0/150
提交評論