北理工8086汇编语言上机试题及答案(二)_第1页
北理工8086汇编语言上机试题及答案(二)_第2页
北理工8086汇编语言上机试题及答案(二)_第3页
北理工8086汇编语言上机试题及答案(二)_第4页
北理工8086汇编语言上机试题及答案(二)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、1. 请任意输入一个字符串,将其中大写字母换成小写字母,并将结果显示在屏幕上。2. 请任意输入一个字符串,将其中的英文字母全部删除,并将结果显示在屏幕上。3. 现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序从键盘输入4个字符的字符串,若存在将其修改为disk, 并在显示器上显示。4. 现有一组字符串为ram,yes,red,the,get,for,and,key,not,may,请编写程序将他们按ASCII大小排序,并在显示器上显示。5. 现有一组字符串为data,name,time,file,code,path,

2、user,exit,quit,text,请编写程序从键盘输入4个字符的字符串,若存在将其删除, 并在显示器上显示。6. 现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序将上述字符串排序(升序)并插入disk使其人仍然有序, 并在显示器上显示。答案部分:Answer1:DATA SEGMENTBUF DB 0FFH DB ? DB 0FFH DUP (?)STROUT DB 0DH,0AH,0FDH DUP (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV

3、AX,DATAMOV DS,AXLEA DX,BUFMOV AH,0AHINT 21HLEA SI,BUF2LEA DI,STROUT2MOV CL,BUF1XOR CH,CHAGAIN:CMP BYTE PTRSI,AJB NOTUPCMP BYTE PTRSI,Z JA NOTUPMOV AL,SIADD AL,20HMOV DI,ALJMP NEXTNOTUP:MOV AL,SIMOV DI,ALNEXT:INC SIINC DILOOP AGAIN MOV BYTE PTRDI,$LEA DX,STROUTMOV AH,09HINT 21HMOV AH,4CHINT 21HCODE E

4、NDSEND STARTAnswer2:DATA SEGMENTBUF DB 0FFH DB ? DB 0FFH DUP (?)STROUT DB 0DH,0AH,0FDH DUP (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA DX,BUFMOV AH,0AHINT 21HLEA SI,BUF2LEA DI,STROUT2MOV CL,BUF1XOR CH,CHAGAIN:CMP BYTE PTRSI,AJB NOTUPCMP BYTE PTRSI,ZJA NOTUPINC SIJMP N

5、EXTNOTUP:CMP BYTE PTRSI,aJB NOTALPHACMP BYTE PTRSI,zJA NOTALPHAINC SIJMP NEXTNOTALPHA:MOV AL,SIMOV DI,ALINC SIINC DINEXT:LOOP AGAINMOV BYTE PTRDI,$LEA DX,STROUTMOV AH,09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND STARTAnswer3:DATA SEGMENTBUF DB 05H DB ? DB 05H DUP (?)STROUT DB 0DH,0AH,data DB 0DH,0AH,name

6、 DB 0DH,0AH,time DB 0DH,0AH,file DB 0DH,0AH,code DB 0DH,0AH,path DB 0DH,0AH,user DB 0DH,0AH,exit DB 0DH,0AH,quit DB 0DH,0AH,text,$ REPLACE DB disk DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART:MOV AX,DATAMOV DS,AXMOV ES,AXLEA DX,BUFMOV AH,0AHINT 21HLEA BX,STROUT2LEA SI,BUF2LEA DI,STROUT2M

7、OV CX,10AGAIN:CLDPUSH CXMOV CX,4REPZ CMPSBPOP CXJNZ NEXTLEA SI,REPLACEMOV DI,BXMOV DX,4SUBAGAIN:MOV AL,SIMOV DI,ALINC SIINC DIDEC DXJNZ SUBAGAINJMP EXITNEXT:LEA SI,BUF2ADD BX,6MOV DI,BXLOOP AGAINEXIT:LEA DX,STROUTMOV AH,09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND STARTAnswer4:DATA SEGMENTBUF DB 0DH,0AH,

8、ram DB 0DH,0AH,yes DB 0DH,0AH,red DB 0DH,0AH,the DB 0DH,0AH,get DB 0DH,0AH,for DB 0DH,0AH,and DB 0DH,0AH,key DB 0DH,0AH,not DB 0DH,0AH,may,$TMP DB ?DATA ENDSSTACK SEGMENT STACKDB 0FFH DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATAMAIN PROC NEARSTART:MOV AX,DATAMOV DS,AXMOV ES,AXLEA BX,BU

9、F2MOV DH,9AGAIN0:MOV DI,BXMOV SI,DIADD SI,5MOV DL,DHAGAIN1:PUSH SIPUSH DIMOV CX,3CLDREPZ CMPSBPOP DIPOP SIJA NOTABOVEMOV DI,SIJMP NEXT1NOTABOVE:NEXT1: ADD SI,5DEC DLJNZ AGAIN1 NEXT0:CALL XCHGS3ADD BX,5DEC DHJNZ AGAIN0LEA DX,BUFMOV AH,09HINT 21HMOV AH,4CHINT 21HMAIN ENDPXCHGS3 PROC NEARPUSH SIPUSH DI

10、PUSH CXMOV SI,DIMOV DI,BXMOV CX,3AGAINXCHGS3:MOV AL,SIMOV AH,DIMOV SI,AHMOV DI,ALINC SIINC DILOOP AGAINXCHGS3POP CXPOP SIPOP DIRETXCHGS3 ENDPCODE ENDSEND STARTAnswer5:DATA SEGMENTBUF DB 05H DB ? DB 05H DUP (?)STROUT DB 0DH,0AH,data,$ DB 0DH,0AH,name,$ DB 0DH,0AH,time,$ DB 0DH,0AH,file,$ DB 0DH,0AH,c

11、ode,$ DB 0DH,0AH,path,$ DB 0DH,0AH,user,$ DB 0DH,0AH,exit,$ DB 0DH,0AH,quit,$ DB 0DH,0AH,test,$DATA ENDSSTACK SEGMENT STACK DB 100 DUP (?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV ES,AX MOV AX,STACK MOV SS,AXLEA DX,BUFMOV AH,0AHINT 21HLEA SI,BUF2LEA

12、DI,STROUT2MOV DL,10AGAIN0:PUSH SIPUSH DIMOV CX,4CLDREPZ CMPSB POP DI POP SIJE DEL ADD DI,7DEC DLJNZ AGAIN0JMP EXITDEL:CLD MOV AL,20HMOV CX,4REP STOSBEXIT: LEA DX,STROUTMOV CX,10AGAIN1: PUSH DX MOV BX,DX CMP BYTE PTRBX+2, JE NEXT1MOV AH,09HINT 21HNEXT1:POP DX ADD DX,7LOOP AGAIN1MOV AH,4CHINT 21HCODE

13、ENDSEND STARTAnswer6:DATA SEGMENT STRINSERT DB diskBUF DB 0DH,0AH,data DB 0DH,0AH,name DB 0DH,0AH,time DB 0DH,0AH,file DB 0DH,0AH,code DB 0DH,0AH,path DB 0DH,0AH,user DB 0DH,0AH,exit DB 0DH,0AH,quit DB 0DH,0AH,test DB 0DH,0AH, DB 0DH,0AH,$DATA ENDSSTACK SEGMENT STACKDW 0FFH DUP (?)STACK ENDSCODE SEG

14、MENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV ES,AXLEA BX,BUF2MOV DL,9AGAIN0:MOV DI,BXMOV SI,DIADD SI,6MOV DH,DLAGAIN1:PUSH SIPUSH DICLDMOV CX,4REPZ CMPSBPOP DIPOP SIJA NEXT1MOV DI,SINEXT1:ADD SI,6DEC DH JNZ AGAIN1NEXT0:CALL XCHGS4ADD BX,6DEC DL JNZ AGAIN0 LEA DX,BUFMOV AH

15、,09HINT 21H LEA BX,BUF2+6*10 LEA SI,STRINSERT LEA DI,BUF2 MOV DL,10AGAIN2: PUSH SI PUSH DI CLD MOV CX,4 REP CMPSB POP DI POP SI JB SHIFTRIGHTNEXT2: ADD DI,6 DEC DL JNZ AGAIN2SHIFTRIGHT: PUSH DI MOV AX,BX SUB AX,DI ADD BX,3 MOV SI,BX SUB SI,6 MOV DI,BX STD MOV CX,AX REP MOVSB INSERT: POP DI LEA SI,STRINSERT CLD MOV CX,4 RE

温馨提示

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

最新文档

评论

0/150

提交评论