资源描述:
《2005汇编语言期末试卷(A》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、华南农业大学期末考试试卷(A卷)2005学年第2学期 考试科目: 汇编语言 一、简答题(20分,每小题4分)1、简述不同子程序之间是怎样进行参数传递的?2、指出以下三条指令的区别(NUM为数据段一个变量名)。(1)MOVSI,NUM(2)LEASI,NUM(3)MOVSI,OFFSETNUM3、BUF1DB41H,42H,43H,44H,45H,46HBUF2DB6DUP(?)…MOVSI,OFFSETBUF1MOVDI,OFFSETBUF2MOVCX,6LOP:MOVAL,[SI]SUBAL,7ANDAL,0FHMOV[DI],
2、ALINCSIINCDILOOPLOP试回答上述程序段执行后,BUF2开始的6个字节存储单元的内容是什么?4、设(DS)=2000H,(ES)=3000H,(SS)=4000H,(BX)=1000H,(BP)=1000H,(SI)=0001H,(DI)=0002H,(21000H)=3412H,(21002H)=7856H,(31000H)=9ABCH,(31002H)=0F0DEH,(41000H)=5634H,(41002H)=9A78H,计算下列各指令中源操作数的物理地址,并指出指令执行后AX寄存器的内容。1)MOVAX,ES:[
3、1000H]物理地址(AX)=2)MOVAX,[BX]物理地址(AX)=3)MOVAX,[BX][SI]物理地址(AX)=4)MOVAX,[BP+DI]物理地址(AX)=5、对于这样的程序段:CMPAX,BXJGENEXTXCHGAX,BXNEXT:CMPAX,CXJGEDONEXCHGAX,CXDONE:┆试回答:①上述程序执行后,原有AX,BX,CX中最大数存放在那个寄存器?②这三个数是带符号数还是无符号数?二、程序填空(15分,每空3分)要求:在下划线上填写合适内容,使程序完成所要求的功能,不能增加语句行。1、从键盘读入一字符串(
4、长度小于40),并输出显示。MAXNOEQU41DSEGSEGMENTMESG1DB'INPUTASTRING:$'BUFDBMAXNO,?,MAXNODUP(?)DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:________________MOVDS,AXMOVDX,OFFSETMESG1MOVAH,9INT21HMOVDX,OFFSETBUF__________________INT21H__________________;取实际读入字符个数LEADI,BUF+2MOVSI,DIADD
5、SI,AXMOVBYTEPTR[SI],'$'LEADX,BUF+2MOVAH,9INT21HMOVAX,4C00HINT21HCSEGENDSENDSTART2、以BUF为首址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大数并送入MAX单元中。BUFDB5,6,7,58H,62,45H,127,……COUNTEQU$-BUFMAXDB?┇MOVBX,OFFSETBUFMOVCX,COUNT-1MOVAL,[BX]LOP1:INCBX_____________________JAENEXTMOVAL,[BX]NEXT
6、:DECCX_____________________MOVMAX,AL三、阅读程序(共25分)1.仔细阅读下面程序列表清单,标注重要程序块的功能,最后说明该程序的功能(15分)。地址位移量机器码汇编语言指令0000stacksegmentstack00000080[dw128dup(0)0000]0100stackends0000datasegment0000636F6E74696E75strdb'continue?(y/n)$'653F28792F6E2924000Fdataends0000codesegmentassumecs:c
7、ode,ds:data,ss:stack0000B8----Rstart:movax,data00038ED8movds,ax0005B8----Rmovax,stack00088ED0movss,ax000AE8002ERl:callhdc000DE8009CRcallcrlf0010E80062Rcallbdc0013E8009CRcallcrlf00168D160000Rleadx,str001AB409movah,9001CCD21int21h001EB401movah,10020CD21int21h00223C59cmpal,
8、'Y'002474E4jzl00263C79cmpal,'y'002874E0jzl002AB44Cmovah,4ch002CCD21int21h002Ehdcproc002E50pushax002F51p