汇编测验考试题目及代码.docx

上传人:b****3 文档编号:4697110 上传时间:2022-12-07 格式:DOCX 页数:81 大小:24.71KB
下载 相关 举报
汇编测验考试题目及代码.docx_第1页
第1页 / 共81页
汇编测验考试题目及代码.docx_第2页
第2页 / 共81页
汇编测验考试题目及代码.docx_第3页
第3页 / 共81页
汇编测验考试题目及代码.docx_第4页
第4页 / 共81页
汇编测验考试题目及代码.docx_第5页
第5页 / 共81页
点击查看更多>>
下载资源
资源描述

汇编测验考试题目及代码.docx

《汇编测验考试题目及代码.docx》由会员分享,可在线阅读,更多相关《汇编测验考试题目及代码.docx(81页珍藏版)》请在冰豆网上搜索。

汇编测验考试题目及代码.docx

汇编测验考试题目及代码

1.请任意输入一个字符串,将该串倒序后在屏幕上显示。

2.请任意输入一个字符串,统计其中空格和A的个数,并将结果显示在屏幕上。

3.请任意输入一个字符串,将其中的空格全部删除,并将结果显示在屏幕上。

4.请任意输入一个字符串,将其中A换成B,并将结果显示在屏幕上。

5.请任意输入一个字符串,将其中A换成CC,并将结果显示在屏幕上。

6.请任意输入一个字符串,将其中大写字母换成小写字母,并将结果显示在屏幕上。

7.请任意输入一个字符串,将其中的英文字母全部删除,并将结果显示在屏幕上。

8.现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序从键盘输入4个字符的字符串,若存在将其修改为disk,并在显示器上显示。

9.现有一组字符串为ram,yes,red,the,get,for,and,key,not,may,请编写程序将他们按ASCII大小排序,并在显示器上显示。

10.现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序从键盘输入4个字符的字符串,若存在将其删除,并在显示器上显示。

11.现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序将上述字符串排序(升序)并插入disk使其人仍然有序,并在显示器上显示。

12.键盘输入一个十进制数,以十六进制的形式输出。

13.键盘输入一个十进制数,以二进制的形式输出。

14.键盘输入一个二进制数,以十六进制的形式输出。

15.键盘输入一个二进制数,以十进制的形式输出。

16.键盘输入一个十六进制数,以十进制的形式输出。

17.键盘输入一个十六进制数,以二进制的形式输出。

18.将一组有符号数中的负数求和,并统计负数的个数,并在屏幕上以十进制的形式显示结果。

38H,4AH,0C5H,83H,9CH,0B4H,7FH,0C4H,05H,0F5H

19.键盘输入两组数743216、527864,按BCD码求和,并将结果显示在屏幕上。

20.键盘输入下列两组十进制数,求其和,并将结果显示在屏幕上

35789418

46531425

21.键盘输入一串二进制数1ah,7ch,0bah,3ah,45h,63h求其和,并将结果显示在屏幕上。

22.编写程序,将十个字的有符号数中最大、最小值求出,并在显示器上输出。

125ah,4357h,0f50h,0b43h,4ac4h,7454h,8b15h,0a2a4h,0f3ch,00f6h

23.键盘输入10个字节数(无符号数),求出最大、最小值,并在显示器上输出。

24.设有4个学生参加5门考试,请计算每个学生的平均成绩和每门课的平均分成绩,并在显示器上显示,输出格式如下:

Chg1chg2chg3chg4chg5meam

S178855510097

S26796437984

S39255769265

S44395828975

Aver

不计小数。

25.将两个磁盘文件合并成一个新的文件。

26.将一磁盘文件‘E:

\ASS\FILE.ASM’读入内存2000:

0000h中,并将文件以反序形式(头尾对应字符互换)仍以相同路径存入磁盘中。

27.在多模块设计中,主模块中调用内部模块buf1,buf2,buf3,buf4。

主模块根据键盘输入的指令(如:

a,b,c,d)调用上述对应的子程序,每个子程序的任务是显示其入口地址。

调用后继续等待调用,若输入ESC键(ASCII码为1BH)则结束程序的执行。

请编写完成该任务的程序。

28.现有一控制程序共5个工序,要求输入0-4的序号,分别执行各工序的子程序,每个子程序的任务是显示其入口地址。

调用后继续等待调用,按回车则结束程序的执行。

29.现有一组参量按16位编码,各字段的长度如下:

BIT1=6,BIT2=4,BIT3=3,BIT4=3,BIT1位于高位,BIT4位于低位。

设BIT1=52,BIT2=13,BIT3=5,BIT4=3请用程序编码将这些字段编码组合成一个字,按二进制的形式在屏幕上输出。

30.键盘输入十个数,分别同机0到9,10到99,100以上的数的个数,并显示结果。

1

DATASEGMENT

BUFDB0FFH

DB?

DB0FFHDUP(?

ANSDB0DH,0AH,0FDHDUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

LEADX,BUF

MOVAH,0AH

INT21H

LEASI,BUF[2]

MOVAL,BUF[1]

XORAH,AH

ADDSI,AX

DECSI

LEADI,ANS[2]

XORCH,CH

MOVCL,BUF[1]

AGAIN:

MOVAL,[SI]

MOV[DI],AL

DECSI

INCDI

LOOPAGAIN

MOVBYTEPTR[DI],'$'

LEADX,ANS

MOVAH,09H

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

2

DATASEGMENT

BUFDB0FFH

DB?

DB0FFHDUP(?

STROUTDB0DH,0AH,'A=000'

DB0DH,0AH,'SPACE=000','$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

LEADX,BUF

MOVAH,0AH

INT21H

LEASI,BUF[2]

MOVCL,BUF[1]

XORCH,CH

AGAIN:

CMPBYTEPTR[SI],'A'

JNENOTA

CMPSTROUT[10],'9'

JEATEN

INCSTROUT[10]

JMPNEXT

ATEN:

CMPSTROUT[9],'9'

JEAHUN

MOVSTROUT[10],'0'

INCSTROUT[9]

JMPNEXT

AHUN:

MOVSTROUT[10],'0'

MOVSTROUT[9],'0'

INCSTROUT[8]

JMPNEXT

NOTA:

CMPBYTEPTR[SI],''

JNENOTSPACE

CMPSTROUT[21],'9'

JESPACETEN

INCSTROUT[21]

JMPNEXT

SPACETEN:

CMPSTROUT[20],'9'

JESPACEHUN

MOVSTROUT[21],'0'

INCSTROUT[20]

JMPNEXT

SPACEHUN:

MOVSTROUT[21],'0'

MOVSTROUT[20],'0'

INCSTROUT[19]

NOTSPACE:

NEXT:

INCSI

LOOPAGAIN

LEADX,STROUT

MOVAH,09H

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

3

DATASEGMENT

BUFDB0FFH

DB?

DB0FFHDUP(?

STROUTDB0DH,0AH,0FDHDUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

LEADX,BUF

MOVAH,0AH

INT21H

LEASI,BUF[2]

LEADI,STROUT[2]

MOVCL,BUF[1]

XORCH,CH

AGAIN:

CMPBYTEPTR[SI],''

JESPACE

MOVAL,[SI]

MOV[DI],AL

INCDI

SPACE:

INCSI

LOOPAGAIN

MOVBYTEPTR[DI],'$'

LEADX,STROUT

MOVAH,09H

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

4

DATASEGMENT

BUFDB0FFH

DB?

DB0FFHDUP(?

STROUTDB0DH,0AH,0FDHDUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

LEADX,BUF

MOVAH,0AH

INT21H

LEASI,BUF[2]

LEADI,STROUT[2]

MOVCL,BUF[1]

XORCH,CH

AGAIN:

CMPBYTEPTR[SI],'A'

JNENOTA

MOVBYTEPTR[DI],'B'

JMPNEXT

NOTA:

MOVAL,[SI]

MOV[DI],AL

NEXT:

INCSI

INCDI

LOOPAGAIN

MOVBYTEPTR[DI],'$'

LEADX,STROUT

MOVAH,09H

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

5

DATASEGMENT

BUFDB0FFH

DB?

DB0FFHDUP(?

STROUTDB0DH,0AH,0FDHDUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

LEADX,BUF

MOVAH,0AH

INT21H

LEASI,BUF[2]

LEADI,STROUT[2]

MOVCL,BUF[1]

XORCH,CH

AGAIN:

CMPBYTEPTR[SI],'A'

JNZNOTA

MOVWORDPTR[DI],'CC'

ADDDI,2

JMPNEXT

NOTA:

MOVAL,[SI]

MOV[DI],AL

INCDI

NEXT:

INCSI

LOOPAGAIN

MOVBYTEPTR[DI],'$'

LEADX,STROUT

MOVAH,09H

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

6

DATASEGMENT

BUFDB0FFH

DB?

DB0FFHDUP(?

STROUTDB0DH,0AH,0FDHDUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

LEADX,BUF

MOVAH,0AH

INT21H

LEASI,BUF[2]

LEADI,STROUT[2]

MOVCL,BUF[1]

XORCH,CH

AGAIN:

CMPBYTEPTR[SI],'A'

JBNOTUP

CMPBYTEPTR[SI],'Z'

JANOTUP

MOVAL,[SI]

ADDAL,20H

MOV[DI],AL

JMPNEXT

NOTUP:

MOVAL,[SI]

MOV[DI],AL

NEXT:

INCSI

INCDI

LOOPAGAIN

MOVBYTEPTR[DI],'$'

LEADX,STROUT

MOVAH,09H

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

7

DATASEGMENT

BUFDB0FFH

DB?

DB0FFHDUP(?

STROUTDB0DH,0AH,0FDHDUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

LEADX,BUF

MOVAH,0AH

INT21H

LEASI,BUF[2]

LEADI,STROUT[2]

MOVCL,BUF[1]

XORCH,CH

AGAIN:

CMPBYTEPTR[SI],'A'

JBNOTUP

CMPBYTEPTR[SI],'Z'

JANOTUP

INCSI

JMPNEXT

NOTUP:

CMPBYTEPTR[SI],'a'

JBNOTALPHA

CMPBYTEPTR[SI],'z'

JANOTALPHA

INCSI

JMPNEXT

NOTALPHA:

MOVAL,[SI]

MOV[DI],AL

INCSI

INCDI

NEXT:

LOOPAGAIN

MOVBYTEPTR[DI],'$'

LEADX,STROUT

MOVAH,09H

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

8

DATASEGMENT

BUFDB05H

DB?

DB05HDUP(?

STROUTDB0DH,0AH,'data'

DB0DH,0AH,'name'

DB0DH,0AH,'time'

DB0DH,0AH,'file'

DB0DH,0AH,'code'

DB0DH,0AH,'path'

DB0DH,0AH,'user'

DB0DH,0AH,'exit'

DB0DH,0AH,'quit'

DB0DH,0AH,'text','$'

REPLACEDB'disk'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,ES:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

LEADX,BUF

MOVAH,0AH

INT21H

LEABX,STROUT[2]

LEASI,BUF[2]

LEADI,STROUT[2]

MOVCX,10

AGAIN:

CLD

PUSHCX

MOVCX,4

REPZCMPSB

POPCX

JNZNEXT

LEASI,REPLACE

MOVDI,BX

MOVDX,4

SUBAGAIN:

MOVAL,[SI]

MOV[DI],AL

INCSI

INCDI

DECDX

JNZSUBAGAIN

JMPEXIT

NEXT:

LEASI,BUF[2]

ADDBX,6

MOVDI,BX

LOOPAGAIN

EXIT:

LEADX,STROUT

MOVAH,09h

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

9

DATASEGMENT

BUFDB0DH,0AH,'ram'

DB0DH,0AH,'yes'

DB0DH,0AH,'red'

DB0DH,0AH,'the'

DB0DH,0AH,'get'

DB0DH,0AH,'for'

DB0DH,0AH,'and'

DB0DH,0AH,'key'

DB0DH,0AH,'not'

DB0DH,0AH,'may','$'

TMPDB'?

?

?

'

DATAENDS

STACKSEGMENTSTACK

DB0FFHDUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,ES:

DATA

MAINPROCNEAR

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

LEABX,BUF[2]

MOVDH,9

AGAIN0:

MOVDI,BX

MOVSI,DI

ADDSI,5

MOVDL,DH

AGAIN1:

PUSHSI

PUSHDI

MOVCX,3

CLD

REPZCMPSB

POPDI

POPSI

JANOTABOVE

MOVDI,SI

JMPNEXT1

NOTABOVE:

NEXT1:

ADDSI,5

DECDL

JNZAGAIN1

NEXT0:

CALLXCHGS3

ADDBX,5

DECDH

JNZAGAIN0

LEADX,BUF

MOVAH,09H

INT21H

MOVAH,4CH

INT21H

MAINENDP

XCHGS3PROCNEAR

PUSHSI

PUSHDI

PUSHCX

MOVSI,DI

MOVDI,BX

MOVCX,3

AGAINXCHGS3:

MOVAL,[SI]

MOVAH,[DI]

MOV[SI],AH

MOV[DI],AL

INCSI

INCDI

LOOPAGAINXCHGS3

POPCX

POPSI

POPDI

RET

XCHGS3ENDP

CODEENDS

ENDSTART

10

DATASEGMENT

BUFDB05H

DB?

DB05HDUP(?

STROUTDB0DH,0AH,'data','$'

DB0DH,0AH,'name','$'

DB0DH,0AH,'time','$'

DB0DH,0AH,'file','$'

DB0DH,0AH,'code','$'

DB0DH,0AH,'path','$'

DB0DH,0AH,'user','$'

DB0DH,0AH,'exit','$'

DB0DH,0AH,'quit','$'

DB0DH,0AH,'test','$'

DATAENDS

STACKSEGMENTSTACK

DB100DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,ES:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

MOVAX,STACK

MOVSS,AX

LEADX,BUF

MOVAH,0AH

INT21H

LEASI,BUF[2]

LEADI,STROUT[2]

MOVDL,10

AGAIN0:

PUSHSI

PUSHDI

MOVCX,4

CLD

REPZCMPSB

POPDI

POPSI

JEDEL

ADDDI,7

DECDL

JNZAGAIN0

JMPEXIT

DEL:

CLD

MOVAL,20H

MOVCX,4

REPSTOSB

EXIT:

LEADX,STROUT

MOVCX,10

AGAIN1:

PUSHDX

MOVBX,DX

CMPBYTEPTR[BX+2],''

JENEXT1

MOVAH,09H

INT21H

NEXT1:

POPDX

ADDDX,7

LOOPAGAIN1

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

11

DATASEGMENT

STRINSERTDB'disk'

BUFDB0DH,0AH,'data'

DB0DH,0AH,'name'

DB0DH,0AH,'time'

DB0DH,0AH,'file'

DB0DH,0AH,'code'

DB0DH,0AH,'path'

DB0DH,0AH,'user'

DB0DH,0AH,'exit'

DB0DH,0AH,'quit'

DB0DH,0AH,'test'

DB0DH,0AH,''

DB0DH,0AH,'$'

DATAENDS

STACKSEGMENTSTACK

DW0FFHDUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,ES:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

LEABX,BUF[2]

MOVDL,9

AGAIN0:

MOVDI,BX

MOVSI,DI

ADDSI,6

MOVDH,DL

AGAIN1:

PUSHSI

PUSHDI

CLD

MOVCX,4

REPZCMPSB

POPDI

POPSI

JANEXT1

MOVDI,SI

NEXT1:

ADDSI,6

DECDH

JNZAGAIN1

NEXT0:

CALLXCHGS4

ADDBX,6

DECDL

JNZAGAIN0

LEADX,BUF

MOVAH,09H

INT21H

LEABX,BUF[2+6*10]

LEASI,STRINSERT

LEADI,BUF[2]

MOVDL,10

AGAIN2:

PUSHSI

PUSHDI

CLD

MOVCX,4

REPCMPSB

POPDI

POPSI

JBSHIFTRIGHT

NEXT2:

ADDDI,6

DECDL

JNZAGAIN2

SHIFTRIGHT:

PUSHDI

MOVAX,BX

SUB

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1