汇编语言程序设计(习题).ppt

上传人:牧羊曲112 文档编号:6586401 上传时间:2023-11-15 格式:PPT 页数:15 大小:274KB
返回 下载 相关 举报
汇编语言程序设计(习题).ppt_第1页
第1页 / 共15页
汇编语言程序设计(习题).ppt_第2页
第2页 / 共15页
汇编语言程序设计(习题).ppt_第3页
第3页 / 共15页
汇编语言程序设计(习题).ppt_第4页
第4页 / 共15页
汇编语言程序设计(习题).ppt_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《汇编语言程序设计(习题).ppt》由会员分享,可在线阅读,更多相关《汇编语言程序设计(习题).ppt(15页珍藏版)》请在三一办公上搜索。

1、,P189 4.10下面的程序是实现从键盘输入十个一位10进制数后累加。最后累加和以非压缩BCD码形式存放在AH(高位)和AL(低位)中。试把程序段中所空缺的指令填上。,XORBX,BX LOP:MOVAH,01HINT 21H MOVAH,BHADDAL,BLMOVBX,AXLOOP LOP,第三章 汇编语言程序设计,MOVCX,10,DAA,ANDAL,0FH;纠错,P189 4.11下面的程序段的功能是把DA1数据区的数09转换为ASCII码。试完善本程序段。,DA1DB 00H,01H,02H,03H,04H,05HDB06H,07H,08H,09HASCIDB10H DUP(?)CO

2、NT=ASCI-DA1LEASI,DA1LEADI,ASCILOP1:MOVAL,SIMOVDI,ALINCSIINCDILOOPLOP1,第三章 汇编语言程序设计,MOVCX,CONT,ORAL,30H,P190 4.12,BUFFDBABD$QC%$AXYZCONTEQU$-BUFFCLDLEADI,BUFFMOVCX,CONTMOVAL,$XORDX,DXNEXT:REPNZSCASB;搜索BUFF中的“$”CMPCX,0JZK1INCDX;”$”的个数加1 JMPNEXTK1:上述程序段运行后,DX中的值表示的意义是什么?,第三章 汇编语言程序设计,DX中是$出现的次数。,P190 4

3、.13设A,B是长度为10的字节数组,用串操作指令编写程序实现AB两数组的内容相互交换,试完善本程序。,DATASEGMENTADB1,2,3,4,5,6,7,8,9,0AHORG0010HBDB0AH,9,8,7,6,5,4,3,2,1DATAENDSLEASI,ALEADI,BMOVCX,10LOP:LODSBXCHGAL,DIDECDISTOSBINCDILOOPLOP,第三章 汇编语言程序设计,P191 4.14现有一子程序:,第三章 汇编语言程序设计,(1)当AL 0且BL 0AL,BL不变当AL 0且BL 0AL,BL交换当AL 0且BL 0AL,BL不变当AL 0且BL 0AL,

4、BL交换结论:AL,BL为相反数交换,同号则不变,(2)AL与BL为相反数相互交换,AL=77HBL=9AH,DATASEGMENTBUFDB58HASCDB?,?DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATA,P192 4.19编写一完整源程序,将BUF字节单元存放的两位BCD码,转换为2字节的ASCII码,并分别存放在ASC和ASC+1字节单元中。,第三章 汇编语言程序设计,START:MOVAX,DATAMOVDS,AXMOVAL,BUFMOVCL,4SHRAL,CLORAL,30HMOVASC,ALMOVAL,BUFANDAL,0FHORAL,30H

5、MOVASC+1,ALMOVAH,4CHINT21HCODEENDSENDSTART,P192 4.20在A1单元开始定义了一长度为N的字符串,找出其中所有的小写字母存入到以A2开始的存贮区中。统计出小写字母的个数,存放到SL单元中。请编一完整的源程序。数据段如下:,DATASEGMENTA1DBASdDpKrJadldjFefASDEFNEQU$-A1A2DBN DUP(?)SLDB?DATAENDS,第三章 汇编语言程序设计习 题 课,DATASEGMENTA1DBASdDpKrJadldjFefASDEFNEQU$-A1A2DBN DUP(?)SLDB?DATAENDS,CODESEGM

6、ENTASSUMECS:CODE,DS:DATASTART:MOVDX,DATAMOVDS,DXLEASI,A1LEADI,A2MOVCX,NLOP:MOVAL,SICMPAL,zJANEXTCMPAL,aJBNEXTMOVDI,ALINCDIINCSLNEXT:INCSILOOPLOP,MOVAH,4CHINT21HCODEENDSENDSTART汇编连接EXA31,P192 4.20简化段伪指令.MODELSMALL.DATAA1DBAbcdaEFghN=$-A1A2DBNDUP(?)SLDB?.STACK.CODE.STARTUPLEASI,A1LEADI,A2MOVCX,NLOP:MO

7、VAL,SIINCSICMPAL,z;大于zJANEXTCMPAL,a;小于aJBNEXTMOVDI,ALINCDINEXT:LOOPLOPSUBDI,OFFSETA2MOVWORD PTR SL,DI.EXITEND,P192 4.21设在DAT单元存放一个-9+9的字节数据,在SQRTAB的数据区中存放09平方值,请用直接查表方法编写一个子程序,在SQRTAB中查找出DAT单元中数据对应的平方值送SQR单元。并写出主程序的调用方式。数据段如下:,DATASEGMENTDATDB-8SQRTABDB0,1,4,9,16,25,36,49,64,81SQRDB?DATAENDS,第三章 汇编语

8、言程序设计习 题 课,DATASEGMENTDATDB-8SQRTABDB0,1,4,9,16,25,36,49,64,81SQRDB?DATAENDS,第三章 汇编语言程序设计,CODESEGMENTASSUME CS:CODE,DS:DATAMAINPROCSTART:MOVAX,DATAMOVDS,AXLEABX,SQRTABMOVAL,DATCALLSQRPMOVSQR,ALMAINENDPMOVAH,4CHINT21HSQRPPROCCMP AL,0JGE NEXTNEG ALNEXT:XLAT,RETSQRPENDPCODEENDSENDSTART,P1924.21简化段伪指令.M

9、ODELSMALL.STACK.DATADATDB4SQRTABDB0,1,4,9,16,25,36,49,64,81SQRDB?.CODE.STARTUPMAINPROCLEABX,SQRTABMOVAL,DATCALLSQRPMOVSQR,ALMAINENDP.EXITSQRPPROCCMP AL,0JGE NEXTNEG ALNEXT:XLATRETSQRPENDPEND,P192 4.22编写能完成下列要求的程序:测试字节数据STATUS,若其中位1、3、5有一位是“1”,程序转至ROUT1,若有二位是“1”,程序转至ROUT2,若三位都是“1”,程序转至ROUT3;若这三位没有一位是

10、“1”,程序转至ROUT4。,DATASEGMENTSTATUSDBROUTDWROUT4,ROUT1DWROUT2,ROUT3DATAENDS,第三章 汇编语言程序设计,START:MOVDX,DATAMOVDS,DXMOVSI,0MOVCX,3MOVDL,STATUSNEXT:SHRDL,1SHRDL,1JNCCF1INCSICF1:LOOP NEXTLEABX,ROUTSALSI,1JMPBX+SIEXIT:MOVAH,4CHINT21H,第三章 汇编语言程序设计,ROUT1:MOV AL,1JMP EXITROUT2:MOV AL,2JMP EXITROUT3:MOV AL,3JMP EXITROUT4:MOV AL,4JMP EXITCODE ENDSENDSTART,汇编连接EXA32,DATASEGMENTSTATUSDB1100 1010BROUTDW ROUT4,ROUT1,ROUT2,ROUT3 DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号