汇编测验考试题目及代码Word文件下载.docx
《汇编测验考试题目及代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《汇编测验考试题目及代码Word文件下载.docx(81页珍藏版)》请在冰豆网上搜索。
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
INCDI
LOOPAGAIN
MOVBYTEPTR[DI],'
$'
LEADX,ANS
MOVAH,09H
MOVAH,4CH
CODEENDS
ENDSTART
2
STROUTDB0DH,0AH,'
A=000'
DB0DH,0AH,'
SPACE=000'
'
MOVAX,DATA
CMPBYTEPTR[SI],'
A'
JNENOTA
CMPSTROUT[10],'
9'
JEATEN
INCSTROUT[10]
JMPNEXT
ATEN:
CMPSTROUT[9],'
JEAHUN
MOVSTROUT[10],'
0'
INCSTROUT[9]
AHUN:
MOVSTROUT[9],'
INCSTROUT[8]
NOTA:
'
JNENOTSPACE
CMPSTROUT[21],'
JESPACETEN
INCSTROUT[21]
SPACETEN:
CMPSTROUT[20],'
JESPACEHUN
MOVSTROUT[21],'
INCSTROUT[20]
SPACEHUN:
MOVSTROUT[20],'
INCSTROUT[19]
NOTSPACE:
NEXT:
INCSI
LEADX,STROUT
3
STROUTDB0DH,0AH,0FDHDUP(?
LEADI,STROUT[2]
JESPACE
SPACE:
4
STROUTDB0DH,0AH,0FDHDUP(?
B'
5
JNZNOTA
MOVWORDPTR[DI],'
CC'
ADDDI,2
6
DB0FFHDUP(?
JBNOTUP
Z'
JANOTUP
ADDAL,20H
NOTUP:
MOVAL,[SI]
7
a'
JBNOTALPHA
z'
JANOTALPHA
NOTALPHA:
8
BUFDB05H
DB05HDUP(?
data'
name'
time'
file'
code'
path'
user'
exit'
DB0DH,0AH,'
quit'
text'
REPLACEDB'
disk'
DATA,ES:
MOVES,AX
LEABX,STROUT[2]
LEADI,STROUT[2]
MOVCX,10
CLD
PUSHCX
MOVCX,4
REPZCMPSB
POPCX
JNZNEXT
LEASI,REPLACE
MOVDI,BX
MOVDX,4
SUBAGAIN:
DECDX
JNZSUBAGAIN
JMPEXIT
ADDBX,6
EXIT:
LEADX,STROUT
MOVAH,09h
9
BUFDB0DH,0AH,'
ram'
yes'
red'
the'
get'
for'
and'
key'
not'
may'
TMPDB'
?
'
STACKSEGMENTSTACK
DB0FFHDUP(?
STACKENDS
MAINPROCNEAR
LEABX,BUF[2]
MOVDH,9
AGAIN0:
MOVSI,DI
ADDSI,5
MOVDL,DH
AGAIN1:
PUSHSI
PUSHDI
MOVCX,3
POPDI
POPSI
JANOTABOVE
MOVDI,SI
JMPNEXT1
NOTABOVE:
NEXT1:
DECDL
JNZAGAIN1
NEXT0:
CALLXCHGS3
ADDBX,5
DECDH
JNZAGAIN0
MOVAH,4CH
INT21H
MAINENDP
XCHGS3PROCNEAR
AGAINXCHGS3:
MOVAH,[DI]
MOV[SI],AH
INCDI
LOOPAGAINXCHGS3
RET
XCHGS3ENDP
10
test'
DB100DUP(?
DATA,SS:
STACK
MOVAX,STACK
MOVSS,AX
MOVDL,10
JEDEL
ADDDI,7
JNZAGAIN0
DEL:
CLD
MOVAL,20H
REPSTOSB
PUSHDX
MOVBX,DX
CMPBYTEPTR[BX+2],'
JENEXT1
POPDX
ADDDX,7
LOOPAGAIN1
11
STRINSERTDB'
DW0FFHDUP(?
MOVDL,9
ADDSI,6
MOVDH,DL
JANEXT1
ADDSI,6
CALLXCHGS4
LEABX,BUF[2+6*10]
LEASI,STRINSERT
LEADI,BUF[2]
AGAIN2:
REPCMPSB
JBSHIFTRIGHT
NEXT2:
ADDDI,6
JNZAGAIN2
SHIFTRIGHT:
MOVAX,BX
SUB