东南大学微机作业_第1页
东南大学微机作业_第2页
东南大学微机作业_第3页
东南大学微机作业_第4页
东南大学微机作业_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

《微机系统与接口》课程作业2019-2020习题三〔3章〕设以下指令中的标识符均为字变量,请指出哪些8086/8088指令是非法的:〔1〕MOVAX,WORD1[DX] 〔2〕MOVWORD1,WORD2〔3〕MOVSWORD,DS 〔4〕MOVSP,DWORD[BX][SI]〔5〕MOV[BX][SI],CX 〔6〕MOVAX,WORD1+WORD2〔7〕MOVAX,WORD2+0FH 〔8〕MOVBX,OFFSETWORD1MOVSI,OFFSETWORD2[BX]解:〔1〕[]不能有DX原操作数和目的操作数不能都在存储器里正确正确正确两变量不能直接加正确正确OFFSET后接变量或标号WORD1及WORD2均为字变量,ADDITION为标号,请说明以下指令的错误之处:JMPADDITION[DI] 〔2〕JNZWORD2 〔3〕JMPFARADDITION解:两个地址表达式不能相加JNZ8位进展相对寻址,而word2是字变量应当加FARPTR试设计一个数据段DSEG,定义以下字符变量或数据变量:〔1〕FIRST为十六进制数字变量40202SECOND为二进制字节变量01011100;THIRD为十进制数字节变量64;〔4〕STRING为字符串变量‘ADDITIONPROCEDURE’;〔5〕ASCDATAASCII数字变量‘46782’;〔6〕TABL10个REPDATA为数字26重复5RESULT100的字变量。解:DESGSEGMENTFIRSTDW4020HSECONDDB01011100BTHIRDDB64STRINGDB‘ADDITIONPROCEDURE’ASCDATADB‘46782’TABLDW10DUP(?)REPDATADB5DUP(0,2,3,0,6)RESULTDB10DUP(0)DESGENDS1《微机系统与接口》课程作业2019-2020设有3个字变量的变量名及内容如下: VAR1 3C46H,VAR2 F678H,VAR30059H,试设计一个数据段定义这三个变量及其地址〔包括段地址和偏移地址〕表变量ADDRTBL。解:DATASEGMENTVAR1DW3C46HVAR2DW0F678HVAR3DW0059HDDVAR1DDVAR2DATAENDS设有数据定义语句如下:BUFFERDB7,9,6,‘796’VAR1DW?VAR2DD?LEN EQU VAR1-BUFFERLENMOVBUFFER变量的类型值、个数、字节总数、偏移地址和段地址送CPU存放器。解:LEN6MOVAX,TYPEBUFFERMOVBX,LENGTHBUFFERMOVCX,SIZEBUFFERMOVDX,OFFSETBUFFERMOVSI,SEGBUFFERX、Y、Z被赋值如下:XEQU60YEQU70ZEQU8试求以下表达式的值:〔1〕X*Y-Z 〔2〕X/8+Y 〔3〕X MOD〔Y/Z〕X*〔YMODZ〕 〔5〕XGEY 〔6〕YANDZ解:(1)X*Y-Z=60*70-8=4192=1060H(2)X/8+Y=60/8+70=77=004DH(3)XMOD(Y/Z)=60MOD8=0004H(4)X*(YMODZ)=60*6=360=0168H(5)XGEY=0000H(6)YANDZ=01000110AND00001000=00000000B=0000H**3题以上2《微机系统与接口》课程作业2019-2020在内存数据段从DATA1M个字,试编一程序求其中最大的数。如需求确定值最大的数,程序应如何修改?如为无符号数,求最大数的程序如何修改?解:DATASEGMENTDATA1DWMDUP(?);DATA1DW1DUP(0,1,-2,-3)MMAXDW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX;ANDDATA1,DATA1;JNSNEXT0;NEGDATA1;3行注释NEXT0:MOVMAX,DATA;maxCLDMOVSI,OFFSETDATA1MOVCX,MCAMP: LODSW;ANDAX,AX;JNSNEXT1;NEGAX;3行注释NEXT1:CMPAX,MAXJNGNEXT2;JBENEXT2;假设为无符号数,将JNG改为JBEMOVMAX,AXNEXT2:LOOPCAMPMOVAH,4CHINT21HCODEENDSENDSTART确定值最大结果:3《微机系统与接口》课程作业2019-2020试编写一汇编语言程序,要求将键盘输入的小写字母用大写字母显示出来。解:DATASEGMENTSTRING1DB0DH,0AH,”TheCapitalLetterYouInputis:”,0DH,0AH,”$”DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAMAINPROCFARSTART:MOVAX,DATAMOVDS,AXMOVAH,01HINT21HMOVDX,OFFSETSTRING1MOVAH,09HINT21HCMPAL,”a”JBNEXTCMPAL,”z”JANEXTSUBAL,20HNEXT: XCHGDL,ALMOVAH,02HINT21HMOVAH,4CHINT21HMAINENDPCODEENDSENDSTARTAX44位十六进制数分别转换成相应的ASCII码并依次存放到RESULT4程序〔过程〕的方法实现。解:DATASEGMENTRESULTDB4DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:CODEMAINPROCFARSTART:MOVBX,CODEMOVDS,BXMOVCL,44《微机系统与接口》课程作业2019-2020MOVBL,4MOVSI,OFFSETRESULTCHANGE:CALLCHASCMOV[SI],DLINCSISHRAX,CLDECBLJNZCHANGEEXIT: MOVAH,4CHINT21HMAINENDP;---------------CHASCPROCNEARMOVDL,ALANDDL,0FHCMPDL,9JBNEXTADDDL,37HRETNEXT: ADDDL,30HRETCHASCENDPCODEENDSENDSTARTAXFFFF:STRING1和STRING2所含字符是否完全一样,如一样则显示‘MATCH’,如不一样则显示‘NOTMATCH’。解:EXTDSEGMENTSTRING2DB100,100DUP(0)EXTDENDSDATASEGMENTSTRING1DB100,100DUP(0)STRING3DB0DH,0AH,”pleaseinputSTRING1:”,0DH,0AH,”$”STRING4DB0DH,0AH,”pleaseinputSTRING2:”,0DH,0AH,”$”STRING5DB0DH,0AH,”MATCH”,0DH,0AH,”$”STRING6DB0DH,0AH,”NOTMATCH”,0DH,0AH,”$”DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:EXTDSTART:5《微机系统与接口》课程作业2019-2020MOVAX,DATAMOVDS,AXMOVAX,EXTDMOVES,AXMOVDX,OFFSETSTRING3MOVAH,09HINT21HMOVDX,OFFSETSTRING1MOVAH,0AHINT21HMOVDX,OFFSETSTRING4MOVAH,09HINT21HMOVDX,OFFSETES:STRING2MOVAH,0AHINT21HCMPSSTRING1,STRING2;zf1不跳转JNZNTMOVDX,OFFSETSTRING5MOVAH,09HINT21HJMPEXITNT:MOVDX,OFFSETSTRING6MOVAH,09HINT21HEXIT: INT21HENDSTARTVA、VBVC80,则求出三数之和,存放在DSUM字单元中;如其中有一个数为0,则把其它两单元也清零。请编写此程序。解:DATASEGMENTVADB?VBDB?6《微机系统与接口》课程作业2019-2020VCDB?DSUMDW?DATAENDSCO

温馨提示

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

评论

0/150

提交评论