汇编语言程序例题(共11页).doc
《汇编语言程序例题(共11页).doc》由会员分享,可在线阅读,更多相关《汇编语言程序例题(共11页).doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上【例5.1】试编写一程序计算以下表达式的值。=(v-(*+-540)/x 式中x、v均为有符号字数据。 设、的值存放在字变量、V中,结果存放在双字变量之中,程序的流程图如图5.1所示。DATA SEGMENTXDW200YDW100ZDW3000VDW10000WDW2 DUP(?)DATA ENDSSTACK SEGMENT STACK DB 200 DUP(0)STACK ENDSCODE SEGMENTASSUME DS:DATA,CS:CODE,SS:STACKSTART:MOVAX,DATAMOVDS,AX;DATAAXMOVAX,X IMUL Y;(X)*
2、(Y)DX:AXMOVCX,AXMOVBX,DX;(DX:AX)(BX:CX)MOVAX,ZCWD;(Z)符号扩展ADDCX,AXADCBX,DX;(BX:CX)+(DX:AX)(BX:CX)SUBCX,540SBBBX,0;(BX:CX)-540(BX:CX)MOVAX,V CWD;(V)符号扩展SUB AX,CXSBB DX,BX;(DX:AX)-(BX:CX)(DX:AX)IDIV X;(DX:AX)/XMOV W,AX;商WMOV W+2,DX;余数DXW+2MOV AH,4CHINT 21HCODE ENDS;退出DOS 状态END START 【例5.2】已知某班学生的英语成绩按学
3、号(从1开始)从小到大的顺序排列在TAB表中,要查的学生的学号放在变量NO中,查表结果放在变量ENGLISH中。编写程序如下:STACK SEGMENT STACKDB200 DUP(0)STACK ENDSDATA SEGMENTTABDB 80,85,86,71,79,96 DB 83,56,32,66,78,84NODB 10ENGLISTDB ?DATA ENDSCODE SEGMENTASSUME DS:DATA,SS:STACK,CS:CODEBEGIN:MOVAX,DATAMOVDS ,AXLEABX,TAB MOVAL,NODELALXLATTABMOVENGLISH,ALMO
4、VAH,4CHINT21HCODE ENDSENDBEGIN【例5.3】已知在内存中有一个字节单元NUM,存有带符号数据,要求计算出它的绝对值后,放入RESULT单元中。 题目分析:根据数学中绝对值的概念知道,一个正数的绝对值是它本身,而一个负数的绝对值是它的相反数;要计算一个数的相反数,需要完成减法运算,即用0减去这个数。8086/8088指令系统中有专门的求相反数的指令NEG。DATASEGMENT X DB -25 RESULT DB ?DATAENDSCODESEGMENT ASSUME DS:DATA,CS:CODESTART:MOVAX,DATA MOVDS,AX ;初始化 MOV
5、AL,X ;X取到AL中TEST AL,80H ;测试AL正负 JZ NEXT ;为正,转NEXT NEG AL ;否则AL求补NEXT:MOV RESULT,AL;送结果 MOV AH,4CH INT 21H ;返回DOSCODEENDS END START【例5.4】编写计算下面函数值的程序: 1X0Y=0X=0 -1X0 设输入数据为X、输出数据Y,且皆为字节变量。程序流程图如下图所示。DATA SEGMENT X DB -25 Y DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX ;初
6、始化 MOV AL,X ;X取到AL中CMPAL,0;Al中内容和0比较JGEBIG;大于等于0,转BIGMOVBL,-1;否则为负数,1送BLJMPEXIT;转到结束位置BIG: JEEE;Al中内容是否为0,为0转EEMOVBL,1;否则为大于0,1送BLJMPEXIT;转到结束位置EE:MOVBL,0;0送BLEXIT: MOV Y,BL;BL中内容送Y单元 MOV AH,4CH INT 21H;程序结束CODE ENDS END START;汇编结束【例5.5】试编一程序,求三个带符号字数据中的最大值,并将最大值存入MAX字单元中。设三个带符号数分别在三个字变量X、Y、Z中存储。程序流
7、程图如下图所示STACKSEGMENT STACK DB 200 DUP(0)STACKENDSDATASEGMENTX DW 00ABHY DW 5Z DW 200MAXDW ?DATAENDSCODESEGMENTASSUME DS:DATA,SS:STACK,CS:CODE START:MOVAX,DATA MOVDS,AX MOVAX,X CMPAX,Y;XY? JGL1 MOVAX,Y;YZ? CMPAX,Z JGEXITL2: MOVAX,Z JMPEXITL1:CMPAX,Z;XZ?JLEL2EXIT:MOVMAX,AX MOVAH,4CH INT21HCODEENDSENDST
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序 例题 11
限制150内