汇编语言各章习题答案_第1页
汇编语言各章习题答案_第2页
汇编语言各章习题答案_第3页
汇编语言各章习题答案_第4页
汇编语言各章习题答案_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汇编语言各章习题答案习题一答案:无符号数:11010011=211=D3H,01110111=119=77H,10000011=131=83H,00101111=47=2FH,10101010=170=AAH带符号数: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无符号数:。〜65535,OOOOH-FFFFH;带符号数:-32768〜+32767,8000H〜7FFFH⑴38H等于十进制数56,是十进制数56的补码,数字8的ASCII码,十进制数38的压缩BCD码(2)FFH等于十进制数是带符号数的补码,无符号数为2555AH等于十进制数90,是十进制数90的补码,大写字母Z的ASCII码0DH等于十进制数13,是十进制数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个字节)CS:IP,DS:BX、SKDI,ES:BX、SI、DI,SS:SP、BP字节单元保存8位数,字单元保存16位数。根据源操作数的属性确定要访问的是字节单元还是字单元。对于字节单元来说,偶地址和奇地址一样:对于字单元而言,最好用偶地址保存,可减少CPU的访存次数。首单元的物理地址=38AE8H,末单元的物理地址=38AE8H+7FFFH=40AE7H⑴物理地址=27679H (2)物理地址=20F92H ⑶物理地址=20F92H(2)和⑶的物理地址是一样的。说明逻辑地址不唯一,多个逻辑地址可对应到同一个物理单元上。代码段CS:IP的物理地址=55A84H 堆栈段SS:SP的物理地址=4DB65H数据段DS:BX的物理地址=17678H附加段ES:DI的物理地址=2BA41H当前栈指针所指单元的物理地址是1522CH。堆栈区中还能保存254个字。执行E200执行U100执行RCX,然后输入100执行EDS:0'a''b'2'd'习题三答案:3.3MOVAX,BXMOVAXz1290HMOVAXJBX]MOVAX,DS:[1290MOVAX,[BP]MOV[DI][BX],AXMOVES:[SI],AX源操作数为寄存器寻址,EA无,物理地址无立即寻址,EA无,物理地址无寄存器间接寻址,EA=1290H,物理地址=2FBB0HH] 直接寻址,EA=1290H,物理地址=2FBB0H寄存器间接寻址,EA=6756H,物理地址=26A56H目的操作数为基址变址寻址,EA=3C06H,物理地址=32526H寄存器间接寻址,EA=348AH,物理地址=50CAAH3.7MOVAX,[CX]MOVAU1200HMOVALZBXMOV[SI][DI],AXMOVES:[DX],CX错。ex不能为间址寄存器错。立即数超出8位寄存器范围错。两个操作数不匹配错。两个变址寄存器不能在一起错。DX不能为间址寄存器MOV[AX],VALUEMOVCOUNTISI]错。AX不能为间址寄存器错。两个操作数不能都是存储单元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立即寻址方式中操作数(立即数)和指令一起存放在代码段中。习题四答案:(1)DATASEGMENTXDWOYDWODATAENDSSTRINGDB'Computer'COUNTDB100DUP(?)PIEQU3.14VALUELABELBYTE(1)对。(2)错。260超出了字节范围。(3)错。X3是字节型,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涂数保存在BHANDAX,OOOFHAAA ;商调整MOVZ4,AX ;保存商编程序。从键盘输入一个数字,去掉ASCII码后保存到BUFF单元。.modelsmall.databuffdb?.codestart:movaxz@datamovdszaxmovah,l ;键盘输入int21hsubalz30h ;去掉ASCII码movbuff,almovah,4chint21hendstart编程序。将键盘输入的小写字母变为大写字母显示在屏幕上。.modelsmall

.codestart:movah,lint21hsubalz20hmovdl,almovah,2int21hmovah,4ch;键盘输入;变为大写int21hendstartX和Y都是字节型数据,编写将两数相加的结果显示出来的程序段。.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的平方根表,查表可得某数的平方根。datasegmentxdb'0.000';1.000'/,1.414,,'1.732,;2.000,db,2.23672.44972.64672.82873.000' ;建立字符表ydb5dup(?)udb3dataends;存放查到平方根;要查的数codesegmentassumecs:codezds:datastart:movax,datamovds,axmoval,u ;要查的数movcl,5mulcl ;u*5=15(号单元开始)movah,Omovbx,ax ;地址保存到bxmovsi,0letl:movalx[bx] ;取出平方根数字movy[si],al ;存入yincsiincbxloopletl ;循环取出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编程实现公式计算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中的数乘以6,与CL相减后再除以3;把商保存到Y单元,余数保存到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 ;余数movah,4chint21hendstart习题五答案:进位标志CF=1先把AX的值除以8等于0246H,再把高12位屏蔽为0,剩下AL=06H加上30H变为ASCII码显示出来。判断X>0,是,Z=X-Y;否则Z=X的绝对值(1)目的操作数是存储单元时,要用PTR伪操作指出单元的属性。DS段寄存器使用非法(3)立即数使用非法。(4)目的操作数不允许是立即数(5)两个操作数不允许都是存储单元(6)移位次数超过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为字节单元。如果X20,Z=4X-Y/16,否则,Z=X的绝对值。编程序实现。程序如下:DATASEGMENTXDB3YDB5ZDB?DATAENDSCODESEGMENTASSUMECS:CODEZDS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,XCMPAL,0JLSS1MOVCL,2SALAL,CLMOVBL,YMOVCL,4SARBL,CLSUBAL,BLJMPOUT1SSI:NEGALOUT1:MOVZ,ALMOVAH,4cHINT21HCODEENDSENDSTART字数组M中有10个数据,分类统计其中正数、负数、0的个数,分别存入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位数分成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循环统计X中0的个数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的字数组VALUE中统计负数的个数并保存到AX中。;元素个数;取出元素;20转letl;为负数,ax加1valuedw2;元素个数;取出元素;20转letl;为负数,ax加1start:movax,datamovds,axmovcx,nmovbx,0movaxzOreptl:movsi,value[bx]empsi,0jgeletlincaxletl:addbx,2loopreptl从键盘输入一个数字,在屏幕上显示出以该数字开始10个数字串。CODESEGMENTASSUMECS:CODESTART: MOVAHJINT21HMOVCX,10MOVBL,ALREPT1:CMPBL,9JLENEXTSUBBL,10NEXT:MOVDL,BLMOVAH,2INT21HINCBLLOOPREPT1MOVAH,4CHINT21HCODEENDSENDSTART6.19编程。比较两个字符串是否相同,统计并显示出相同的字符个数和不同的字符个数。datasegmentbunchldb'stadent'bunch2db'studEnt'dataendscodesegmentassumecs:code,ds:data,es:datastart:movax,datamovds,axmoveszaxleasi,bunchlleadi,bunch2movbx,0 ;bh=相同的个数,bl=不同的个数movex,7letl:movaljsi]cmpaUdi] 俩字符比较jzequl ;相同转equlincbl ;不同bl加1jmpoutlequl:incbhoutlinesiincdiloopletlmovdl/n*movah,2h;显示'n',代表不同int21haddbl,30hmovdlzblint21hmovdl/e'int21h;加上ASCII码;显示不同的个数;显示,e',代表相同addbh,30hmovdlzbhint21hmovah,4chint21hcodeendsendstart;显示相同的个数6.21STRI单元存有10个字符的字符串,以0结尾,编程去掉其中的空格符,并将后续字符向前递补。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以内的十进制数转变为二进制数。十进制数不够3位以20H(空格)补齐。设计思路:(1)用EQU伪指令获得需转换的十进制数的个数:(2) 用双重循环。外循环控制个数,用x作为中间变量;(3)内循环将一个3位十进制数去掉ASCII码后按位数扩大10倍再相加,保存后即存储为二进制数;(4) 分两个数组保存ASCII码表示的十进制数和转换后的二进制数。程序如下:;6-23.asm将内存中用ASCII码表示的100以内的十进制数转变为二进制数datasegmentscoreldb36h,37h,20h,31h,30h,30h,38h,35h,20h,31h,30h,30h;即67,100,85,100xdw?;三位数nequ3numequ(x-score1)/n;十进制数个数score2dwnumdup(0);保存转换后的二进制数dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovex,nummovsi,-2movbx,0reptl:pushex;保存外循环次数movex,nrept2:movaI,scorel[bx];从scorel取数empa1,30h;判断是否0-9j1exitempa1,39hjgexitandax,OOOfh;去掉ASCI1码xchgax,xmovdx,10;将2*中前一次形成的数扩大10倍muIdxxchgax,xaddx,ax;相加后保存到Xexit: incbx;取下一位数Iooprept2popex;弹出外循环次数

addsi,2;转换后的数据保存到;转换后的数据保存到score2movscore2[si],axmovx,0loopreptlmovah,4chint21hcodeendsendstart运行结果:-dds:00645:00000B45:运行结果:-dds:00645:00000B45:001080300030043610300525703064360030003010306710085100..C.d.U.d 可以看到,67转换为0043,100转换为0064,85转换为0055。在DEBUG下显示的内存单元是十六进制表示,实际存储的是二进制数。习题七答案:功能:两个字节数相加。X和BL相加保存到Y。功能:键盘输入的字符保存到KEY单元中,直到按回车为止。功能:将X单元中的十六进制3AH变为十进制入栈保存,AH中为余数。先将0008H入栈,再将0005H入栈,结果为58。写出子程序,从键盘输入一个多位十进制数,并分别保存到BUFFER开始的单元中。KEYJNPROCPUSHAXPUSHBXMOVBX,0LET1:MOVAH4INT21HCMPALQDH ;输入回车退出JZEXITMOVBUFFER[BX]ZAL ;保存到BUFFERINCBXJMPLET1EXIT:POPBXPOPAXRETKEYJNENDP从键盘输入多位数字,转换成十进制数并保存到X单元中。KEYJN_DECPROCPUSHAXPUSHBXMOVX,0MOVBXZO

MOVSI,0LET1:MOVAH,1INT21HCMPAL,ODH;输入回车退出JZEXITMOVBUFFER[SI],AL;保存到BUFFERINCSIJMPLET1EXIT:MOVCX,SI;位数放在exMOVSI,0LET2:MOVAL,BUFFER[SI]SUBALz30HMOVAH,0XCHGAX,X;形成十进制数MOVBXZ1OMULBXXCHGAX,XADDX,AX;保存INCSILOOPLET2POPBXPOPAXRETKEYJN_DECENDP写出对内存单元X中的补码求真值子程序,补码保存在AX中。calcuprocpushaxpushbxpushsimovaxz0moval,xandalzaljnszznegalmovfuhao/-*movsi,0movbxz10letl:;将ax变为十进制数真值movdxzOincsiidivbxmovy[si]zdxempax,0;统计余数个数;在y单元保存余数jnzletlpopsipopbxpopaxretcalcuendp7.30编制一个计算数组中所有负数之和的子程序。并利用此子程序分别计算A数组和B数组中的负数之和,结果分别放在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功能调用。功能号用哑元指出。宏的作用:两个操作数相加,结果保存在第3个数中。宏的作用:DOS的2号显示功能。宏的作用:定义VALUE数组,数组长度和初值由哑元指出。缺少标号定义LOCALLETT1。宏的作用:两个哑元相减,结果为负则求补。程序:.modeIsmaII.stack100h.codestart:input ;键盘输入adda1,20h ;大写变为小写outputaI ;显示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个数addaI,bImovah,0aaa ;非压缩BCD码加法调整addax,3030houtputah ;显示高位outputaI ;显示低位movah,4chint21hendstart习题九答案:在屏幕的rowl、rankl到row2、rank2开窗口,清窗口,设置字符颜色为color。将光标设置在5行10列上。回车换行宏。读取时钟计数器当前计数值,ex保存高位,dx保存低位;判断计数是否到91次(5秒),没到,继续循环读取,到5秒后做下面内容。930设置1CH号中断的中断向量(win.time),将其保存到中断向量表中。编程实现在窗口中将键盘输入的小写字母加密后显示出来。程序如下: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编写程序,在窗口中将键盘输入的一串字符中的大写字母和小写字母的个数分别统计并显示出来。程序如下:;宏库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;统计movcx,0movd,mess2+l;输入的个数movbx,2;从第2个单元存放键入的字母letl:moval,mess2[bx]testal,20h;区分大小写jzIet2;为0,即大写转incxiaoxie;小写加1jmpIet3Iet2:incdaxie;大写加1Iet3:incbxloopletlwindows8,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论