微型计算机原理与接口技术测试题.docx
- 文档编号:8397648
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:16
- 大小:17.89KB
微型计算机原理与接口技术测试题.docx
《微型计算机原理与接口技术测试题.docx》由会员分享,可在线阅读,更多相关《微型计算机原理与接口技术测试题.docx(16页珍藏版)》请在冰豆网上搜索。
微型计算机原理与接口技术测试题
1.在XXX单元中存放一个数x(0≤x≤15),请用查表法的方法计算x的平方,并将结果保存到YYY单元中。
datasegment
tablesqdb0,1,4,9,16,25,36,64
db81,100,121,144,169,196,225
xxxdb3
yyydb?
dataends
codesegment
assumecs:
code,ds:
data
mainprocfar
start:
pushds
movax,0
pushax
movax,data
movds,ax
movbx,offsettablesq
movah,0
moval,xxx
addbx,ax
moval,[bx]
movyyy,al
int20h
mainendp
codeends
endstart
方法二(参考课本程序):
datasegment
tabqdb0,1,4,9,16,25,36,64
db81,100,121,144,169,196,225
xxxdb2
yyydb?
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
movsi,offsettabq
movah,0
moval,xxx
addsi,ax
moval,[si]
movyyy,al
int20h
codeends
endstart2.已知数组由100个字组成,存放在数据段中以偏移地址为ARY开始的内存中,试编写程序求出这个数组元数之和,结果存放在的数据段中以偏移地址为SUM开始的内存中。
datasegment
arydw100dup(?
)
sumdw?
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
callradd
movah,4ch
int21h
raddprocnear
pushax
pushbx
pushcx
pushdx
leabx,ary
movcx,10
xorax,ax
movdx,ax
cl1:
addax,[bx]
jnccl2
incdx
cl2:
addbx,2
loopcl1
movsum,ax
movsum+2,dx
popdx
popcx
popbx
popax
ret
raddendp
codeends
endstart
3.试编写一程序,将数据段中偏移地址为BUF1开始的100个数据传送到偏移地址为BUF2开始的连续内存单元中去。
STACKSEGMENTSTACK'STACK'
DW100DUP(?
)
STACKENDS
DATASEGMENT
BUF1DB100DUP(?
)
BUF2DB100DUP(?
)
SRCADRDW?
DSTADRDW?
LENDW?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK,ES:
DATA
MAINPROC
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
LEAAX,BUF1
MOVSRCADR,AX
MOVLEN,100
CALLMVDAT
MOVAX,4CH
INT21H
MAINENDP
MVDATPROC
MOVSI,SRCADR
MOVDI,DSTADR
MOVCX,LEN
CLD
CMPSI,DI
JADONE
STD
ADDSI,CX
DECSI
ADDDI,CX
DECDI
DONE:
REPMOVSB
RET
MVDATENDP
CODEENDS
ENDSTART
4.编写一个程序,实现SUM=a1+a2+……+a20。
已知a1~a20依次存放在以BUF为首址的数据区,每个数据占两个字节,SUM也是两个字节。
datasegment
datdw2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
sumdw?
dataends
codesegment
mainprocfar
assumecs:
code,ds:
data
start:
movax,data
movds,ax
movax,0
movsum,ax
movsi,offsetdat
movcx,20
lp1:
addax,[si]
incsi
incsi
looplp1
movsum,ax
movah,4ch
int21h
mainendp
codeends
endstart5.试编写一程序,将AX中的各位去反,然后统计出AX中“0”的个数,将结果存到CL中。
CODESEGMENT
MAINPROCFAR
ASSUMECS:
CODE
START:
MOVAX,0E001H
MOVDL,0
MOVCL,16
NOTAX
RETEST:
ANDAX,AX
JSSKIP
INCDL
SKIP:
SHLAX,1
LOOPRETEST
MOVCL,DL
EXIT:
MOVAH,4CH
INT21H
MAINENDP
CODEENDS
ENDSTART6.在内存数据段存储器中,从ADDR单元开始存有一个字符串,它以“$”符号作为结束标志,试编写程序统计该字符串的长度($字符不计入长度),并把长度值存入LETH字单元。
DATASEGMENT
ADDRDB'LIUBIN$'
LETHDW?
DATAENDS
STACKSEGMENTPARASTACK'STACK'
DB100DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVBX,OFFSETADDR
MOVCX,0
LP:
MOVAL,[BX]
CMPAL,'$'
JEDONE
INCCX
INCBX
JMPLP
DONE:
MOVADDR,CX
MOVAH,4CH
INT21H
CODEENDS
ENDSTART7.试编写一程序,要求实现将ASCII码表示的两位十进制数转换为一字节二进制数,其中高地址单元存放十位数。
codesegment
assumecs:
code
start:
movah,1
int21h
movdl,0dh
movah,2
int21h
movdl,0ah
movah,2
int21h
movbl,al
movcx,8
next:
shlbl,1
movdl,30h
adcdl,0
movah,2
int21h
loopnext
movdl,'a'
movah,2
int21h
movah,4ch
int21h
codeends
endstart8.某存储区中存有20个单字节数,试编写一汇编程序分别求出其绝对值并将结果放回原处。
datasegment
numdb1,-1,1,1,1,-1,1,1,1,1,1,1,-1,1,1,1,1,1,1,1
dataends
codesegment
assumecs:
code,ds:
data
startprocfar
pushds
xorax,ax
pushax
movax,data
movds,ax
movcx,20
movsi,offsetnum
lp1:
moval,[si]
andal,al
jnsdone
negal
done:
mov[si],al
incsi
looplp1
movah,4ch
int21h
startendp
codeends
endstart方法二:
DSEGSEGMENT
MUMDB1,2,3,-9,0,7,5,-4,-7,-11,34,-67,-44,-51,1,3,6,8,9,3
DSEGENDS
CSEGSEGMENT
ASSUMECS:
CSEG,DS:
DSEG
STARTPROCFAR
PUSHDS
XORAX,AX
PUSHAX
MOVAX,DSEG
MOVDS,AX
MOVCX,20
MOVSI,OFFSETMUM
LP1:
MOVAL,[SI]
ANDAL,AL
JNSDONE
NEGAL
DONE:
MOV[SI],AL
INCSI
LOOPLP1
MOVAH,4CH
INT21H
STARTENDP
CSEGENDS
ENDSTART
9.编程在显示器上输出你自己的汉语拼音姓名的子程序。
DATASEGMENT
LBDB'liubin'
NEQU$-LB
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVES,AX
LEADI,LB
MOVCX,N
CLD
MOVAH,1
INT21H
REPNESCASB
JZFOUND
MOVDL,'N'
JMPDISP
FOUND:
MOVDL,'Y'
DISP:
MOVAH,2
INT21H
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
10.将数据0-63置入到内存中以BUF为首址的连续64个字节单元中。
datasegment
bufdb64dup(?
)
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
movbx,offsetbuf
moval,0
movcx,63
llp:
mov[bx],al
incal
incbx
loopllp
movah,4ch
int21h
codeends
endstart11.试编写一程序统计出某一内存变量中‘1’的个数,并将结果存入first单元。
datasegment
xdadw11
firstdb?
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
movcl,0
movax,xda
lop:
cmpax,0
jzexit
shlax,1
jncnext
inccl
next:
jmplop
exit:
movfirst,cl
int20h
codeends
endstart
课本考题P203:
3-1、
datasegment
stringdw2dup(3045h,0fd34h,0d3dh,9899h,0,3df2h,0,0ffdeh,93fdh,0de6ch)
pdw20dup(?
)
mdw20dup(?
)
zdw20dup(?
)
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
xorbp,bp
leasi,p
leadi,m
leabp,z
pushsi
pushdi
pushbp
leabx,string
movcx,20
ll:
subdx,ax
shrdx,cl
mov[bp],dx
popax
movdx,di
subdx,ax
shrdx,cl
mov[di],dx
popax
movdx,si
subdx,ax
shrdx,cl
mov[si],dx
movah,4ch
int21h
l1:
movax,[bx]
pushax
addax,ax
jzl1
popax
pushax
salax,1
jcl2
popax
mov[si],ax
addsi,2
jmpla
la:
addbx,2
loopll
xorcx,cx
movcx,2
popax
movdx,bp
popax
mov[bp],ax
addbp,2
jmpla
l2:
popax
mov[di],ax
adddi,2
jmpla
codeends
endstart
3-2、
DATASEGMENT
D1DB2,3,4,5,6,7,8,3,4,5
D2DB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEASI,D1
XORAX,AX
MOVCX,10
L1:
ADDAL,[SI]
AAA
INCSI
LOOPL1
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
4-3、
CODESEGMENT
MAINPROCFAR
ASSUMECS:
CODE
MOVCH,4
ROT:
MOVCL,4
ROLBX,CL
MOVAL,BL
ANDAL,0FH
ADDAL,30H
CMPAL,3AH
JLLB
ADDAL,7H
LB:
MOVDL,AL
MOVAH,2
INT21H
DECCH
JNZROT
MOVAX,4C00H
INT21H
MAINENDP
CODEENDS
END
3-4、
DATASEGMENT
BLOCKDBNDUP(0)
SIGNALDB00H
ADRDB00H
DATAENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE,ES:
DATA
START:
MOVDI.OFFSETBLOCK
CLD
MOVCX,10
MOVSL,IEH
REPNISCASB
JNZAAA
MOVSIGNAL,0FFH
MOVADR,IEH
AAA:
MOVSIGNAL,00H
CODEENDS
ENDSTART
3-6、
datasegment
numdw100dup(10)
sumdw?
msgdb'Overflow!
',13,10,'$'
dataends
stacksegmentstack
db100dup(?
)
stackends
codesegment'code'
assumecs:
code,ds:
data,ss:
stack
start:
movax,data
movds,ax
movcx,100
leabx,num
movax,0
again:
addax,[bx]
incbx
incbx
jcerr
loopagain
movsum,ax
jmpdone
err:
movdx,offsetmsg
movah,09h
int21h
done:
movax,4c00h
int21h
codeends
endstart
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 原理 接口 技术 测试