北京理工大学汇编语言练习题及答案_第1页
北京理工大学汇编语言练习题及答案_第2页
北京理工大学汇编语言练习题及答案_第3页
北京理工大学汇编语言练习题及答案_第4页
北京理工大学汇编语言练习题及答案_第5页
全文预览已结束

下载本文档

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

文档简介

1、一、1. 请任意输入一个字符串,将该串倒序后在屏幕上显示。DATAS SEGMENT BUF DB 40 DB ? DB 40 DUP(0) ACC DB 0 CHAR DB ?DATAS ENDSSTACKS SEGMENT DB 100 DUP(0)STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX MOV AH,0AH LEA DX,BUF INT 21H ; 输入字符串 MOV AH,0EH MOV AL,0DH INT 10H MOV AL,0AH INT 1

2、0H ;回车换行 LEA SI,BUF MOV AL,SI+1 MOV AH,0 MOV ACC,AL INC SI ADD SI,AX L1: MOV DL,SI MOV AH,02H INT 21H DEC SI DEC ACC CMP ACC,0 JNZ L1 MOV AH,4CH INT 21HCODES ENDS END START2. 请任意输入一个字符串,统计其中空格和A的个数,并将结果显示在屏幕上。DATA SEGMENTBUF DB 100 DB ? DB 100 DUP(?)CHAR DB 0ACC DB 0SPACE DB 0CHARA DB 0DATA ENDSSTAC

3、K SEGMENTDB 100 DUP(0)STACK ENDSCODE SEGMENTASSUME DS:DATA,CS:CODEMAIN PROC FAR MOV AX,DATA MOV DS,AX LEA DX,BUF MOV AH,0AH INT 21H ;输入字符串 MOV AH,02H MOV DL,0DH INT 21H MOV DL,0AH INT 21H LEA SI,BUF MOV AL,SI+1 MOV ACC,AL MOV SI,2 L: CMP BUFSI, JZ LSPACE CMP BUFSI,A JZ LCHARA INC SI DEC ACC CMP ACC,

4、0 JZ SHOW JMP L LSPACE: INC SPACE INC SI DEC ACC CMP ACC,0 JZ SHOW JMP LLCHARA: INC CHARA INC SI DEC ACC CMP ACC,0 JZ SHOW JMP L SHOW: CMP SPACE,0AH JAE SHOWS ADD SPACE,30H MOV DL,SPACE MOV AH,2 INT 21H ;若SPACE小于10个,直接输出个数SHOW1: MOV AH,0EH MOV AL,0DH INT 10H MOV AL,0AH INT 10H CMP CHARA,0AH JAE SHOW

5、A ADD CHARA,30H MOV AH,2 MOV DL,CHARA INT 21H ;若A个数小于10,直接输出个数 JMP EXITSHOWS: MOV AL,SPACE MOV AH,0 MOV DL,10 DIV DL ADD AH,30H MOV SPACE,AH ADD AL,30H MOV AH,2 MOV DL,AL INT 21H MOV DL,SPACE INT 21H JMP SHOW1SHOWA: MOV AL,CHARA MOV AH,0 MOV DL,10 DIV DL ADD AH,30H MOV CHARA,AH ADD AL,30H MOV AH,2 M

6、OV DL,AL INT 21H MOV DL,CHARA INT 21H EXIT: MOV AH,4CH INT 21HMAIN ENDP CODE ENDS END MAIN3. 请任意输入一个字符串,将其中的空格全部删除,并将结果显示在屏幕上。DATA SEGMENTBUF DB 100 DB ? DB 100 DUP(?)INP DB Please input a string:,$CHAR DB 0ACC DB 0DATA ENDSSTACK SEGMENTDB 100 DUP(0)STACK ENDSCODE SEGMENTASSUME DS:DATA,CS:CODE,ES:ST

7、ACKSTART:MOV AX,DATAMOV DS,AX ; 赋初值MOV AH,09HLEA DX,INPINT 21H ; 提示输入MOV AH,0AHLEA DX,BUFINT 21H ; 输入字符串MOV AH,2MOV DL,0DHINT 21HMOV DL,0AHINT 21H ; 回车换行LEA SI,BUFMOV DL,SI+1MOV ACC,DL MOV SI,2 LOP: MOV DL,BUFSI MOV CHAR,DL CMP CHAR, JZ LADD MOV AH,2 MOV DL,CHAR INT 21H ;若不是空格则输出 LADD: INC SI DEC AC

8、C CMP ACC,0 JZ EXIT JMP LOP EXIT: MOV AH,4CH INT 21H CODE ENDS END START4. 请任意输入一个字符串,将其中A换成B,并将结果显示在屏幕上。DATA SEGMENTINP DB Please input a string:,$CHAR DB 0ACC DB 0BUF DB 50 DB ? DB 50 DUP(0)DATA ENDSSTACK SEGMENTDB 100 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX

9、MOV AH,9 LEA DX,INP INT 21H ;提示输入字符串 MOV AH,0AH LEA DX,BUF INT 21H MOV AH,2 MOV DL,0DH INT 21H MOV DL,0AH INT 21H ;输入字符串 LEA SI,BUF MOV DL,SI+1 MOV ACC,DL ;记录字符串个数 MOV SI,2 MOV AH,2LA: MOV DL,BUFSI CMP DL,A JZ PUTCC INT 21HLAD:INC SI DEC ACC MOV DH,ACC CMP DH,0 JZ EXIT JMP LAPUTCC: MOV DL,C INT 21H

10、INT 21H JMP LADEXIT: MOV AH,4CH INT 21H CODE ENDS END START 5. 请任意输入一个字符串,将其中A换成CC,并将结果显示在屏幕上。DATA SEGMENTINP DB Please input a string:,$CHAR DB 0ACC DB 0BUF DB 50 DB ? DB 50 DUP(0)DATA ENDSSTACK SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AH,9 LEA DX,INP INT 21H ;提示输入字符串 MOV AH,0A

11、H LEA DX,BUF INT 21H MOV AH,2 MOV DL,0DH INT 21H MOV DL,0AH INT 21H ;输入字符串 LEA SI,BUF MOV DL,SI+1 MOV ACC,DL ;记录字符串个数 MOV SI,2 MOV AH,2LA: MOV DL,BUFSI CMP DL,A JZ PUTCC INT 21HLAD:INC SI DEC ACC MOV DH,ACC CMP DH,0 JZ EXIT JMP LAPUTCC: INT 21H INT 21H JMP LADEXIT: MOV AH,4CH INT 21H CODE ENDS END S

12、TART 6. 请任意输入一个字符串,将其中大写字母换成小写字母,并将结果显示在屏幕上。DATA SEGMENTINP DB Please input a string:,$CHAR DB 0ACC DB 0BUF DB 50 DB ? DB 50 DUP(0)DATA ENDSSTACK SEGMENTDB 100 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AH,9 LEA DX,INP INT 21H ;提示输入字符串 MOV AH,0AH LEA DX,BUF IN

13、T 21H MOV AH,2 MOV DL,0DH INT 21H MOV DL,0AH INT 21H ;输入字符串 LEA SI,BUF MOV DL,SI+1 MOV ACC,DL ;记录字符串个数 MOV SI,2 MOV AH,2LA: MOV DL,BUFSI CMP DL,A JB PUT CMP DL,Z JBE PUTCHGPUT:INT 21H JMP LADPUTCHG: ADD DL,32 INT 21HLAD:INC SI DEC ACC MOV DH,ACC CMP DH,0 JZ EXIT JMP LAEXIT: MOV AH,4CH INT 21H CODE E

14、NDS END START 7. 请任意输入一个字符串,将其中的英文字母全部删除,并将结果显示在屏幕上。DATA SEGMENTINP DB Please input a string:,$CHAR DB 0ACC DB 0BUF DB 50 DB ? DB 50 DUP(0)DATA ENDSSTACK SEGMENTDB 100 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AH,9 LEA DX,INP INT 21H ;提示输入字符串 MOV AH,0AH LEA DX,BUF INT 21H MOV AH,2 MOV DL,0DH INT 21H MOV DL,0AH INT 21H ;输入字符串 LEA SI,BUF MOV DL,SI+1 MOV ACC,DL

温馨提示

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

最新文档

评论

0/150

提交评论