




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第4章汇编语言程序设计4.1请分别用DB、DW、DD伪指令写出在DATA开始的连续8个单元中依次存放数据11H、22H、33H、44H、55H、66H、77H、88H的数据定义语句.解:DB,DW,DD伪指令分别表示定义的数据为字节类型、字类型及双字型.其定义形式为:DATADB11H,22H,33H,44H,55H,66H,77H,88HDATADW2211H,4433H,6655H,8877HDATADD44332211H,88776655H4.2若程序的数据段定义如下,写出各指令语句独立执行后的结果:DSEGSEGMENTDATA1DB10H,20H,30HDATA2DW10DUP(?)STRINGDB123DSEGENDS(1)MOVAL,DATA1(2)MOVBX,OFFSETDATA2(3)LEASI,STRINGADDDI,SI解:取变量DATA1的值.指令执行后,(AL)=10H.变量DATA2的偏移地址.指令执行后,(BX)=0003H.,2,(3)先取变量STRING的偏移地址送寄存器SI,之后送SI的内容与DI的内容相加并将结果送DI.指令执行后,(SI)=0017H;(DI)=(DI)+0017H.4.3试编写求两个无符号双子长数之和的程序.两数分别在MEM1和MEM2单元中,和放在SUM单元.解:DSEGSEGMENTMEM1DW1122H,3344HMEM2DW5566H,7788HSUMDW2DUP(?)DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AXLEABX,MEM1LEASI,MEM2LEADI,SUMMOVCL,2CLCAGAIN:MOVAX,BX,3,ADCAX,SIMOVDI,AXADDBX,2ADDSI,2ADDDI,2LOOPAGAINHLTCSEGENDSENDSTART4.4试编写程序,测试AL寄存器的第4位(bit4)是否为0?解:测试寄存器AL中某一位是否为0,可使用TEST指令、AND指令、移位指令等几种方法实现。如:TESTAL,10HJZNEXT.NEXT:或者:MOVCL,4SHLAL,CLJNCNEXT.NEXT:,4,4.5试编写程序,将BUFFER中的一个8位二进制数转换为ASCII码,并按位数高低顺序存放在ANSWER开始的内存单元中。解:DSEGSEGMENTBUFFERDB?ANSWERDB3DUP(?)DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AXMOVCX,3;最多不超过3为十进制数(255)LEADI,ANSWER;DI指向结果存放单元XORAX,AXMOVAL,BUFFER;取要转换的二进制数MOVBL,0AH;基数10AGAIN:DIVBL;用除10取余的方法转换ADDAH,30H;十进制数转换成ASCII码MOVDI,AH;保存当前的结果INCDI;指向下一个位保存单元,5,ANDAL,AL;商为0?(转换结束?)JZSTO;若结束,退出MOVAH,0LOOPAGAIN;否则循环继续STO:MOVAX,4C00HINT21H;返回DOSCSEGENDSENDSTART4.6假设数据项定义如下:DATA1DBHELLO!GOODMORNING!DATA2DB20DUP(?)用串操作指令编写程序段,使其分别完成以下功能:(1)从左到右将DATA1中的字符串传送到DATA2中。(2)传送完后,比较DATA1和DATA2中的内容是否相同。(3)把DATA1中的第3和第4个字节装入AX。(4)将AX的内容存入DATA2+5开始的字节单元中。解:(1)MOVAX,SEGDATA1MOVDS,AXMOVAX,SEGDATA2,6,MOVES,AXLEASI,DATA1LEADI,DATA2MOVCX,20CLDREPMOVSB(2)LEASI,DATA1LEADI,DATA2MOVCX,20CLDREPECMPSB。(3)LEASI,DATA1ADDSI,2LODSW(4)LEADI,DATA2ADDDI,5STOSW,7,4.7执行下列指令后,AX寄存器的内容是多少?TABLEDW10,20,30,40,50ENTRYDW3.MOVBX,OFFSETTABLEADDBX,ENTRYMOVAX,BX解:(AX)=1E00H4.8编写程序段,将STRING1中的最后20个字符移到STRING2中(顺序不变)。解:首先确定STRING1中字符串的长度,因为字符串的定义要求以$符号结尾,可通过检测$符确定出字符串的长度,设串长度为COUNT,则程序如下:LEASI,STRING1LEADI,STRING2ADDSI,COUNT-20MOVCX,20CLDREPMOVSB,8,4.9假设一个48位数存放在DX:AX:BX中,试编写程序段,将该48位数乘以2.解:可使用移位指令来实现。首先将BX内容逻辑左移一位,其最高位移入进位位CF,之后AX内容带进位位循环左移,使AX的最高位移入CF,而原CF中的内容(即BX的最高位)移入AX的最低位,最后再将DX内容带进位位循环左移一位,从而实现AX的最低位移入DX的最低位。SHLBX,1RCLAX,1RCLDX,14.10试编写程序,比较AX,BX,CX中带符号数的大小,并将最大的数放在AX中。解:比较带符号数的大小可使用符号数比较指令JG等。CMPAX,BXJGNEXT1XCHGAX,BXNEXT1:CMPAX,CXJGSTOMOVAX,CXSTO:HLT4.11若接口03F8H的第1位(b1)和第3位(B3)同时为1,表示接口03FBH有准备好的8位数据,当CPU将数据取走后,b1和b3就不再同时为1了。仅当又有数据准备好时才再同时为1。试编写程序,从上述接口读入200字节的数据,并顺序放在DATA开始的地址中。,9,解:即当从输入接口03F8H读入的数据满足11B时可以从接口03FBH输入数据。LEASI,DATAMOVCX,200NEXT:MOVDX,03F8HWAIT:INAL,DXANDAL,0AH;判断b1和b3位是否同时为1CMPAL,0AHJNZWAIT;b1和b3位同时为1则读数据,否则等待MOVDX,03FBHINAL,DXMOVSI,ALINCSILOOPNEXTHLT4.12画图说明下列语句分配的存储空间及初始化的数据值。(1)DATA1DBBYTE,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北京师范大学淮南实验学校教师招聘9人(安徽)模拟试卷及参考答案详解一套
- 2025年上半年临沂市公安机关招录警务辅助人员(72名)考前自测高频考点模拟试题及1套参考答案详解
- 2025年昆明市法院系统招聘真题
- 2024年江苏南京财经大学招聘真题
- 2025年德阳市事业单位公开考试招聘工作人员笔试模拟试卷附答案详解(模拟题)
- 2025桂林银行校园招聘考前自测高频考点模拟试题及答案详解(网校专用)
- 2025广东深圳大学文化产业研究院张振鹏教授博士后招聘1人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025年《中国烟草》杂志社有限公司(中国烟草总公司传媒中心)招聘考前自测高频考点模拟试题完整答案详解
- 2025年4月西安图书馆就业见习人员招聘(15人)模拟试卷及1套完整答案详解
- 2025福建福州市罗源县城市管理和综合执法局协管员招聘4人模拟试卷附答案详解(典型题)
- 舟山海域赤潮发生特点及成因分析
- 湿陷性黄土湿陷量计算表
- 丝杠安全操作保养规定
- 体育测量与评价PPT课件-第九章 运动员选材的测量与评价
- 在课堂教学中寻找发展学生科学思维的生长点课件
- 《情满今生》读书笔记模板
- 胸痛中心网络医院STEMI患者绕行急诊和CCU方案流程图
- 大众蔚揽保养手册
- 急危重病人营养与代谢支持
- GB/T 7216-2009灰铸铁金相检验
- GB/T 5796.3-1986梯形螺纹基本尺寸
评论
0/150
提交评论