河北工业大学实验报告_第1页
河北工业大学实验报告_第2页
河北工业大学实验报告_第3页
河北工业大学实验报告_第4页
河北工业大学实验报告_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

河北工业大学实验报告汇编语言程序设计实验实验一次序与分支程序设计一、实验目的1)掌握次序程序设计方法。2)掌握分支程序的构造及分支程序的设计,调试方法。2)学习数据传递及算术和逻辑运算指令的用法。3)熟习在pc机上成立、汇编、连结、调试和运转汇编语言程序的过程。二、实验内容1)有一字变量BUF1是以原码表示的有符号数,要求将其变换为反码和补码,分别存入BUF2和BUF3单元,并在屏幕上显示出来。EXAM1-1DATABUF1BUF2BUF3DATACODESEGMENTDW9348HDW4DUP(0),0AH,0DH,‘$’DW4DUP(0),‘$’ENDSSEGMENTASSUMECS:CODE,DS:DATABEGIN:MOVAX,DATADS,AXAX,BUF1AX,0NEXTMOVMOVADDJSMOVBUF2,AXMOVBUF3,AXEEEJMPNEXT:ANDNOTAX,7FFFHAXMOVBUF2,AXINCAXMOVBUF3,AXEEE:MOVCX,0004HMOVMOVADDDI,OFFSETBUF2DX,[DI]DI,03BBB:MOVAX,DXAX,000FHAL,0AHANDCMP1/40

河北工业大学实验报告JBQQQADDAL,07HAL,30HQQQ:ADDMOVDEC[DI],ALDIPUSHCXMOVCL,04HDX,CLCXSHRPOPLOOPMOVBBBCX,0004HMOVMOVADDSI,OFFSETBUF3DX,[SI]SI,03HCCC:MOVAX,DXAX,000FHAL,0AHDDDANDCMPJBADDAL,07HAL,30HDDD:ADDMOVDEC[SI],ALSIPUSHCXMOVCL,04HSHRPOPDX,CLCXLOOPCCCMOVDX,OFFSETBUF2MOVAH,09HINT21HMOVDX,OFFSETBUF32/40

河北工业大学实验报告MOVINTAH,09H21HMOVINTAH,4CH21HCODEENDSENDBEGIN履行程序EXAM1-1·EXE,屏幕上显示结果:ECB7ECB82)有两个两字节无符号数分别放在储存单元A、B开端的缓冲器中,求其和,结果放在A开端的缓冲区并在屏幕上显示。相加如有进位不存入储存单元。EXAM1-2DATASEGMENTABDB34H,,18H2DUP(0),’$DB56H,83HDATAENDSCODESEGMENT3/40河北工业大学实验报告ASSUMECS:CODE,DS:DATASTART:MOVAX,DATADS,AXMOVMOVMOVADDMOVMOVADCMOVMOVMOVMOVAL,ABL,BAL,BLAH,A+1BH,B+1AH,BHA,ALA+1,AHCX,0004HDI,OFFSETADX,[DI]DI,03MOVADDNEXT:MOVANDAX,DXAX,000FHAL,0AHCMPJBQQQADDAL,07HQQQ:ADDAL,30HMOV[DI],ALDECDIPUSHCX4/40

河北工业大学实验报告MOVSHRPOPCL,04DX,CLCXLOOPNEXTMOVMOVINTDX,OFFSETAAH,09H21HMOVAH,4CHINT21HCODEENDSENDSTART履行程序EXAM1-2·EXE,屏幕上显示结果:9B8A3)在BUF和BUF+1、BUF+2单元分别放有一个无符号字节型数,编程序将此中最大数存入MAX单元,并在屏幕上显示。5/40河北工业大学实验报告STACKSEGMENTSTACKDB1024DUP(0)STACKENDSDATABUFSEGMENTDB70H,35H,1FHMAXDATACODEDB2DUP(?),‘$’ENDSSEGMENTASSUMECS:CODE,DS:DATA,SS:STACKBEGIN:MOVMOVAX,DATADS,AXAL,BUFAL,BUF+1LP1MOVCMPJNBMOVAL,BUF+1AL,BUF+2LP1:CMPJAEMOVLP2AL,BUF+2CX,02HDI,OFFSETMAXDL,ALDILP2:MOVMOVMOVINCLP3:ANDAL,0FHAL,0AHCMPJBLP4ADDLP4:ADDMOVAL,07HAL,30H[DI],ALDIDECPUSHCXMOVCL,046/40

河北工业大学实验报告SHRPOPDL,CLCXMOVAL,DLLOOPLP3MOVMOVINTDX,OFFSETMAXAH,09H21HMOVINTAH,4CH21HCODEENDSENDBEGIN履行程序EXAM1-3·EXE,屏幕上显示结果:704)要求同上,不过比较的数为有符号数。EXAM1-47/40河北工业大学实验报告STACKSEGMENTSTACKDB1024STACKENDSDATASEGMENTDUP(0)BUFDB98H,,75H32HDB2MAXDUP(?),‘$’DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKBEGIN:MOVAX,DATADS,AXAL,BUFAL,BUF+1LP1MOVMOVCMPJGXCHGAL,BUF+1AL,BUF+2LP2LP1:CMPJGXCHGLP2:MOVMOVAL,BUF+2MAX,ALCX,02HDI,OFFSETMAXDL,[DI]DIMOVMOVINCLP3:MOVAL,DLAL,0FHAL,0AHLP4ANDCMPJBADDAL,07HAL,30H[DI],ALDILP4:ADDMOVDECPUSHCXMOVCL,04SHRPOPDX,CLCXLOOPLP3MOVDX,OFFSETMAXMOVAH,09HINT21HMOVAH,4CHINTCODEENDSEND21HBEGIN履行程序EXAM1-4·EXE,屏幕上显示结果:8/40

河北工业大学实验报告755)将1000H单元开始的10个字节数,采纳奇偶校验,将奇数在前偶数在后仍存回原数据区。本实验要求在DEBUG调试状态下进行,包含汇编程序、运转程序、检查结果。EXAM1-5ORG2000H2000BE0010MOVSI,1000200320062008200B200D200F20112012BF09108A1480C2007B0B8615MOVMOVADDJPODI,1009DL,[SI]DL,002018XCHGMOVDECDL,[DI][SI],DL88144FDI39FECMPSI,DI20147407JE201D201620182019201B201DEBF046JMPINC2008SI8A14EBF5F4MOVJMPHLTDL,[SI]20129/40河北工业大学实验报告6)从键盘上接收一位十进制数x,计算y值,并以十六进制形式显示出来,y按以下公式计算。XXX(X3)222X(X4)YX(X5)2X/2(X26)实验六DATESEGMENTXDB?DATEENDSCODESEGMENT;数据段ASSUMECS:CODE,DS:DATESTART:MOVAX,DATEMOVDS,AX;代码段;初始化ds寄存器MOVAH,1INT21H;读文件到缓冲区;比较指令;A<BCMPAL,33HJBL010/40河北工业大学实验报告CMPAL,36HJAL0ANDAL,0FHMOVX,ALMOVAL,XCMPAL,3HJEL1;逻辑与指令;al给xL1;履行命令CMPAL,4HJEL4L4;履行命令CMPAL,5HJEL6L6命令;履行CMPAL,6HJEL7L7;履行命令L1:MULALADDAL,XL5:MOVBL,ALMOVCL,4SHRAL,CLCMPAL,9JLEL2;al+x;移位指令;转移指令。小于或等于,或许不大于则转移ADDAL,7L2:ADDAL,30HMOVDL,ALMOVAH,2INT21H;al加0x30寄存器;把2放入ah里ANDBL,0FHCMPBL,9JLEL3;逻辑与运算指令ADDBL,7L3:ADDBL,30HMOVDL,BLMOVAH,2INT21H;相加JMPL0L4:MULALSUBAL,XSUBAL,XJMPL5L6:MULALJMPL5L7:MULALSHRAL,1JMPL5L0:MOVAH,4CH11/40河北工业大学实验报告INT21HCODEENDSENDSTART7)实验内容:从键盘上接收两个一位十六进制数x和y,而后再输入一个a-d之间的一个字符,按以下要求计算。a)当输入字符为a,则计算x+y,并以十六进制形式显示出来b,b)当输入字符为则计算|x-y|,并以十六进制形式显示出来c,则c)当输入字符为计算x*y,并以十六进制形式显示出来当输入字符为d,则计算x/y,并以十六进制形式显示出来d)实验七DATASEGMENTXDB0YDB0WDB0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXXORAX,AXMOVAH,1INT21HCMPAL,39HJBEL1SUBAL,07HL1:SUBAL,30HMOVX,ALMOVAH,1INT21HCMPAL,39H12/40河北工业大学实验报告JBEL2SUBAL,07HL2:SUBAL,30HMOVY,ALMOVAH,1INT21HA:CMPAL,41HJNEBXORAL,ALMOVAL,XADDAL,YMOVW,ALJMPL3B:CMPAL,42HJNECXORAL,ALMOVAL,XSUBAL,YMOVW,ALCMPAL,0JGL3NEGALMOVW,ALJMPL3C:CMPAL,43HJNEDXORAL,ALMOVAL,XMULYMOVW,ALJMPL3D:XORAX,AXMOVAL,XDIVYMOVW,ALL3:MOVDL,ALMOVCL,4SHRDL,CLCMPDL,9JNAL4ADDDL,07HL4:ADDDL,30HMOVAH,02HINT21H13/40

河北工业大学实验报告MOVDL,WANDDL,0FHCMPDL,9JNAL5ADDDL,07HL5:ADDDL,30HMOVAH,02HINT21HMOVAH,4CHINT21HCODEENDSENDSTART实验七结果三、实验心得:(1)经过实验使我知道了和熟习了汇编程序设计的步骤1.成立数学模型碰到一个题目,第一要进行全面的剖析,依据问题提出的条件,特色,找出规律,找出问题的数学模型或许拟订解决问题的规律。2.绘制程序流程图流程图能够把比较抽象的问题变得而形象化,而且有助于理清楚思路,便于程序的编制,在程序的易读性和易保护性上有很大的帮助。3.合理分派储存空间和寄存器汇编语言能够直接的调用储存器和寄存器。程序运转时,大两量的数据,中间结果或最后的结果都寄存在储存器中,储器中,节俭空间是一个好的程序应当注意的问题。且运转的程序目标代码在存4.编制程序5.人工检查依据语法指令编制程序用人工的方式检查程序能否有错,并实时的更正。14/40河北工业大学实验报告6.上机调试只有经过上机才能考证程序能否正确,经过频频的运转调试,才能获得正确的程序。(2)掌握了分支程序的构造及分支程序的设计,调试方法和数据传递及算术和逻辑运算指令的用法。实验二循环与子程序程序设计一、实验目的1)加深对循环构造的理解。2)掌握循环程序的设计方法。3)学习子程序的定义和调用方法。4)掌握子程序、子程序的嵌套、递归子程序的构造。5)掌握子程序设计、编制及调试。6)娴熟掌握DEBUG的常用命令,学会用DEBUG调试程序。二、实验内容1)编制在屏幕上显示九九乘法表的程序。2)编制在屏幕上显示用*构成的三角形的程序。三、实验代码实验一DATASEGMENTS2DB?S1DB?XDB1YDB1SDB0AHFCH=2AHFDH=3DHFKG=20HFHH=0AHFHC=0DHDATAENDSSTACK1SEGMENTSTACKDB20HDUP(0)STACK1ENDS15/40

河北工业大学实验报告CODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1START:MOVAX,DATAMOVDS,AXMOVCL,9LL1:PUSHCXMOVCL,YLL2:;将CL压入货仓段CALLL1;L1调用子程序INCXLOOPLL2MOVX,1INCYMOVDL,FHHMOVAH,2INT21H;输出换行和回车MOVDL,FHCMOVAH,2INT21HPOPCX;从货仓段中拿出CLLOOPLL1MOVAH,4CHINT21H;程序结束L1PROC;计算X*Y=Z而且输X*Y=Z的子程序出MOVDL,XADDDL,30HMOVAH,2INT21HMOVDL,FCHMOVAH,2INT21HMOVDL,YADDDL,30HMOVAH,2INT21HMOVDL,FDHMOVAH,2INT21HMOVAL,XMULYDIVSMOVS1,AHADDAL,30H16/40

河北工业大学实验报告MOVDL,ALMOVAH,2INT21HADDS1,30HMOVDL,S1MOVAH,2INT21HMOVDL,FKGMOVAH,2INT21H;输出空格RETL1ENDP;子程序结束CODEENDSENDSTART实验二DATASEGMENTNDB?FCH=2AHFDH=3DHFKG=20HFHH=0AHFHC=0DHDATAENDSCODESSEGMENTASSUMECS:CODES,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAH,1;输入一位16进制数确立输出行数INT21HCMPAL,39HJBEL1SUBAL,07HL1:SUBAL,30HMOVN,ALXORBX,BXMOVDL,FCHMOVCL,NMOVDL,FHHMOVAH,2INT21H;输出换行和回车MOVDL,FHCMOVAH,2INT21HLOP:PUSHCXINCBLMOVCL,BL17/40

河北工业大学实验报告MOVDL,FCHLOP2:MOVAH,02HINT21HLOOPLOP2POPCXMOVDL,0AHMOVAH,02HINT21HMOVDL,FHCMOVAH,02HINT21HCMPBL,9JZL2LOOPLOPL2:MOVAH,4CHINT21H;程序结束CODESENDSENDSTART四、实验结果:实验一结果18/40河北工业大学实验报告实验二结果五、实验心得五、循环程序由初始化部分、循环部分、调整部分、控制部分构成1〉两种方式,一种是先判断在履行,另一种是先履行再判断。2〉两种控制循环的方式a〉计数控制循环一般使用LOOP指令,要先将循环的次数放入CX中,在多重循环的计数控制中要注保存和还原前一次循环的断点信息,在保存和还原时能够使用货仓进行办理。自以为能够理解为一根环绕了确立的圈数的绳索,又进入的头,又出去的尾。b〉条件控制循环一般使用JMP指令使程序跳到这一段的开头,用CMP在循环中进行比较判断,再依据程序要求,选择适合的转移条件,跳出循环。自以为能够理解为一圆形的导轨,并在导轨上设置一个初口,在切合条件时就在导轨上离开,不然,将会在导轨上向来的转下去。3〉再循环中能够同时使用二者,立刻已知循环的次数限制范围,但又要求在切合条件时结束循环是,就要同时使用二者。六、子程序的使用大大的简化了程序设计的思路,在达成一个程序时,能够简单的把一个程序区分为几个完好的几部分,使每一部分独立的达成特定的一部分和计算任务。19/40河北工业大学实验报告子程序的使用还能够大大的减小程序的体积,在一程序中,假如需要多次频频的是用某一段代码的话,就能够将这段代码设定为子程序,此后想使用时,只需一CALL再一RET就OK啦。我以为使用子程序的重点在于理解子程序的机理,理解子程序是如何保存和恢复断点的信息的,只有真实的理解了这一点才能更好地利用好子程序。子程序的参数传达的方式有好多种,可是在货仓段传达参数时,应当注意使用带立刻数的返回的方式,在利用寄存器BP接见货仓段来获得参数。实验三算术运算与代码变换程序设计一、实验目的1)掌握算术运算程序的设计方法。2)掌握代码变换程序的设计方法。3)进一4)娴熟掌握和使用用DEBUG调试程序。二、实验内容1)编制两个多字节整数加法和减法程序,并将结果按十六进制形式显示在屏幕上。步掌握各样程序构造。2)编写程序计算从键盘输入两个不超出四位的十进制数的和、差、积、商,并以十进制形式输出。3)编写程序把从键盘输入的以回车为结束符的字符串中的空格去掉并按相反的次序输出。三实验代码、实验1DATASEGMENTNUM1DB22H,33H,44H,55H,66H,77HNUM1LDB6HNUM2DB22H,22H,22H,22HNUM2LDB4HOUTCOME1DB10HDUP(0)OUTCOME2DB10HDUP(0)NDB0H20/40

河北工业大学实验报告DATAENDSSTACK1SEGMENTPARASTACKDW20HDUP(0)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1START:MOVAX,DATAMOVDS,AXMOVCH,0MOVSI,OFFSETNUM1MOVDI,OFFSETNUM2MOVAH,NUM1LMOVAL,NUM2LCMPAH,ALJAECHAXCHGSI,DIXCHGAH,ALCHA:SUBAH,ALMOVCL,ALCLCMOVBX,OFFSETOUTCOME1LOP1:MOVAL,[DI]PUSHCXMOVCL,[SI]ADCCL,ALMOV[BX],CLINCBXINCSIINCDIPOPCXLOOPLOP1MOVCL,AHJCXZLOP3LOP2:PUSHCXMOVCL,BYTEPTR[SI]ADCCL,0MOV[BX],CLPOPCXINCBXINCSILOOPLOP2LOP3:MOVCH,0MOVSI,OFFSETNUM1MOVDI,OFFSETNUM221/40

河北工业大学实验报告MOVAH,NUM1LMOVAL,NUM2LCMPAH,ALJAECHA1XCHGSI,DIXCHGAH,ALCHA1:SUBAH,ALMOVCL,ALCLCMOVBX,OFFSETOUTCOME2LOP11:MOVAL,[DI]PUSHCXMOVCL,[SI]SBBCL,ALMOV[BX],CLINCBXINCSIINCDIPOPCXLOOPLOP11MOVCL,AHJCXZLOP7LOP21:PUSHCXMOVCL,BYTEPTR[SI]SBBCL,0MOV[BX],CLPOPCXINCBXINCSILOOPLOP21LOP7:MOVDI,OFFSETOUTCOME1ADDDI,10HMOVCX,11HLOP4:MOVDL,[DI]DECDICMPN,0HJNELOP5CMPDL,0HJELOP9LOP5:PUSHDXPUSHCXMOVCL,4HSHRDL,CLPOPCX22/40

河北工业大学实验报告CMPDL,9HJBELOP6ADDDL,7HLOP6:ADDDL,30HMOVAH,2INT21HMOVN,1HPOPDXANDDX,0FHCMPDL,9HJBELOP8ADDDL,7HLOP8:ADDDL,30HMOVAH,2INT21HMOVDL,'H'MOVAH,2INT21HLOP9:LOOPLOP4MOVN,0MOVDI,OFFSETOUTCOME2ADDDI,10HMOVCX,11HLOP14:MOVDL,[DI]DECDICMPN,0HJNELOP15CMPDL,0HJELOP19LOP15:PUSHDXPUSHCXMOVCL,4HSHRDL,CLPOPCXCMPDL,9HJBELOP16ADDDL,7HLOP16:ADDDL,30HMOVAH,2INT21HMOVN,1HPOPDXANDDX,0FHCMPDL,9H23/40

河北工业大学实验报告JBELOP18ADDDL,7HLOP18:ADDDL,30HMOVAH,2INT21HMOVDL,'H'MOVAH,2INT21HLOP19:LOOPLOP14MOVAH,4CHINT21HCODEENDSENDSTART实验2DATASEGMENTTISHI1DB'Pleaseenterthefirstnumber:','$'TISHI2DB'Pleaseenterthesecondnumber:','$'JIADB'+','$'JIANDB'-','$'CHENGDB'*','$'CHUDB'/','$'DENGDB'=','$'YUDB'......','$'ADB10BDW10CDW10000FDW0HNUM1DW0HNUM2DW0HNDB0HN1DB4HDATAENDSSTACK1SEGMENTSTACKDW30HDUP(0)STACK1ENDSCODESSEGMENTASSUMECS:CODES,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETTISHI1MOVAH,09HINT21HLOOP2:MOVAX,NUM124/40

河北工业大学实验报告MULBMOVBX,AXMOVAH,1INT21HCMPAL,0DHJELOP1MOVNUM1,BXMOVAH,0SUBAL,30HADDNUM1,AXJMPLOOP2LOP1:MOVDL,0AHMOVAH,2;输出换行和回车INT21HMOVDL,0DHMOVAH,2INT21HMOVDX,OFFSETTISHI2MOVAH,09HINT21HLOOP1:MOVAX,NUM2MULBMOVBX,AXMOVAH,1INT21HCMPAL,0DHJELOP3MOVNUM2,BXMOVAH,0SUBAL,30HADDNUM2,AXJMPLOOP1LOP3:MOVDL,0AHMOVAH,2;输出换行和回车INT21HMOVDL,0DHMOVAH,2INT21HMOVN,0MOVDX,NUM1MOVF,DXLOP6:MOVDX,0HMOVAX,FDIVB25/40

河北工业大学实验报告PUSHDXINCNCMPAX,0HJELOP7MOVF,AXJMPLOP6LOP7:MOVCL,NMOVCH,0LOP16:POPDXADDDX,30HMOVAH,2INT21HLOOPLOP16MOVDX,NUM2MOVF,DXMOVN,0MOVDX,OFFSETJIAMOVAH,09HINT21HLOOOP6:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOOP7MOVF,AXJMPLOOOP6LOOOP7:MOVCL,NMOVCH,0LOOOP16:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOOP16MOVDX,OFFSETDENGMOVAH,09HINT21HMOVN,0LOOP3:MOVAX,NUM1ADDAX,NUM2MOVF,AXLOOP4:MOVDX,0HMOVAX,F26/40

河北工业大学实验报告DIVBPUSHDXINCNCMPAX,0HJELOOP5MOVF,AXJMPLOOP4LOOP5:MOVCL,NMOVCH,0LOOP0:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOP0MOVDL,0AHMOVAH,2INT21H;输出换行和回车MOVDL,0DHMOVAH,2INT21HMOVN,0MOVDX,NUM1MOVF,DXLOP61:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOP71MOVF,AXJMPLOP61LOP71:MOVCL,NMOVCH,0LOP161:POPDXADDDX,30HMOVAH,2INT21HLOOPLOP161MOVDX,NUM2MOVF,DXMOVN,0MOVDX,OFFSETJIANMOVAH,09H27/40

河北工业大学实验报告INT21HLOOOP61:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOOP71MOVF,AXJMPLOOOP61LOOOP71:MOVCL,NMOVCH,0LOOOP161:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOOP161MOVDX,OFFSETDENGMOVAH,09HINT21HMOVN,0MOVN,0MOVAX,NUM1SUBAX,NUM2MOVF,AXANDAX,10000000BCMPAX,10000000BJNELOOP6NEGFLOOP6:MOVDX,0MOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOP7MOVF,AXJMPLOOP6LOOP7:MOVCL,NMOVCH,0LOOP16:POPDXADDDX,30HMOVAH,2INT21H28/40

河北工业大学实验报告LOOPLOOP16MOVDL,0AH;输出换行和回车MOVAH,2INT21HMOVDL,0DHMOVAH,2INT21HMOVN,0MOVDX,NUM1MOVF,DXLOP62:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOP72MOVF,AXJMPLOP62LOP72:MOVCL,NMOVCH,0LOP162:POPDXADDDX,30HMOVAH,2INT21HLOOPLOP162MOVDX,NUM2MOVF,DXMOVN,0MOVDX,OFFSETCHENGMOVAH,09HINT21HLOOOP62:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOOP72MOVF,AXJMPLOOOP62LOOOP72:MOVCL,NMOVCH,0LOOOP162:POPDX29/40

河北工业大学实验报告ADDDX,30HMOVAH,2INT21HLOOPLOOOP162MOVDX,OFFSETDENGMOVAH,09HINT21HMOVN,0MOVAX,NUM1MULNUM2DIVCPUSHDXMOVF,AXMOVN,0LOOP8:MOVDX,0MOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOP9MOVF,AXJMPLOOP8LOOP9:MOVCL,NMOVCH,0LOOP17:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOP17MOVN,0POPFLOOP10:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOP11MOVF,AXJMPLOOP10LOOP11:MOVAL,NCMPAL,4HJELOOP2030/40

河北工业大学实验报告MOVAL,4HSUBAL,NMOVCL,ALMOVCH,0LOOP19:MOVDX,'0'MOVAH,2INT21HLOOPLOOP19LOOP20:MOVCL,NMOVCH,0LOOP18:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOP18MOVDL,0AHMOVAH,2INT21H;输出换行和回车MOVDL,0DHMOVAH,2INT21HMOVN,0MOVDX,NUM1MOVF,DXLOP64:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOP74MOVF,AXJMPLOP64LOP74:MOVCL,NMOVCH,0LOP164:POPDXADDDX,30HMOVAH,2INT21HLOOPLOP164MOVDX,NUM2MOVF,DXMOVN,0MOVDX,OFFSETchu31/40

河北工业大学实验报告MOVAH,09HINT21HLOOOP64:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOOP74MOVF,AXJMPLOOOP64LOOOP74:MOVCL,NMOVCH,0LOOOP164:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOOP164MOVDX,OFFSETDENGMOVAH,09HINT21HMOVN,0MOVAX,NUM1MOVDX,0DIVNUM2PUSHDXMOVF,AXMOVN,0LOOP15:MOVDX,0MOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOP12MOVF,AXJMPLOOP15LOOP12:MOVCL,NMOVCH,0LOOP21:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOP2132/40

河北工业大学实验报告MOVDX,OFFSETYUMOVAH,09HINT21HPOPFMOVN,0LOOP13:MOVDX,0MOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOP14MOVF,AXJMPLOOP13LOOP14:MOVCL,NMOVCH,0HLOOP22:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOP22MOVAH,4CHINT21HCODESENDSENDSTART实验3DATASEGMENTLENGDW0HDATAENDSSTACK1SEGMENTPARASTACKDW30HDUP(0)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1START:MOVAX,DATAMOVDS,AXLOOP1:MOVAH,1INT21HCMPAL,20HJELOOP1INCLENGMOVAH,0PUSHAX33/40

河北工业大学实验报告CMPAL,0DHJNELOOP1MOVDL,0AHMOVAH,2INT21H;输出换行和回车MOVDL,0DHMOVAH,2INT21HPOPDXDECLENGMOVCX,LENGLOOP2:POPDXMOVAH,2INT21HLOOPLOOP2MOVAH,4CHINT21HCODEENDSENDSTART四实验结果实验1结果34/40河北工业大学实验报告实验2结果实验3结果五实验心得1.计算机中办理的信息不全部是数,有时需要办理字符或字符串,所以,计算机中一定能表示字符。ask值表示这些字符在计算机顶用二进制表示,最常用的是1〉当我们利用指令MOVAH,1HINT21H输入数字时,所获得寄存在AL中的其实不数字自己,而是相对应的ask值,所以,在输入后需要对字符进行深加工后才能够使用,有时还需要经过判断来决定对字符串的办理方式。2〉当程序运转获得结果时,我们在输出结果时,依旧要获得相对应的ask值以后才能输出,在变换为相对应的ask值时,依旧要经过判断来决定办理的方式,比如,在以十六进制输出结果时,就要判断是加上30H仍是加上37H。而后将ask值放DL中,再利用MOVAH,2H35/40河北工业大学实验报告INT21H输出。3.将输入的一段字符串反序输出时,我以为货仓是最好的选择,由于货仓是‘先进后出’的原则,所以最初输入的最后输出。实验五输入输出程序设计一、实验目的1)掌握输入输出2)熟习系统功能调用的程序的编写方法。方法。3)熟习动画程序的编写方法。二、实验内容1)编制字母着落一行的子程序,调用该子程序使字母从屏幕顶部着落究竟部。2)编写程序将屏幕切割成格状,每一格涂上不一样颜色,格数从键盘输入。三、实验代码实验一DATASEGMENTTIMERDW18COLORDB00000100BSTR1DB'NICETOMEETYOU!'DATAENDSSTACK1SEGMENTSTACKDW100DUP(?)STACK1ENDSCODESEGMENTASSUMEDS:DATA,CS:CODE,SS:STACK1,ES:DATASTART

温馨提示

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

评论

0/150

提交评论