资源描述:
《编写程序讲解学习.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、编写程序精品文档3.22试编写一程序求出双字长数的绝对值。双字长数在A和A+2单元中,结果存放在B和B+2单元中。答:程序段如下:MOVAX,AMOVDX,A+2CMPDX,0JNSZHENSHU;不是负数则转走NEGDXNEGAXSBBDX,0ZHENSHU:MOVB,AXMOVB+2,DXINT20H3.30编写程序段,把字符串STRING中的‘&’字符用空格符代替。STRINGDB‘ThedateisFEB&03’答:程序段如下:MOVCX,18MOVAL,‘&’CLDMOVDI,SEGSTRINGMOVES,DI;ES段基地址LEA
2、DI,STRINGREPNESCASB;不相等重复JNENEXT;相等跳转DECDIMOVES:BYTEPTR[DI],‘’;送空格符NEXT:┇3.31假设数据段中数据定义如下:STUDENT_NAMEDB30DUP(?)STUDENT_ADDRDB9DUP(?)PRINT_LINEDB132DUP(?)分别编写下列程序段:(1)用空格符清除PRINT_LINE域。(2)在STUDENT_ADDR中查找第一个‘-’。(3)在STUDENT_ADDR中查找最后一个‘-’。(4)如果STUDENT_NAME域中全是空格符时,填入‘*’。(5)
3、把STUDENT_NAME移到PRINT_LINE的前30个字节中,把STUDENT_ADDR移到PRINT_LINE的后9个字节中。答:公共的程序段如下:MOVDI,DSMOVES,DI(1)MOVCX,132MOVAL.,‘’收集于网络,如有侵权请联系管理员删除精品文档;空格的ASCII码送AL寄存器CLDLEADI,PRINT_LINEREPSTOSB(2)MOVCX,9MOVAL.,‘-’CLDLEADI,STUDENT_ADDRREPNESCASBJNENO_DASHDECDINO_DASH:┇(3)MOVCX,9MOVAL.,‘
4、-’STDLEADI,STUDENT_ADDRADDDI,9-1REPNESCASBJNENO_DASHINCDINO_DASH:┇(4)MOVCX,30MOVAL,‘’;空格的ASCII码送AL寄存器CLDLEADI,STUDENT_NAMEREPESCASBJNENEXTMOVCX,30MOVAL,‘*’;“*”的ASCII码送AL寄存器LEADI,STUDENT_NAMEREPSTOSBNEXT:┇(5)MOVCX,30CLDLEASI,STUDENT_NAMELEADI,PRINT_LINEREPMOVSBMOVCX,9STDLEA
5、SI,STUDENT_ADDR+9-1LEADI,PRINT_LINE+132-1REPMOVSB收集于网络,如有侵权请联系管理员删除精品文档3.32编写一程序段:比较两个5字节的字符串OLDS和NEWS,如果OLDS字符串不同于NEWS字符串则执行NEW_LESS;否则顺序执行程序。答:程序段如下:MOVCX,5CLDMOVDI,SEGOLDSMOVDS,DIMOVES,DILEASI,OLDSLEADI,NEWSREPECMPSBJNENEW_LESS┇NEW_LESS:┇3.47请编写一程序段,要求把ECX、EDX和ESI的内容相加,
6、其和存入EDI寄存器中(不考虑溢出)。答:MOVEDI,0也可为:MOVEDI,ECXADDEDI,ECXADDEDI,EDXADDEDI,EDXADDEDI,ESIADDEDI,ESI3.49试编写一程序段,要求把BL中的数除以CL中的数,并把其商乘以2,最后的结果存入DX寄存器中。答:MOVAL,BLMOVAH,0;假定为无符号数,否则用CBW指令即可DIVCLMOVAH,0SHLAX,1;逻辑左移1位MOVDX,AX原(BP)低字节原(BP)高字节存储器002EH002FH0030H0031H0032H0033H0034H0035H0
7、036H0037H0038H0039H003AH003BH003CH003DH003EH003FH0040H堆栈帧原(SP)新(BP)新(SP)3.52题的答案3.51试编写一程序段,要求在长度为100H字节的数组中,找出大于42H的无符号数的个数并存入字节单元UP中;找出小于42H的无符号数的个数并存入字节单元DOWN中。答:JMPBEGIN;无条件转移UPDB0DOWNDB0TABLEDB100HDUP(?);数组BEGIN:MOVCX,100HMOVBX,-1;数组下标MOVSI,0MOVDI,0L1:INCBX收集于网络,如有侵权请
8、联系管理员删除精品文档CMPTABLE[BX],42HJAL2;高于JBL3;低于JMPL4;否则跳到L4L2:INCSI;UPJMPL4L3:INCDI;DOWNL4:LOOP