




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
匯編語言各章習題答案習題一答案:無符號數(shù):11010011=211=D3H,01110111=119=77H,10000011=131=83H,00101111=47=2FH,10101010=170=AAH帶符號數(shù):11010011=-45=D3H,01110111=+119=77H,10000011=-125=83H,00101111=+47=2FH,10101010=-86=AAH5E8AH,0BE6H,3DEH,4940H00011101+00110101=01010010=52H=8201001001+11101000=00110001=31H=4910111110+01010010=00010000=10H=1610011010+11110001=10001011=8BH=-11700101001+01010011=01111100+00000110=10000010=82H=8201110011-00100100=01001111-00000110=01001001=49H=4901100110+00011000=01111110+00000110=10000100=84H=840000000100110010+01110101=0000000110100111+00000110=0000001000000111=0207H=207000020A3H,FF94H,00003456H,007FH,FFFFEC00H無符號數(shù):。?65535,OOOOH-FFFFH;帶符號數(shù):-32768?+32767,8000H?7FFFH⑴38H等于十進制數(shù)56,是十進制數(shù)56的補碼,數(shù)字8的ASCII碼,十進制數(shù)38的壓縮BCD碼(2)FFH等于十進制數(shù)是帶符號數(shù)的補碼,無符號數(shù)為2555AH等于十進制數(shù)90,是十進制數(shù)90的補碼,大寫字母Z的ASCII碼0DH等于十進制數(shù)13,是十進制數(shù)13的補碼,回車符的ASCII碼1.8(1)108=01101100B=6CH,補碼01101100B,壓縮BCD碼0000000100001000,ASCII碼313038H(2)46=00101110B=2EH,補碼00101110B,壓縮BCD碼01000110,ASCII碼3436H(3)-15=11110001B=FlH,補碼11110001B,ASCII碼2D3135H(4)254=0000000011111110B=00FEH,補碼0000000011111110B,壓縮BCD碼0000001001010100,ASCII碼323534H(1)56+63=011101116,CF=O,SF=O,ZF=O,OF=0(2)83-45=00100110B,CF=O,SF=O,ZF=O,OF=0(3)-74+29=11010011B,CF=O,SF=1,ZF=O,OF=0(4)-92-37=01111111B,CF=1,SF=O,ZF=O,OF=1回車、換行、響鈴、ESC鍵、空格鍵、@、P、p習題二答案:最少劃分為16個邏輯段,最多劃分為65536個邏輯段(每段16個字節(jié))CS:IP,DS:BX、SKDI,ES:BX、SI、DI,SS:SP、BP字節(jié)單元保存8位數(shù),字單元保存16位數(shù)。根據(jù)源操作數(shù)的屬性確定要訪問的是字節(jié)單元還是字單元。對于字節(jié)單元來說,偶地址和奇地址一樣:對于字單元而言,最好用偶地址保存,可減少CPU的訪存次數(shù)。首單元的物理地址=38AE8H,末單元的物理地址=38AE8H+7FFFH=40AE7H⑴物理地址=27679H (2)物理地址=20F92H ⑶物理地址=20F92H(2)和⑶的物理地址是一樣的。說明邏輯地址不唯一,多個邏輯地址可對應到同一個物理單元上。代碼段CS:IP的物理地址=55A84H 堆棧段SS:SP的物理地址=4DB65H數(shù)據(jù)段DS:BX的物理地址=17678H附加段ES:DI的物理地址=2BA41H當前棧指針所指單元的物理地址是1522CH。堆棧區(qū)中還能保存254個字。執(zhí)行E200執(zhí)行U100執(zhí)行RCX,然后輸入100執(zhí)行EDS:0'a''b'2'd'習題三答案:3.3MOVAX,BXMOVAXz1290HMOVAXJBX]MOVAX,DS:[1290MOVAX,[BP]MOV[DI][BX],AXMOVES:[SI],AX源操作數(shù)為寄存器尋址,EA無,物理地址無立即尋址,EA無,物理地址無寄存器間接尋址,EA=1290H,物理地址=2FBB0HH] 直接尋址,EA=1290H,物理地址=2FBB0H寄存器間接尋址,EA=6756H,物理地址=26A56H目的操作數(shù)為基址變址尋址,EA=3C06H,物理地址=32526H寄存器間接尋址,EA=348AH,物理地址=50CAAH3.7MOVAX,[CX]MOVAU1200HMOVALZBXMOV[SI][DI],AXMOVES:[DX],CX錯。ex不能為間址寄存器錯。立即數(shù)超出8位寄存器范圍錯。兩個操作數(shù)不匹配錯。兩個變址寄存器不能在一起錯。DX不能為間址寄存器MOV[AX],VALUEMOVCOUNTISI]錯。AX不能為間址寄存器錯。兩個操作數(shù)不能都是存儲單元3.8(1)MOVAX,BX(2)MOVCL,15 (3)ADDAX,[BX](4)MOV[BX+SI]ZAL(5)MOVAXZVALUE[SI](6)SUBAX/DS:[2000H]3.9(1)ADDAXJX+3]MOVYAX(2)MOVBX,3 (3)MOVBX,3ADDAXZX[BX] MOVSIQFFSETXMOVY,AX ADDAX,[BX+SI]MOVYAX立即尋址方式中操作數(shù)(立即數(shù))和指令一起存放在代碼段中。習題四答案:(1)DATASEGMENTXDWOYDWODATAENDSSTRINGDB'Computer'COUNTDB100DUP(?)PIEQU3.14VALUELABELBYTE(1)對。(2)錯。260超出了字節(jié)范圍。(3)錯。X3是字節(jié)型,1234H是字型,不匹配。(4)對。(5)錯。缺少DUP。(6)對。(1)AL=3o(2)AX=2103Ho(3)DX=TABLE的偏移地址。(4)CL=33H(5)BX=TABLE的段地址。(6)BX=lo(7)DX=TABLE的偏移地址。MOVDXz2012HMOVAX,5D68HMOVCX,1003HMOVBXZ49A6HADDAXZBX(SUBAXZBX)ADCDX,CX(SBBDX,CX)SUBAXZCXSBBDX,0MOVAX,extraMOVES,AX(1)MOVAL16ADDAL,XMOVBL,5IMULBLMOVZ,AXMOVBL,4MOVAL,XIDIVBLSUBALZYMOVZ,AXMOVAL,XMOVBL,8IMULBLMOVDX,AXMOVAH,0MOVAL,YMOVBL,16IDIVBLCBWADDDX,AXMOVAH,0MOVAL,WIMULALSUBDX,AXMOVZ,DXMOVAL,XADDAL,YMOVBL,XSUBBUYMOVAH,0IMULBLMOV乙AXMOVAL,XIDIVYCBWSUBZ,AX4.174.18Z=(5+22-15)*14=168從偽指令ENDSTART處獲知程序從START標號開始。4.19(1)減法:(2)加法:4.21MOVAX,8576HMOVBX,9988HSUBAX,BX結果:AX=EBEEHCF=1,OF=0,ZF=O,SF=1MOVAL,56HMOVBL,34HADDALZBLDAAMOVY1,ALMOVAXJ28HMOVBX,35HSUBAX,BXDASMOVAX,8576HMOVBX,9988HADDAXZBX結果:AX=1EFEHCF=1,OF=1,ZF=O,SF=OMOVY2,AL(3)MOVAL,68HMOVBL,23HADDALBLMOVBL,45HSUBAL,BLDASMOVY3,AL4.22 (1)MOVAXz0708HMOVBXQ406HADDALZBLADDAH,BH;不用帶進位加AAA ;加法調整,含進位調整MOVBX,AXXCHGAHZAL;高4位調整AAAMOVBH,ALMOVZ1,BX ;保存十位、各位,百位在CF中MOVAXz0905HMOVBXQ2O7HSUBALZBLSUBAHZBH ;不用帶借位減AAS ;減法調整MOVZ2,AXMOVAX,O1O2HMOVBXz0006HMULBX ;乘法先不用調整MOVBXQ3O3HSUBAX,BXAAS ;減法調整MOVZ3,AXMOVAXz0704HMOVBXQ108HADDALZBLADDAH,BHAAA ;加法調整MOVBL,6AAD ;除法調整DIVBLMOVBH,AH涂數(shù)保存在BHANDAX,OOOFHAAA ;商調整MOVZ4,AX ;保存商編程序。從鍵盤輸入一個數(shù)字,去掉ASCII碼后保存到BUFF單元。.modelsmall.databuffdb?.codestart:movaxz@datamovdszaxmovah,l ;鍵盤輸入int21hsubalz30h ;去掉ASCII碼movbuff,almovah,4chint21hendstart編程序。將鍵盤輸入的小寫字母變?yōu)榇髮懽帜革@示在屏幕上。.modelsmall
.codestart:movah,lint21hsubalz20hmovdl,almovah,2int21hmovah,4ch;鍵盤輸入;變?yōu)榇髮慽nt21hendstartX和Y都是字節(jié)型數(shù)據(jù),編寫將兩數(shù)相加的結果顯示出來的程序段。.modelsmall.dataxdb12hydb34h.codestart:movax,@datamovdszaxmoval,xaddal,y;結果為46Hmovah,al ;AH=46Handal,Ofhmovcl,4rolahzclandah,Ofhaddaxz3030hmovbxzaxmovdl,bhmovah,2;AL=06H;AH=64H;AH=04H;AX=3436H;顯示4int21hmovdl,bl ;顯示6int21hmovahz4chint21hendstart4.26編寫程序,建立一個。?9的平方根表,查表可得某數(shù)的平方根。datasegmentxdb'0.000';1.000'/,1.414,,'1.732,;2.000,db,2.23672.44972.64672.82873.000' ;建立字符表ydb5dup(?)udb3dataends;存放查到平方根;要查的數(shù)codesegmentassumecs:codezds:datastart:movax,datamovds,axmoval,u ;要查的數(shù)movcl,5mulcl ;u*5=15(號單元開始)movah,Omovbx,ax ;地址保存到bxmovsi,0letl:movalx[bx] ;取出平方根數(shù)字movy[si],al ;存入yincsiincbxloopletl ;循環(huán)取出5次movah,4chint21hcodeendsendstart編寫查表程序。建立一個班級姓名表,給出學號,可顯示出其姓名。.modelsmall.dataxldb'zhangyan$';姓名為10個字符寬度x2db'lili$'x3db'wangIan$'x4db'zhaoxue$'x5db'lijiang$?udb3;要查的學號.codestart:movax,@datamovds,axmoval,u;給出學號movclz10mulcl;u*10=30(號單元開始)movah,0movdx,ax;地址保存到dxmovah,9;9號功能顯示字符串int21hmovah,4chint21hendstart編程實現(xiàn)公式計算Z=X/4+16Yo.modelsmall.dataxdb4ydb6zdb?.codestart:movax,@datamovdszaxmovalzx;movcl,2saral.cl ;X/4movcl,4movbl,ysalbl,cl ;16Yaddal,bl ;X/4+16Ymovz,almovah,4chint21hendstart編寫程序段,將AL中的數(shù)乘以6,與CL相減后再除以3;把商保存到Y單元,余數(shù)保存到Y+1單元。.modelsmall.dataydb?,?.codestart:movaxz@datamovds,axmoval,3 ;設al=3TOC\o"1-5"\h\zmovcl,6mulcl ;al*6movcl,4 ;設cl=4subal.cl 湘減movbl,3idivbl ;/3movy,al ;商movy+1,ah ;余數(shù)movah,4chint21hendstart習題五答案:進位標志CF=1先把AX的值除以8等于0246H,再把高12位屏蔽為0,剩下AL=06H加上30H變?yōu)锳SCII碼顯示出來。判斷X>0,是,Z=X-Y;否則Z=X的絕對值(1)目的操作數(shù)是存儲單元時,要用PTR偽操作指出單元的屬性。DS段寄存器使用非法(3)立即數(shù)使用非法。(4)目的操作數(shù)不允許是立即數(shù)(5)兩個操作數(shù)不允許都是存儲單元(6)移位次數(shù)超過1要用CL表示。ANDALz11011111B(1)AL=30H(2)AL=B7H(3)AL=C8H(4)AL=38H分支程序設計。完成如下公式的計算,請寫出程序。TOC\o"1-5"\h\zr(X+3) /2 X>0Y=<0 X=0IXX4 X<0程序:DATASEGMENTXDB23YDB?DATAENDSCODESEGMENTASSUMECS:CODEZDS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,XCMPALQ正SUB2JGSUB1MOVCL,2SALAL,CLJMPSHORTSUB2SUB1:ADDAL,3SARAL,1SUB2:MOVY,ALMOVAH,4CHINT21HCODEENDSENDSTART5.28設X、Y、Z為字節(jié)單元。如果X20,Z=4X-Y/16,否則,Z=X的絕對值。編程序實現(xiàn)。程序如下:DATASEGMENTXDB3YDB5ZDB?DATAENDSCODESEGMENTASSUMECS:CODEZDS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,XCMPAL,0JLSS1MOVCL,2SALAL,CLMOVBL,YMOVCL,4SARBL,CLSUBAL,BLJMPOUT1SSI:NEGALOUT1:MOVZ,ALMOVAH,4cHINT21HCODEENDSENDSTART字數(shù)組M中有10個數(shù)據(jù),分類統(tǒng)計其中正數(shù)、負數(shù)、0的個數(shù),分別存入POSLNEGA、ZERO單元。程序如下:DATA1SEGMENTMDW21,-34,32,112,-324,0,76,0,48,50POSIDW?NEGADW?ZERODW?DATA1ENDSCODEISEGMENTASSUMECS:CODE^DSiDATAlSTART:MOVAX,DATA1MOVDS,AXMOVCX,10LEASI,MAGAIN:CMPWORDPTR[SI]ZO兒LOWER正EQUALINCPOSIJMPLPP1LOWER:INCNEGAJMPLPP1EQUAL:INCZEROLPP1:ADDSl,2DECCXJNZAGAINMOVAH^CHINT21HCODEIENDSENDSTART試編寫程序,從鍵盤接收一英文單詞,以空格結束,將其存入BUF開始的存儲單元中,并在最后加上字符串結束符S。主要程序部分:LEA BX,BUFLOP:MOV AH,1TOC\o"1-5"\h\zINT 21HCMPAL,20HJE NEXTMOV [BX],ALINC BXJMP LOPNEXT:MOV BYTEPTR[BX]/$Z5.31編程。將AX寄存器中的16位數(shù)分成4組,每組4位,從低到高分別放在AL,BL,CL,DL中。程序段:START:MOVAX,1234HMOVBX,AXANDALQFH ;4TOC\o"1-5"\h\zANDBLQFOH ;3ANDAH,0FHMOVCLZAH ;2ANDBHQFOHMOVDL,BH ;1習題六答案:6.11累加和TOTAL=836.12循環(huán)統(tǒng)計X中0的個數(shù)6.13(1)將BB1:RCLAL,1改為BB1:ROLAL,1(2)將BB2:CMP[BX]/rLOOPNEBB2改為:DECBXBB2:INCBXCMP[BX];TLOOPNEBB26.15計算Y=1X2+3X4+5X6+7X8+9X10的程序段答案:
M0VAL4MOVBLZ2MOVDX,0MOVCX,5AA1:MULBLADDDX,AXINCBLMOVAL,BLINCBLLOOPAA1寫程序段。查找CATT表中的字符”@〃,找到后將SIGN單元置1,否則SIGN單元置0。cattdb'asd@ddd'signdb?movaxzextramoveszaxmovsign,0moval,回leadi,cattcldmovex,7repnzscasbjexzneemovsign,lnee:movah,4chint21h寫程序段。在長度為N的字數(shù)組VALUE中統(tǒng)計負數(shù)的個數(shù)并保存到AX中。;元素個數(shù);取出元素;20轉letl;為負數(shù),ax加1valuedw2;元素個數(shù);取出元素;20轉letl;為負數(shù),ax加1start:movax,datamovds,axmovcx,nmovbx,0movaxzOreptl:movsi,value[bx]empsi,0jgeletlincaxletl:addbx,2loopreptl從鍵盤輸入一個數(shù)字,在屏幕上顯示出以該數(shù)字開始10個數(shù)字串。CODESEGMENTASSUMECS:CODESTART: MOVAHJINT21HMOVCX,10MOVBL,ALREPT1:CMPBL,9JLENEXTSUBBL,10NEXT:MOVDL,BLMOVAH,2INT21HINCBLLOOPREPT1MOVAH,4CHINT21HCODEENDSENDSTART6.19編程。比較兩個字符串是否相同,統(tǒng)計并顯示出相同的字符個數(shù)和不同的字符個數(shù)。datasegmentbunchldb'stadent'bunch2db'studEnt'dataendscodesegmentassumecs:code,ds:data,es:datastart:movax,datamovds,axmoveszaxleasi,bunchlleadi,bunch2movbx,0 ;bh=相同的個數(shù),bl=不同的個數(shù)movex,7letl:movaljsi]cmpaUdi] 倆字符比較jzequl ;相同轉equlincbl ;不同bl加1jmpoutlequl:incbhoutlinesiincdiloopletlmovdl/n*movah,2h;顯示'n',代表不同int21haddbl,30hmovdlzblint21hmovdl/e'int21h;加上ASCII碼;顯示不同的個數(shù);顯示,e',代表相同addbh,30hmovdlzbhint21hmovah,4chint21hcodeendsendstart;顯示相同的個數(shù)6.21STRI單元存有10個字符的字符串,以0結尾,編程去掉其中的空格符,并將后續(xù)字符向前遞補。DATASEGMENTSTRDB'SDABFGHO'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEADI,STRSPACE:MOVCX,10MOVAL,[DI]CMPAL,0JEOUTCMPAL,20H正DELETEJMPEXITSUBCX,DIMOVSI,DIDELETE:MOVBL,[Sl+l]MOV[SI],BLINCSILOOPDELETEEXIT:JMPSPACEOUT:MOVAH,4CHINT21HCODEENDSENDSTART6.23將內存中用ASCII碼表示的100以內的十進制數(shù)轉變?yōu)槎M制數(shù)。十進制數(shù)不夠3位以20H(空格)補齊。設計思路:(1)用EQU偽指令獲得需轉換的十進制數(shù)的個數(shù):(2) 用雙重循環(huán)。外循環(huán)控制個數(shù),用x作為中間變量;(3)內循環(huán)將一個3位十進制數(shù)去掉ASCII碼后按位數(shù)擴大10倍再相加,保存后即存儲為二進制數(shù);(4) 分兩個數(shù)組保存ASCII碼表示的十進制數(shù)和轉換后的二進制數(shù)。程序如下:;6-23.asm將內存中用ASCII碼表示的100以內的十進制數(shù)轉變?yōu)槎M制數(shù)datasegmentscoreldb36h,37h,20h,31h,30h,30h,38h,35h,20h,31h,30h,30h;即67,100,85,100xdw?;三位數(shù)nequ3numequ(x-score1)/n;十進制數(shù)個數(shù)score2dwnumdup(0);保存轉換后的二進制數(shù)dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovex,nummovsi,-2movbx,0reptl:pushex;保存外循環(huán)次數(shù)movex,nrept2:movaI,scorel[bx];從scorel取數(shù)empa1,30h;判斷是否0-9j1exitempa1,39hjgexitandax,OOOfh;去掉ASCI1碼xchgax,xmovdx,10;將2*中前一次形成的數(shù)擴大10倍muIdxxchgax,xaddx,ax;相加后保存到Xexit: incbx;取下一位數(shù)Iooprept2popex;彈出外循環(huán)次數(shù)
addsi,2;轉換后的數(shù)據(jù)保存到;轉換后的數(shù)據(jù)保存到score2movscore2[si],axmovx,0loopreptlmovah,4chint21hcodeendsendstart運行結果:-dds:00645:00000B45:運行結果:-dds:00645:00000B45:001080300030043610300525703064360030003010306710085100..C.d.U.d 可以看到,67轉換為0043,100轉換為0064,85轉換為0055。在DEBUG下顯示的內存單元是十六進制表示,實際存儲的是二進制數(shù)。習題七答案:功能:兩個字節(jié)數(shù)相加。X和BL相加保存到Y。功能:鍵盤輸入的字符保存到KEY單元中,直到按回車為止。功能:將X單元中的十六進制3AH變?yōu)槭M制入棧保存,AH中為余數(shù)。先將0008H入棧,再將0005H入棧,結果為58。寫出子程序,從鍵盤輸入一個多位十進制數(shù),并分別保存到BUFFER開始的單元中。KEYJNPROCPUSHAXPUSHBXMOVBX,0LET1:MOVAH4INT21HCMPALQDH ;輸入回車退出JZEXITMOVBUFFER[BX]ZAL ;保存到BUFFERINCBXJMPLET1EXIT:POPBXPOPAXRETKEYJNENDP從鍵盤輸入多位數(shù)字,轉換成十進制數(shù)并保存到X單元中。KEYJN_DECPROCPUSHAXPUSHBXMOVX,0MOVBXZO
MOVSI,0LET1:MOVAH,1INT21HCMPAL,ODH;輸入回車退出JZEXITMOVBUFFER[SI],AL;保存到BUFFERINCSIJMPLET1EXIT:MOVCX,SI;位數(shù)放在exMOVSI,0LET2:MOVAL,BUFFER[SI]SUBALz30HMOVAH,0XCHGAX,X;形成十進制數(shù)MOVBXZ1OMULBXXCHGAX,XADDX,AX;保存INCSILOOPLET2POPBXPOPAXRETKEYJN_DECENDP寫出對內存單元X中的補碼求真值子程序,補碼保存在AX中。calcuprocpushaxpushbxpushsimovaxz0moval,xandalzaljnszznegalmovfuhao/-*movsi,0movbxz10letl:;將ax變?yōu)槭M制數(shù)真值movdxzOincsiidivbxmovy[si]zdxempax,0;統(tǒng)計余數(shù)個數(shù);在y單元保存余數(shù)jnzletlpopsipopbxpopaxretcalcuendp7.30編制一個計算數(shù)組中所有負數(shù)之和的子程序。并利用此子程序分別計算A數(shù)組和B數(shù)組中的負數(shù)之和,結果分別放在SUM1和SUM2單元中。DATASEGMENTADB9,-8,-7,6,5BDB-8,7,6,-5,4SUMIDB2SUM2DB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,5MOVSbOFFSETACALLLADDMOVSUMI,BLMOVShOFFSETBCALLLADDMOVSUM2,BLMOVAH,4CHINT21HLADDPROCNEARPUSHCXPUSHAXPUSHSIXORBL,BLNEXT:MOVAL,[SI]ANDAL,ALJNSJJJADDBL,ALJJJ:INCSILOOPNEXTPOPSIPOPAXPOPCXRETLADDENDPCODEENDSENDSTART習題八答案:宏的作用:DOS功能調用。功能號用啞元指出。宏的作用:兩個操作數(shù)相加,結果保存在第3個數(shù)中。宏的作用:DOS的2號顯示功能。宏的作用:定義VALUE數(shù)組,數(shù)組長度和初值由啞元指出。缺少標號定義LOCALLETT1。宏的作用:兩個啞元相減,結果為負則求補。程序:.modeIsmaII.stack100h.codestart:input ;鍵盤輸入adda1,20h ;大寫變?yōu)樾憃utputaI ;顯示movah,4chint21hendstart程序:.modeIsmaII,dataaIphadb*Computer,,codestart:displayaIpha ;顯示字串movah,4chint21hendstart程序:.modeIsmaII.stack100h,codestart:input ;鍵盤輸入cmpaI,jnzstartnegx ;求補movah,4chint21hendstart8.30程序:.modeIsmaII.stack100h.codestart:input ;鍵盤輸入movbI,aIinput ;輸入第2個數(shù)addaI,bImovah,0aaa ;非壓縮BCD碼加法調整addax,3030houtputah ;顯示高位outputaI ;顯示低位movah,4chint21hendstart習題九答案:在屏幕的rowl、rankl到row2、rank2開窗口,清窗口,設置字符顏色為color。將光標設置在5行10列上?;剀嚀Q行宏。讀取時鐘計數(shù)器當前計數(shù)值,ex保存高位,dx保存低位;判斷計數(shù)是否到91次(5秒),沒到,繼續(xù)循環(huán)讀取,到5秒后做下面內容。930設置1CH號中斷的中斷向量(win.time),將其保存到中斷向量表中。編程實現(xiàn)在窗口中將鍵盤輸入的小寫字母加密后顯示出來。程序如下:include9-3.mac ;宏庫.modelsmall.dataletterdb'InputLetter:$'contdb?.codestart:movax,@datamovds,axclearsc ;清屏clearsw ;窗口清屏reptt:;置顯示光標movah,2movdh,ll ;在11行30列顯示movdl,30movbh,0intlOh;顯示串movah,9movdx,offsetletterint21h;置輸入光標movah,2movdh,15 ;在15行30列輸入movdl,30movbh,0intlOh;輸入小寫字母movah,lint21haddal,20h ;加密;顯示加密后的字符movdlzalmovah,2int21h;開窗口movah,6movalzl ;上卷1行movch,8 ;從8行30列到15行60列movcl,30movdh,15movdl,60movbh,27h ;綠底灰字intlOhinccont ;可輸入3次cmpcont,3jnerepttoutl:movah,4chint21hendstart編寫程序,在屏幕上顯示彩色的26個英文字母。程序如下:.modelsmall.dataletterdb?n='a' ;重復匯編m=leh ;藍底黃字開始rept26 ;26個小寫字母dbn,mn=n+lm=m+lendm.codestart:movax,@data ;各個段都在代碼段中movds,ax;開窗口movah,06hmovalz0movbh,37h ;白底黑字OfOh,蘭灰底灰白字37h,黃底白字0e7hmovch,3 ;從8行30列到15行60列movcl,3movdh,15movdl.60intlOh;置光標locate:movah,2movdh,6 ;光標在6行30列mov仇30movbh,0intlOh;顯示彩色的26個英文字母movbx,offsetletter+1movbp,bxmovbxzsegletter+1moves,bxmovah,13hmoval,3movbh,0movex,26 ;26個字母intlOhmovah,4chint21hendstart編寫程序,在窗口中將鍵盤輸入的一串字符中的大寫字母和小寫字母的個數(shù)分別統(tǒng)計并顯示出來。程序如下:;宏庫include9-4.mac;宏庫.modelsmall.datamessldb'input:$'mess2db29,32dup(?)daxiedb?xiaoxiedb?.codestart:movax,@datamovds,axclearsc;清屏clearsw8,30,15,60,27h;開窗口,綠底灰白字cursor12,30;置顯示光標;顯示提示movah,9movdx.offsetmesslint21h;輸入串moval,0movah,10movdx,offsetmess2int21h;統(tǒng)計movcx,0movd,mess2+l;輸入的個數(shù)movbx,2;從第2個單元存放鍵入的字母letl:moval,mess2[bx]testal,20h;區(qū)分大小寫jzIet2;為0,即大寫轉incxiaoxie;小寫加1jmpIet3Iet2:incdaxie;大寫加1Iet3:incbxloopletlwindows8,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 3 Wrapping Up the Topic-Project 教學設計 2024-2025學年仁愛科普版英語七年級上冊
- 2糖到哪里去了(教學設計)-2023-2024學年一年級下冊科學冀人版
- 南方科技大學《環(huán)境資源法》2023-2024學年第二學期期末試卷
- 《7 校園綠化設計》(教學設計)-2023-2024學年六年級下冊綜合實踐活動粵教版
- 冀中職業(yè)學院《書法藝術與欣賞》2023-2024學年第二學期期末試卷
- 蘇州經(jīng)貿職業(yè)技術學院《安裝工程計量與計價》2023-2024學年第二學期期末試卷
- 教科版高中信息技術必修教學設計-5.1 音頻信息的采集與加工
- 四川化工職業(yè)技術學院《信號分析與處理C》2023-2024學年第二學期期末試卷
- 濮陽醫(yī)學高等??茖W校《微波技術基礎》2023-2024學年第二學期期末試卷
- 四川外國語大學成都學院《兒科護理學(實驗)》2023-2024學年第二學期期末試卷
- 八年級 下冊《黃河兩岸的歌(1)》課件
- 春季安全教育培訓課件
- T-CIAPS 0035-2024 儲能電池液冷散熱器
- 《ZN真空斷路器》課件
- 2024年低壓電工特種作業(yè)證考試題庫模擬考試及答案
- 《山東修繕交底培訓》課件
- 2024.8.1十七個崗位安全操作規(guī)程手冊(值得借鑒)
- 幼兒園大班音樂《歌唱春天》課件
- 2024年廣東省廣州市中考數(shù)學試卷含答案
- 電影《白日夢想家》課件
- 中華人民共和國建筑法
評論
0/150
提交評論