东南大学信息学院微机实验报告三_第1页
东南大学信息学院微机实验报告三_第2页
东南大学信息学院微机实验报告三_第3页
东南大学信息学院微机实验报告三_第4页
全文预览已结束

下载本文档

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

文档简介

实验3简单编程练习姓名:学号:1 .在一个数据块中找到最大数目。假定存在数据22、46、32、72、84、16为无符号的正整数,则块的长度位于CX寄存器中且以MAXN为符号的单元存储最大数目。程序:资料区段num db 22、46、32、72、84、16MAXN DB?数据结束MAIN SEGMENTassume cs :主,ds :数据START:MOV AX,DATAMOV DS、AX; 将DATA地址传输到DSMOV CX,5; 将长度5传送到CXMOV AL,00; 使AL为0LEA BX,NUM; 将NUM的偏移地址转发到BXAGAIN:战斗机MOV AL、BXCMP AL,BX 1JNBE NEXTMOV AL、SI 1MOV MAXN,AL; 比较NUM的数量,并将较大的数量传递给MAXNNEXT:INC BXMOV MAXN,ALLOOP AGAIN; 重复AGAIN选出的最大数MAIN ENDS结束开始结果: DS:0006=54H2 .获得无符号字节数据的和,并且该和是8比特的二进制数。假设存在数据38、55、26、12、23,可将数据块的长度存储在CX寄存器中,并且将总和数据存储在以SUM为符号的单元中。程序:资料区段num db 38、55、26、12、23SUM DB?数据结束MAIN SEGMENTassume cs :主,ds :数据START: MOV AX,DATAMOV DS、AX; 将DATA地址传输到DSSUB AX,AX; 把AX调零MOV CX,4; 将块长度传送到CXMOV AL、BXLEA BX,NUM; 将NUM的偏移地址转发到BXAGAIN: MOV AH,BX 1ADC AL,AHINC BXLOOP AGAINMOV SUM,AL; 将数据块中的数据相加,并将结果传递给SUMMAIN ENDS结束开始结果: DS:0005=9AH3 .获得无符号字节数据的和,并且该和是16比特的二进制数。假定存在数据58、25、45、73、64、43,则块的长度可存储在CX寄存器中,并且总和数据可存储在以SUM为符号的单元中。程序:资料区段num db 58、25、45、73、64、43SUM DW?数据结束MAIN SEGMENTassume cs :主,ds :数据START: MOV AX,DATAMOV DS、AX; 将DATA地址传输到DSSUB AX,AX; 把AX调零MOV CX,4; 将块长度传送到CXMOV AL、BXLEA BX,NUM; 将NUM的偏移地址转发到BXAGAIN: MOV AH,BX 1ADC AL,AHINC BXLOOP AGAINMOV SUM,AL; 将数据块中的数据相加,并将结果传递给SUMMAIN ENDS结束开始结果: DS:0006=0134H4 .求两个十进制乘积(56093*5=? )被乘数和乘数均以未结合的BCD代码表示,存储在存储器中,乘积存储在以SUM为符号的单元中。程序:资料区段num1db 03,09,00,06,05NUM2 DB 05SUM DB 6 DUP(00 )数据结束MAIN SEGMENTassume cs :主,ds :数据START: MOV AX,DATAMOV DS、AX; 将DATA地址传输到DSSUB AX,AX; 把AX调零LEA SI,NUM2; 将NUM2的偏移地址转发到SIMOV DL,SI; 把SI发送到DLLEA SI,NUM1; 将NUM1的偏移地址转发到SILEA DI,SUM; 将SUM的偏移地址传递给DIMOV CX,5; 将块长度传送到CXAGAIN: MOV AL,siMUL DL公司国际航空公司AAM公司ADD AL,di .AAAMOV DI,ALINC DIMOV DI,AHLOOP AGAINMOV SUM,AL; 将数据块中的数据相乘,并将结果传递给SUMMAIN ENDS结束开始结果: DS:0006-DS:000B的内容分别为: 05,06,04,00,08,02,56093 *5=2804655 .用数据传输指令和串行传输指令编制程序,以STR2为代表,包括STR1在内的字节存储单元的数据30H、31H、32H、33H、34H、35H、36H、37H、38H、39H、40H、41H、42H、43H、44 h、45 h程序:数据传输:资料区段STR1DB 30H、31H、32H、33H和34HDB 35H、36H、37H、38H和39HDB 40H、41H、42H、43H、44H和45HCOUNT EQU $-STR1STR2 DB COUNT DUP(0)数据结束代码分段assume ds :数据,cs :代码START:MOV AX,DATAMOV DS、AX; 将DATA地址传输到DSLEA SI、STR1; 将STR1的偏移地址转发到SILEA DI,STR2; 将STR2的偏移地址转发到DIMOV CX、COUNT; 将块长度传送到CXNEXT:MOV AL,siMOV DI,AL国际航空公司INC DILOOP NEXT; 将STR1的数据传输至STR2代码结束结束开始串行传输:资料区段STR1DB 30H、31H、32H、33H和34HDB 35H、36H、37H、38H和39HDB 40H、41H、42H、43H、44H和45HCOUNT EQU $-STR1STR2 DB COUNT DUP(0)数据结束代码分段assume ds :数据,cs :代码,es :数据START:MOV AX,DATAMOV DS、AX; 将DATA地址传输到DSMOV ES,AX; 将DATA地址转发到ESLEA SI、STR1; 将STR1的偏移地址转发到SILEA DI,STR2; 将STR2的偏移地址转发到DIMOV CX、COUNT; 将块长度传送到CXCLDREP MOVSB; 将STR1的数据传输至STR2代码结束结束开始问题:1 .数据传输指令和串行传输指令两种传输的特征是什么答: mov不能从存储器直接转送到存储器,必须通过寄存器进行中继。 MOVS在执行作为

温馨提示

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

评论

0/150

提交评论