《微机原理及接口技术》复习总结综合版——程序设计.doc_第1页
《微机原理及接口技术》复习总结综合版——程序设计.doc_第2页
《微机原理及接口技术》复习总结综合版——程序设计.doc_第3页
《微机原理及接口技术》复习总结综合版——程序设计.doc_第4页
全文预览已结束

下载本文档

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

文档简介

综合版程序设计 欢迎使用KNKJ2012DXZY系统微机原理及接口技术学科复习综合版程序设计1、通过键盘输入一串不长于100个字符的字符串,以回车键为结束符,统计该字符串中的小写字母数存放于CX寄存器中CSEG SEGMENT ASSUME CS:CSEG,DS:DSEGMAIN PROC FAR MOV CX,6400HNEXT:MOV AH,1 INT 21H CMP AL,0DH JE EXIT CMP AL,a JB NEXT1 CMP AL,z JA NEXT1 INC CLNEXT1:DEC CH JNZ NEXTEXIT: MOV CH,0 MOV AH,4CH INT 21HMAIN ENDPCSEG ENDS END MAIN2、统计从01000H内存单元开始的100个字(WORD)型带符号数中的正数、负数和零的字个数。设正数个数存放于BX中,负数个数存放于DI中,零的个数存放于DX中 MOV AX,0100H JZ ZERO MOV DS,AX JL NEGAT MOV BX,0 INC BX MOV DX,0 JMP NEXT1 MOV DI,0 ZERO: INC DX MOV SI,0 JMP NEXT1 MOV CX,100 NEGAT: INC DI NEXT: MOV AX,SI NEXT1: ADD SI,2 CMP AX,0 LOOP NEXT3、将LM开始到LM+100的内存区中的一组数据按与原来相反的次序送到PM到PM+100的内存区。MOV SI,OFFSET LMMOV DI,OFFSET PM+100MOV CX,101LOP:MOV AL,SIMOV DI,ALINC SIDEC DILOOP LOP4、从ARY开始存放着100个字型带符号数,寻找其中的最大值,结果放在MAX单元。MOV CX,100 LOP1: ADD SI,2 MOV AX,SI LOOP LOP LOP: CMP AX,SI MOV MAX,AX JGE LOP15、实现两个十六位二进制数的加法。要求加数放在FIRST开始单元,被加数放在SECOND开始单元,和数放在SUM单元。MOV AX,FIRSTADD AX,SECONDMOV SUM,AX6、编写一汇编语言程序,实现将数据段中首地址为1000H(偏移地址)的100个连续存放的字节型数据搬移至该段内首地址为1050H(偏移地址)的连续的100个内存单元中MOV AX,DS MOV DI,1050H+99MOV ES,AX STDMOV CX,100 REP MOVSWMOV SI,1000H+997、编写一个完整的8086汇编语言程序,从附加段中首地址为ADR1(变量名)连续存放的100个字型无符号整数中找出最大数,并将此数及其偏移地址分别放入变量MAX和MAXM中DATA SEGMENTADR1 DW 100 DUP(?)MAX DW ?MAXM DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATAMAINPROC FARMOV AX,DATAMOV ES,AXMOV SI,OFFSET ADR1MOV CX,100MOV ES:MAXM,SIMOV AX,ES:SILOP1:CMP AX,ES:SIJAE LOP3MOV AX,ES:SIMOV ES:MAXM,SILOP3:ADD SI,2LOOP LOP1MOV ES:MAX,AXMOV AH,4CHINT 21HMAINENDPCODEENDSEND MAIN8、有一个首地址为ARRAY的N个字的数组,请编程序使该数组中的数按照从大到小的次序排序。(采用冒泡排序算法)DATA SEGMENT ARRAY DW A1,A2,A3,AN DATA ENDS PROG SEGMENT ASSUME DS:PROG,DS:DATA MAIN PROC FAR START: PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV CX,N DEC CX LOOP1: MOV DI,CX MOV BX,0LOOP2: MOV AX,ARRAYBXCMP AX,ARRAYBX+2JGE CONTINUEXCHG AX,ARRAYBX+2MOV ARRAYBX,AXCONTINUE:ADD BX,2LOOP LOOP2MOV CX,DILOOP LOOP1RETMAIN ENDPPROG ENDSEND START9、已知在N到N+I的存储区中有一组ASCII码字符串(共I+1个),试编写一个汇编语言程序,将此字符传送到NI到NI+I单元中,并使字符串的顺序与原来的顺序相反。MOV AX,DS MOVE:CLDMOV ES,AX LODSBLEA SI,N STDLEA DL,NI STOSBADD DI,I LOOP MOVEMOV CX,I+1 HLT10、现有一个不超过255个大写英文字母组成的字符串,要求编写一个完整的程序,统计A-Z各字符串出现的次数,并分别存入字符串后的以RESULT为首地址的26个字节单元中。DATA SEGMENT NEXT:MOV AL,STRINGSI STRING DB$ SUB AL,41H RESULT DB 26 DUP(0) MOV DI,AX DATA ENDS INC RESULTDI CODE SEGMENT INC SI ASSUME C

温馨提示

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

评论

0/150

提交评论