微机接口答案.docx

上传人:奥沙丽水 文档编号:419626 上传时间:2025-07-20 格式:DOCX 页数:63 大小:392.72KB
下载 相关 举报
微机接口答案.docx_第1页
第1页 / 共63页
微机接口答案.docx_第2页
第2页 / 共63页
微机接口答案.docx_第3页
第3页 / 共63页
微机接口答案.docx_第4页
第4页 / 共63页
微机接口答案.docx_第5页
第5页 / 共63页
点击查看更多>>
资源描述

1、第三章1 ,分别说明下刖指令的源操作数和H的操作数各米纳什么寻及方式.MOVAX.2408H(2)MOVC1.OFFH(3)MOVBX.(SI)MOV5(BX.B1.MOVBP*1OOHbAX(6)M0V(BX*DI.S(7MOVDX.ES:(BX-SI)(8MOVVA1.(BPDI).DX(9INA1.05H(1OMOVDS.AXrti(V.htt.寄存器J.ft3)寄存器间接,布在器(4寄存器.寄存备相对5寄存器.符存湍相对(6马上数基坟支址(7)丛址变址,寄存潺(8)将存潺,相对基址变址I瞰器口寻址,寄存器10)寄存器.寄存器2 .己如,DS=100OH.BX=0200H.SI=02H内

2、存10200H=10205H单兀的内容分别为10H.2AH.3CH.46H.59H.6BH下列每条指令执行先后AX寄存潺的内容各是什么?(1)MOVAX.020OH2)MOVAX.(2HMOVAX,2(BX+SI)答:(10200H2A10H020OH5946H(5)463CH6B59H3 .设DS=1000H.ES=20H.SS=a5O0H.SI=OOAOH.DI=0024H.BX=O100H.BP=0200H.数据段中变后名为VA1.的帕移地址值为0030HM说明下列源绿作数字坦的才址方式是什么?物理地址值是多少?(1MOVAX.(1H(2)MOVAX.VA1.(3)MOVAX.BXMOV

3、AX.ES:(BX)MOVAX,BPJ8)MOVAX.VA1.(BP)SIMOVAX.VA1.(BXD1.(10)MOVAX.(BP)DI帘(1)I.101OOH2)I.10030H3)寄存器间接.101OoH寻存器间接201H(5)得存对间接.100AOH(6)寄存器相对.10110H寄存器间接.3520OH(8)相对基址变址.352D0H相对塔址变址,10154H10)船址变址.35224H4 .4出下列指令的机JS码MOVA1.C1.(2jMOVDX.CX(3jMOVBX*100H.3150H答:(1)10001B10001B1100011110011100001010B5 .已知程序的

4、数据段为:DATASEGMENTADBT,10HBDB,COMPUTER,CDW1234H,OFFHDDB5DP()EDD1200459AHDATAENDS求下列程序段执行后的结果是什么。MOVA1.,AMOVDX1CXCHGD1.,AMOVBX1OFFSETBMOVCX13BX1.EABX1D1.DSSI,E1.ESDI,E答:MOVA1.,AA1.=24HMOVDX1CDX=1234HXCHGD1.,AD1.=24H,A=34HMOVBX1OFFSETBBX=2MOVCX13BXCX=5550H1.EABX1DBX=OOOEH1.DSSI,EDS=1200H,SI=459AH1.ESDI,

5、EES=1200H,DI=459AH6 .指出下列指令中哪些是错误的,错在什么地方。(1) MOVD1.,AX(2)MOV8650H,AX(3)MOVDS,0200H(4)MOVBX,1200H(5)MOVIP,OFFH(6)M0VBX+SI+3,IP(7)MOVAX,BXBP(8)MOVA1.,ES:BP(9)MOVD1.,SIDI(10)MOVAX,OFFSET0A20H(11)MOVA1.OFFSETTAB1.E(12)XCHGA1.,50H(13)INB1.,05H(14)OUTA1.,OFFEH答:(1)长度不匹配(2)马上数不能做目的操作数(3)段寄存器不能用马上数赋值(4)两个内

6、存单元不能干脆传送数据(5)IP不能用指令干脆修改(6)指令中不能出现IP(7)BX/BP应与SI/DI搭配(8)正确(9)SI/DI应与BX/BP搭H(10)OFFSET后应跟内存单元(11)偏移地址为16位,A1.长度不够(12)马上数不能用于XCHG(13) IN必需用A1./AX(14)操作数依次反向;地址应为8位7 .已知当前数据段中有一个十进制数字09的7段代码表,其数值依次为40H,79H,24H,30H,19H,12H,02H,78H,00H,18H。要求用X1.AT指令将十进制数57转换成相应的7段代码值,存到BX寄存器中,试写出相应的程序段。答:DATASEGMENTTAB

7、1.EDB40H,79H,24H,30H,19H,12H,02H,78H,00H,18HDATAENDSMOVA1.5MOVBX,OFFSETTAB1.EX1.ATTAB1.EMOVC1.,A1.MOVA1.,7X1.ATTAB1.EMOVB1.,A1.MOVBH,C1.8 .已知当前SS=1050H,SP=0100H,AX=4860H,BX=1287H,试用示意图表示执行下列指令过程中,堆栈中的内容和堆栈指针SP是怎样变更的。PUSHAXPUSHBXPOPBXPOPAX(1)指9 .下列指令完成什么功能?(1) ADDA1.,DH(2)ADCBX,CX(3)SUBAX,2710H(4) DE

8、CBX(5)NEGCX(6)INCB1.(7) MU1.BX(8)DIVC1.答:(I)A1.+DH-A1.(2)BX+CX+CF-BX(3)AX-2710H-AX(4)BX-1-*BX(5)0-CXCX(6)B1.+1-*B1.(8) AX*BX-DX,AX(8)AX/C1.商一A1.,余数一AH10 .已知AX=2508H,BX=0F36H,CX=0004H,DX=1864H,求下列每条指令执行后的结果是什么?标记位CF等于什么?(1)ANDAH,C1.(2)ORB1.,30H(3)NOTAX(4) XORCX,OFFFOH(5)TESTDH,OFH(6)CMPCX,OOH(7) SHRD

9、X,C1.(8)SARA1.,1(9)SH1.BH,C1.(10) SA1.AX,1(11)RC1.BX,1(12)RORDX,C1.答:(1)AX=0408H,CF=O(2)BX=0F36H,CF=O(3)AX=0DAF7H,CF不变(4)CX=0FFF4H,CF=O(5)DX=01864H,CF=O(6)CX=0004H,CF=O(7)DX=0186H,CF=O(8)AX=2504H,CF=O(9)BX=0F036H,CF=O(10)AX=4A10H,CF=O(11)BX=1E6C1E6DH,CF=O(12)DX=4186H,CF=O(11) 设数据段定义如下:DATASEGMENTSTR

10、INGDBThePersona1.Computer&TV,DATAENDS试用字符串操作等指令编程完成以下功能:(1)把该字符串传送到附加段中偏移量为GET.CHAR起先的内存单元中。(2)比较该字符串是否与TheCOmPUter相同,若相同则将A1.寄存器的内容置1,否则置O.,并要求将比较次数送到B1.寄存器中。(3)检杳该字符串是否有若有则用空格字符将其替换。(4)把字符串大写字母传送到附加段中以CAPS起先的单元中,其余字符传到以CHART起先的单元中。然后将数据段中存储上述字符串的单元清0。答:(1)C1.D1.EASI,STRING1.EADI,GET.CHARMOVCX,26RE

11、PMOVSB(2)补充在附加段定义STRING1DBThecomputerMOVA1.,1C1.D1.EASIjSTRING1.EADItSTRINGIMOVCX112REPZCMPSBJZSKIPMOVA1.,0SKIP:MOVBX,12SUBBX,CX(3) MOVAX1DATAMOVES,AXC1.DMOVA1.,&1.EADIiSTRINGMOVCX,26NEXT:REPNESCASBJZFINDJMPEXITFIND:MOVBYTEPTRD1.-1,JCXZEXITJMPNEXTEXIT:(4) 1.EASI,STRING1.EADI,CAPS1.EABX1CHARTMOVCX,26

12、NEXT:MOVA1.,SICMPA1.,A,JBOTHERCMPA1.,Z,JAOTHERMOVES:DI,A1.INCD1.JMPSKIPOTHERMOVES:|BX.A1.INCBXSKIP:MOVBYTEPTR(SI)1OINCSI1.OOPNEXT12 .据程将AX符JS中的内容以相反的依次传送到DX符存;S中.井要求AX中的内容不被破坏.然后统计DX寄存器中1的个数是多少.n:MOVB1.tOPUSHAXMOVDX,0MOVCX.16NEXT:SH1.AX.1JNCSKIPINCB1.SKIPRCRDX.11.OOPNEXTSTOP:POPAX13 ttCS=1200H.IP=O1

13、00H.SS=50(XH.SP=04H.DS=20H.SI=3000H.BX=0300H.(20300H=4800H.(20302H)=OOFFH.TAB1.E=05H.PROGN标多的地址为1200:0278H.PROG-F怀号的地址为3400H:OABCK说明下列每条指令执行先后,程序格分别转移到何处执行?JMPPROG_N(2JMPBX(3)JMPBXJ(4JMPFARPROGF(5)JMPDWORDPTR(BX)如格上述相令中的僚作码JMP改成CA1.1.则号条指令执行完后!序情向何处执行?ft请两图说明城栈中的内容和堆栈指针加何变更.帘(1)12O0Hj0278H(2)1200H:0

14、300H(31200H:4800H(43400H;OABCH(5)OOFFH:4800H将操作码JMPAtiiCA1.1.后:(1) 1200H:0278H指令长度为3.H1IP=0100H+a=0103H.入栈1XX.37HOOFFH:4800H指令长度为2,则IPO1OOH/2O1O2H,入枝SOOOH.OOOOHSOOQH,OJFCH302HOOOHt03rTHOIHOOM50J!1.CMOoH12K14H卜列程诙殁括号中分别功入以卜指令1.oopnextAX=02HBX=04HCX=03HDX=01H(.3AX=03HBX=07HCX=02HDX=O15.果班卡7个同学英语成果低F80

15、分,分散存在ARRAY双组中,试编程完成以下工作:给每人加5分,结Jft存到NEW数加中把总分存到SUM单元中答:DATASEGMENTARRAYDB?,?,?NEWDB7DUP()SUMDWODATAENDSMOVAX.DATAMOVDS.AX1.EASI.ARRAY1.EADI.NEWMOVCX.7NEXT:MOVA1.SI)ADDA1.5MOV(DI).A1.INCSIINCD1.1.OOPNEXT1.EASI.ARRAYC1.CSP5000H:OOOOH5000H:03FCH5000H:03FEH5000H:0400HMOVCX17NEXT1:MOVA1.SI)MOVAH1OADCSU

16、M,AXINCSI1.OOPNEXT116中断向M&的作用是什么?它放在内存的什么区域内?中断向M&中的什么地址用于英里3的中断?铮:中断向量我用来存放中WiBR务程序的入口地址.8086的256类中断的入口地址要占用1K字节,位于内存OOOooH-003FFH的区域内“中断向M表中OoOOCH-OOoOFH用于类型3的中断.17.设类型2的中断1务程序的起始地址为0485:0016H.它在中BS向量表中如何存放?Tri物理地址内容00008H16H00009HOOHOOOOAH85HOOOOBH04H18若中断向表中地址为004OH中存放240BH,0042H单元里存放的是D169H,试问:

17、这电元对应的中断类型处什么?该中断限务程序的起始地址是什么?布(1)10H(2) D169H:24OBH19.简婴说明8086峋应类型0-4中断的条件用什么?Wt类型Ch除法的中新执行除法指令时.若除数为0或所得南超过寄存健容纳的范I%则自动产牛.类MO中断.类型1单步中断苦CPU峋单步标记TF=1.机传执行竞务指令后.白动产生英皇1中断.类型2:不行屏蔽中的NM1.当8086的NM1.引然上按收制由低变淘的电平变更时.将自动产生类型2中断.英里3:新点中断1?在程序中某位置设置新.Cb当程序执行到屋嘶点时,则产生类型3中断,类型4:溢出中断并溢出标记OF=I.则可由流出中断折令INTo产生类

18、型4中断.第四章1.下叫变量各占多少字节?A1DW23H.5876HA2DB3DUP(?).OAH.OOH.SA3DD5DUP(1234H,567890H)A4DB4DUP(3DUP(1,2.,ABC)谷IAI占4个字号A2占6个字节A3*i40个字节A4占60个字节2,下列指令完成什么功能?MOVAX.OOFFHAND1122H*3344HMOVA1.15GE11118MOVAX.OOFFH1.E25566ANDA1.50MOD4ORAX.OFOOFHAND1234OROOFFH咎:(1)将0066H传送的AX(2将OFFH怙送给A1.(3将OFFFFH传送给AX(4ANDA1.02HORA

19、X.OOFFH3 .仃符号定义语句如下:BUFDB3.4.5,123ABUFDB01.EQUABUF-BUF求1.的侬为多少?答:1.=64 .假设程序中的数据定义如下:PARDWPNAMEDB16DUP()COUNTDDP1.ENTHEQUS-PAR求P1.ENTH的值为多少?表示什么应义?答:PAR的嫡移地址为0.P1.ENTH力曲偈移地H$=2+16+4=22.SPAR=22.P1.ENTH的位为22若本P1.ENTH所在行有变h1.定义.则$2Z示核变M的够格地址,即$&小P1.ENTH所在行的当前偏移地计.故P1.ENTH衣示从当前行到PAR之间定义的受让所占的字。个数.5 .对于下

20、面的数第定义,8条MoV指令执行后,什关狗存5的内容是什么?DA1DBDA2DW10DUPODA3DBABCD,MOVAX.TYPEDA1MOVBX.SIZEDA2MOVCX.1.ENGTHDA3布AX=1,BX=20,CX=16 .F段程序完成后.AH等于什么?INA1.,5FHTESTA1.80HJZ1.1MOVAHtOJMPSTOP1.1:MOVAH.OFFHSTOP:H1.T答:探讨从端H5FH输入的数如最高位的状况.若最高位为1则AHM0:若最海位为0,虹AH=OFFH.7,编程彳完成卜列功能;1 1利用中断谓用产生5秒延时.2 2利用中断谓用在解卵上显示1-9之间随机数.答:(1)

21、可以利用中断类型ICH来处理,因为在系统时钟的中断处理程序中,时钟中断一次要两用一次版TICH.RPftfBJ55ms,产生一次ICH中断.要产生5秒延时,只要中断5s5ms1次即可。又因ICH中断处理程序中只有IRET指令,故可格用户的程序代传原有的IZTICH程序.DATASEGMENTCOUNTDW91;i|0MESSDB5$c1.aycd,0AH.0DH.SDATAENDSCODESEGMENTMAINPROCFARASSUMECS:COOE.DS:DATA.ES:DATASTARTPUSHDSMOVAXQPUSHAXMOVAX.DATAMOVDS.AXMOVA1.1CH制到原中断向S

22、tMOVAH.35HINT21HPUSHES:存储原中断向俄PUSHBXPUSHDSMOVDXiOFFSETDE1.AY:DE1.AY的偏移地址和段地址MOVAX.SEGDE1.AYMOVDS.AXM0VA1.1CHs设中断向最MOVAH.25HINT21HPOPDSNA1.,21H;设贸中WiHiR位ANDA1.OFEHOUT21H.A1.STIMOVD,2000H:主程序延迟,在执行此段程序期间A1:MOVSI.3000H:产生中SiA2:DECS1.JNZA2DECD1.JNZA1POPDX:取朦中斯印itPOPDSMOVA1.1CHMOVAH.25HINT21HRETMAINENDPD

23、E1.AYPROCNEARPUSHDSPUSHAXPUSHCXPUSHDXMOVAX.DATAMOVDS,AXSTIDECCOUNT:5秒计数JNZEXITMOVDXiOFFSETMESSI。示信总MOVAH.09HINT21HMOVCOUNT.91t5秒的微EXIT:CUPOPDXPOPCXPOPAXPOPDSIRETDE1.AYENDPCODEENDSENDSTART99.M1.CFH1JBETRANSTCJMPEXITTRANPUSHCXPUSHDXSUBDX.DX:DXMOVCX,1D:计算千位数DIVCXXCHGAX.DX;商在DX中,氽数在AX中MOVC1.4SH1.DX,C1.:

24、DX左移4位MOVC1.,1:计算百位数DIVC1.ADDD1.1A1.:门位数加到D1.中,DX左移4位MOVC1.4SH1.DX.C1.XCHGA1.AH:余数保谢在A1.中SUBAHtAHMOVC1.1IO:计株Hk依DIVC1.ADDD1.1A1.:十位数加到D1.中,DX左移4位MOVC1.4SH1.DX.C1.ADDD1.AH:加个位数MOVAX1DXI结果送到AX中POPDXPOPCXEXITRETB2T0BCDENDP(2)将AX中4位BCD用依次乘以IO00.100.10和1,然后求和叩得./程序名:BCDT0B2输入参数:AX=4位压泡BCD玛输出舂IkiAX;卜六位二进制

25、教运用寄存器:BX:河存数据.CX:存放乘数.DX:存放中何结果BCDT0B2PROCFARPUSHBXPUSHCXPUSHDXMOVBX1AXMOVC1.4RO1.AX.C1.ANDAX.OOOFHMOVCX,10:乘以100OMU1.CXMOVDX.AXMOVAX.BXMOVC1.8RO1.AX.C1.ANDAX.OFHMOVC1.100:乘以100MU1.C1.ADDD,AXMOVAX.BXMOVC1.4SHRAX.C1.ANDAX.OFHMOVC1.1IOI乘以10MU1.C1.ADDDX.AXANDBX.OFHADDDX.BXMOVAX1DXPOPDXPOPCXPOPBXRETBCD

26、T0B2ENDP9 .编写两个通用过程,一个完成ASCH内转独成.血别数功俵,另个完成ASCH字符显示怆出功能,答:(1)将AXASCII码先转化成效羿然后AHTo+A1.子程序名IASCHTOB2输入数,AX=2ASCIIi输出参蛇Ax=转换后二进棚R运用寄存hBX,CX,DXASCIIT0B2PROCFARPUSHBXPUSHCXPUSHDXMOVBXtAXSUBAH.30HMOVA1.AHMOVC1.10;乘以10MU1.C1.MOVDX.AXMOVAX1BXSUBA1.30HMOVAH.0ADDAX,DXPOPDXPOPCXPOPBXRETASCIIT0B2ENDP(2运用24DOS功

27、能调用显示字符.子程序名IDISP1.AY输入参敝:AX=2仙ASCII码物出参数:无运用寄存:tt:BX.DXDISP1.AYPROCFARPUSHBXPUSHDXMOVBX.AXMOVD1.AHMOVAH.2INT21HMOVAX,BXMOVD1.,A1.MOVAH.2INT21HPOPDXPOPBXRETDISP1.AYENDP10 .箱制两个通用过程,完成十六进制效转换成ASCH码并将ASC1.1.码字符显示.治(1)子程序如Hextoasc输入每数,AX:4位十六进制钱粕出扬数:DX.AX:4ASCII码QX蒲2位AX仞2位运用寄存8hBX.CX.DXHextoascprocfarP

28、USHBXpushexPUSHDXMOVBXAXMOVC1.,41IftAHft4iSHRAX.C1.ANDAX.OFOOHADDAH.30HCMPAH.3AHJBA1ADDAH.7A1:MOVDH,AHMOVAXtBX;转换AH低4位ANDAX.OFOOHADDAH.30HCMPAH,MHJBA2ADDAH.7A2:MOVD1.,AHMOVBH1B1.I代换A1.送4也MOVC1.4SHRB1.,C1.ADDB1.30HCMPB1.3AHJBA3ADDB1.7A3:MOVAH.B1.ANDBH.OFH;转换A1.版4位ADDBH.30HCMPBH.3AHJA4ADDBH.7A4:MOVA1.

29、8HPOPDXPOPCXPOPBXRETHextoascendp(2)子程序名:Disp1.ayasc输入餐数:D.AX:4asciiw输出拿数:无运用寄存器:BX.CXDisp1.ayascprocfarPUSHBXPUSHCXMOVBX.DXMOVCX.AXMOVD1.1BHMOVAH.02HINT21HMOVD1.1B1.INT21HMOVD1.CHINT21HMOVD1.C1.INT21HMOVD1.,H,INT21HPOPCXPOPBXRETDispiayascendpit某程序可从键次接收吩咐(-s,分别转向6个子程序,f程序入11地址分别为pops.馍制程序,用跳转表实现分支结构

30、答:DATASEGMENTTAB1.EDW6DUP()DATAENDSCODESEGMENTASSUMECS:CoDEQSQATASTARTMOVAXtDATAMOVDS.AX1.EASI.TAB1.EMOVWORDPTR(SI),OFFSETPOMOVWORDPTR1.SI+2.OFFSETP1MOVWORDPTR(SH4),0FFSETP2MOVWORDPTRSI6.0FFSETP3MOVWORDPTR(SI*8.0FFSETP4MOVWORDPTR(SHIO),OFFSETP5MOVAH.1INT21HSUBA1.tSOHSH1.A1.11MOVAH.0MOVSI,AXJMPTAB1.

31、ESI)PO:P1:P2:P3:P4:P5:MOVAH.4CHINT21HCODEENDSENDSTART12在泞地比为TAB1.E的数组中按遥地次序存放着100个16位补码次写一个程侪,把H1.现次数G多的数及其出现次数分剔存放于AX和B1.中.布DATASEGMENTTAB1.EDW1DUP()ii姐中的数据是按增序排列的NUMDWCOUNTDW0DATAENDSCODESEGMENTMAINPROCFARASSUMECS:CODE.DSDATASTART:PUSHDS:设附返回DoSSUBAX.AXPUSHAXMOVAX.DATAMOVDS.AX;DSK(ftBEGIN:MOVCX,1循

32、环if数;KMOVSI.0NEXT:MOVDX10MOVAX.TAB1.ESI)COMP:CMPTAB1.E(SI),AX:C算个数的出现次数JNEADDRINCDXADDSI.21.OOPCOMPADDR:CMPDX.COUNT:此数出现的次数M匕叫?J1.EDONEMOVCoUNT,DX:目JW此数出现的次数峨多,登记次(MOVNUM,AX;徵记此效DONE:1.OOPNEXT;打算取下一个数MOVCX,UNT;出现时多的次数存入(CX)MOVAX.NUM;出现At彩的数次入(AX)RETMAINENDPCODEENDSI以上定义代码段ENDSTART13.将犍盘上输入的十六进制数转换成十

33、进上数,在屏幕上显示答:DATASEGMENTSTRINGDBINPUT4HEXNUMOAH.ODH.,S,NUMDB1ODUP()DATAENDSCODESEGMENTASSUMECS:CODE.DSDATASTART:MOVAX.DATAMOVDS,AX1.EADXtSTRING:般示提示归恩M0VAH,9INT21HMOVBP.4MOVDX,0CONT:MOVC1.4;输入4位十六进制数DXSH1.DX.C1.D1:MOVAH.1INT21HCMPA1.OJBD1CMPA1.,F,JAD1CMPA1.,AJBA1SUBA1.7A1:SUBA1.30HMOVAHtOADDDX1AXDECB

34、PJNZCONTMOVSI.01.将DX转怏成十进制效.再转换成ASC1.1.6-NUMMOVAXtDXMOVDX1OMOVBX.10D2:DIVBXADDD1.,30HMOVNUMSI),D1.INCS1.CMPAX1OJZEXITMOVDX1OJMPD2EXITMOVD1.OAH显示Ii1.1.制数MOVAH.2INT21HMOVD1.ODHINT21HD3:DECSIMOVD1.NUM(S11MOVAH.2INT21HJNZD3MOVAH.4CHINT21HCODEENDSENDSTART14将AX中的无符号:如列数传换成ASe1.字符小表豕的卜进制数,答:将13处轴人过程和输出过程去掉

35、叩褥.DATASEGMENTNUMDB10DUP():N换JgASCHN按倒序存放NUMDATAENDSCODESEGMENTASSUMECS:CODE.DSDATASTARTrMOVAX1DATAMOVDS1AXMOVAX.t无符号:逆制救MOVSI.0:4AX换成I进创数P1.HIfthtASCII-NUMMOVDX1OMOVBX.10D2:DIVBXADDD1.,30HMOVNUMSIJ.D1.INCSICMPAX1OJZEXITMOVDX,0JMPD2EXIT:MOVAH.4CHINT21HCODEENDSENDSTART15 .从犍盘输入20个何符”数.将它们排序并在娜耶卜显示布DA

36、TASEGMENTNUMDW20DUP()t存放20个盯符号数ASCDB10DUPO:输出时切Fr保存母一个数的ASCH码DATAENDSCODESEGMENTASSUMECS:CODEQSQATASTARTMOVAX1DATAMOVDS.AXMOVCX.20MOVBXJOMOVS1.OMOVBP.0BEGIN:MOVDX1O1.输入20个仃符号数十进制),并A1:MOVAHJ:转化为:进制数存放于NUMAfHINT21HCMPA1.:C新是否空格JZA2CMPA1.OOH:是否网车符JZA2CMPA1.M是否JZA3JMPA4A3:MOVBP.1JMPA1A4PUSHAXMOVAX.DXMU

37、1.BXMOVDX.AXPOPAXSUBA1.,30HMOVAH1OADDDX.AXJMPA1A2CMPBP.1JNZA5NEGDX;若为负(,雌双负A5:MOVNUM(SI)tDXMOVBP.0ADDSI.21.OOPBEGINMOVD1.,OOH:回车换行MOVAH.2INT21HMOVD1.OAHINT21HMOVBX,0,20个。符号数按由小到大依次排序M0VCX.19:可。小泡法排序后依旧存放NUM数。1.1:MOVDX.CX1.2:MOVAX1.NUNqBX)CMPAX.NUMBX*2J1.EC0NT1XCHGAX.NUM(BX2MOVNUM(BX)tAXCONT1ADDBX.21

38、00P1.2MOVCX.DXMOVBX.01.OOP1.1MOVCX,20:格20个右符号数(二进制)转换为I进制数MOVSI.0I再转怏为AsCH码并输出解一D1:MOVAX.NUMSIADDS1.2TESTAX,10HJZD4PUSHAXMOVD1.,MOVAH.2INT21HPOPAXNEGAXD4:MOVDI.0MOVDX.0MOVBX.10D2:DIVBXADDD1.30HMOVASC,D1.INCD1.CMPAX1OJZD3MOVDX1OJMPD2D3:MOVD1.ASQDI-1MOVAH.2INT21HDECD1.JNZD3MOVD1.,MOVAH,2INT21H1.OOPD1

39、MOVAH.4CH:HDOSINT21HCODEENDSENDSTART16 .编写多字04符耳数的加法程序,从城次接收两个加数,在屏得上显示站来,答:DATASEGMENTSTRING1DB-1NPUTFIRSTNUM(HEX)TQDHQAHsSTRING2DB,1NPTSECONDNUM(HEX),0DH.0AH.,SSTRING3DB,THERESU1.TIS(HEX);.ODH.OAH.TNUM1DW0,0;存放加数1NUM2DW0.0:ftO1.ft2RESU1.TDB0.0,0,0:存放结果DATAENDSCODESEGMENTASSUMECS:CODE.DS:DATASTART:

40、MOVAXtDATAMOVDS.AX1.EADX.STRING1:输入第个加数4十六进制数)MOVAH.9INT21HMOVS1.2MOVCX.8CONTPUSHCXCMPCX.4JNZB1SUBS1.281: MOVC1.4SH1.NUM1(SI,C1.C1:MOVAH.1INT21HCMPA1.,OJBC1.CMPA1.FJAC1CMPA1.,AJBAISUBA1.7A1:SUBA1.30HMOVAH1OADDNUM1(S1,AXPOPCX1.OOPCONTMOVD1.1ODH:P1.车换行MOVAH.2INT21HMOVD1.tOAHINT21H1.EADX,STRING2:给人或次个加数(4位六进制散)MOVAH.9INT21HMOVS1.,2MOVCX.8CONTkPUSHCXCMPC.4JNZB2SUBS1.282: MOVC1.4SH1.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机应用/办公自动化

宁ICP备18001539号-1