微机原理与接口技术试题库汇总_第1页
微机原理与接口技术试题库汇总_第2页
微机原理与接口技术试题库汇总_第3页
微机原理与接口技术试题库汇总_第4页
微机原理与接口技术试题库汇总_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

二、填空题1、关于R进制数来说,其基数(能使用的数字符号个数)是R个,能使用的最小数字符号是0。2、十进制数72变换成八进制数是110Q。3、与十进制数67等值的十六进制数是43H。4、二进制数101.011变换成十进制数是5.375。5、十六进制数0E12变换成二进制数是。三、选择题1、在计算机内部,全部信息的存取、办理和传递都是以D形式进行的。A)EBCDIC码B)ASCII码C)十六进制编码D)二进制编码2、与十进制数56等值的二进制数是A。A)111000B)111001C)101111D)1101103、十进制数59变换成八进制数是A。A)73QB)37QC)59QD)112Q4、与十进制数58.75等值的十六进制数是B。A)A3.CHB)3A.CHC)3A.23HD)C.3AH5、二进制数1101.01变换成十进制数是C。A)17.256B)13.5C)13.25D)17.56、二进制数111010.11变换成十六进制数是B。A)3ACHB)3A.CHC)3A3HD)3A.3H7、十六进制数1CB.D8变换成二进制数是D。A)110001011.11001B)111101011.11101C)111101011.11101D)111001011.110118、将十六进制数FF.1变换成十进制数是C。A)255.625B)2501625C)255.0625D)250.06259、十进制正数43的八位二进制原码B。A)00110101B)00101011C)10110101D)1010101110、十进制正数38的八位二进制补码是D。A)00011001B)10100110C)10011001D)00100110四、是非判断题1、在第三代计算机时期出现了操作系统。(√)2、关于种类不一样的计算机,其机器指令系统都是同样的。(×)3、在计算机中,数据单位bit的意思是字节。(×)4、八进制数的基数为8,所以在八进制数中能够使用的数字符号是0、1、2、3、4、5、6、7、8。(×)5、在汉字国标码GB2312-80的字符集中,共采集了6763个常用汉字。(√)答案:.3.用10进制数写出以下补码表示的机器数的真值:71H,1BH,80H,F8H,397DH,CF42H,9350H答:上述补码表示的各机器数的真值用10进制数分别表示为:+113,+27,-128,-8,+14717,-20670,-278284.若用一个字节来表示带符号数,判断以下各运算在机内进行时能否会产生溢出,写出判断过程。A.5BH+32H;B.-08H-15H;C.-51H+(-3DH);D.2DH+3CH答:A.产生溢出,5BH=01011011B其补码表示的机器数为:0101101132H=00110010B其补码表示的机器数为:00110010相加的结果为:10001101数值最高位向符号位进位,但符号位向前无进位,故产生溢出。B.不产生溢出,-08H=-00001000B其补码表示的机器数为:11111000-15H=-00010101B其补码表示的机器数为:11101011相加的结果为:111100011数值最高位向符号位进位,符号位同时也向行进位,故不产生溢出.C.产生溢出,-51H=-01010001B其补码表示的机器数为:10101111-3DH=-00111101B其补码表示的机器数为:11000011相加的结果为:101110010数值最高位向符号位无进位,但符号位向行进位,故产生溢出.D.不产生溢出,2DH=00101101B其补码表示的机器数为:001011013CH=00111100B其补码表示的机器数为:00111100.相加的结果为:01101001数值最高位向符号位无进位,符号位向前也无进位,故不产生溢出。设CPU中各相关寄存器的目前情况为:SS=0a8bH、DS=17ceH、CS=dc54H、BX=394bH、IP=2f39H、SP=1200H,BX给出的是某操作数的有效地点,请分别写出该操作数、下一条要取的指令及目前栈顶的逻辑地点和物理地点。答:该操作数的逻辑地点为DS:BX=17CE:394BH,物理地点=17CEH*10H+394BH=1B62BH;下一条要取的指令的逻辑地点为CS:IP=DC54:2F39H,物理地点=DC54H*10H+2F39H=DF479H;目前栈顶的逻辑地点=SS:SP=0A8B:1200H,物理地点=0A8BH*10H+1200H=0BAB0H。6.若DS=157DH时,某操作数的物理地点是215FAH,当DS=18DEH时,该操作数的物理地点是多少?答:该操作数的段内偏移地点=该操作数的物理地点-DS=215FAH-157D0H=BE2AH,故当DS=18DEH时,该操作数的物理地点=DS*10H+BE2AH=18DE0H+BE2AH=24C0AH设AX=2875H、BX=34DFH、SS=1307H、SP=8H,依此履行PUSHAX、PUSHBX、POPAX、POPCX后栈顶指针变成多少?AX=?BX=?CX=?答:目前栈顶指针=SS*10H+SP=13070H+8H=13078H,依此履行PUSHAX、PUSHBX、POPAX、POPCX后栈顶指针仍为13078H。但AX=34DFH,BX=34DFH,CX=2875H。MOVDX,[BX+SI]3.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明以下各条指令履行完后AX寄存器的内容。1)MOVAX,1200H2)MOVAX,BX3)MOVAX,[1200H]4)MOVAX,[BX]5)MOVAX,[BX+1100].6)MOVAX,[BX+SI]7)MOVAX,[BX+SI+1100]答:(1)指令MOVAX,1200H履行完后AX寄存器的内容为1200H;(2)指令MOVAX,BX履行完后AX寄存器的内容为0100H;(3)指令MOVAX,[1200H]是将从物理地点=(DS)*10H+1200H=21200H开始的两个单元内容送AX,履行完后AX寄存器的内容为4C2AH;(4)指令MOVAX,[BX]是将从物理地点=(DS)*10H+(BX)=20100H开始的两个单元内容送AX,故履行完后AX寄存器的内容为3412H;(5)指令MOVAX,[BX+1100]是将从物理地点=(DS)*10H+(BX)+1100H=21200H开始的两个单元内容送AX,故履行完后AX寄存器的内容为4C2AH;(6)指令MOVAX,[BX+SI]是将从物理地点=(DS)*10H+(BX)+(SI)=20102H开始的两个单元内容送AX,故履行完后AX寄存器的内容为7856H;(7)指令MOVAX,[BX+SI+1100]是将从物理地点=(DS)*10H+(BX)+(SI)+1100H=21202H开始的两个单元内容送AX,故履行完后AX寄存器的内容为65B7H;4.假定已知(DS)=2900H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据段中变量名VAL的偏移地点值为0050H,试指出以下源操作数字段的寻址方式是什么?其物理地点值是多少?(1)MOVAX,0ABH(2)MOVAX,BX(3)MOVAX,[100H](4)MOVAX,VAL(5)MOVAX,[BX](6)MOVAX,ES:[BX](7)MOVAX,[BP](8)MOVAX,[SI](9)MOVAX,[BX+10](10)MOVAX,VAL[BX](11)MOVAX,[BX][SI](12)MOVAX,[BP][SI]答:(1)在指令MOVAX,0ABH中,源操作数字段的寻址方式是立刻数寻址,其物理地点值=(CS)*10H+(IP);(2)在指令MOVAX,BX中,源操作数字段的寻址方式是寄存器寻址,操作数在BX中,无物理地点;.(3)在指令MOVAX,[100H]中,源操作数字段的寻址方式是直接寻址,其物理地点值=(DS)*10H+100=29000H+100H=29100;(4)在指令MOVAX,VAL中,源操作数字段的寻址方式是直接寻址,其物理地点值=(DS)*10H+50H=29000H+50H=29050H;(5)在指令MOVAX,[BX]中,源操作数字段的寻址方式是寄存器间接寻址,其物理地点值=(DS)*10H+(BX)=29000H+100H=29100H;(6)在指令MOVAX,ES:[BX]中,源操作数字段的寻址方式是寄存器间接寻址,其物理地点值=(ES)*10H+(BX)=21000H+100H=21100H;(7)在指令MOVAX,[BP]中,源操作数字段的寻址方式是寄存器间接寻址,其物理地点值=(SS)*10H+(BP)=15000H+10H=15010H;(8)在指令MOVAX,[SI]中,源操作数字段的寻址方式是寄存器间接寻址,其物理地点值=(DS)*10H+(SI)=29000H+0A0H=290A0H;(9)在指令MOVAX,[BX+10]中,源操作数字段的寻址方式是寄存器相对寻址,其物理地点值=(DS)*10H+(BX)+0AH=29000H+100H+0AH=2910AH;(10)在指令MOVAX,VAL[BX]中,源操作数字段的寻址方式是寄存器相对寻址,其物理地点值=(DS)*10H+(BX)+50H=29000H+100H+50H=29150H;(11)在指令MOVAX,[BX][SI]中,源操作数字段的寻址方式是基址变址寻址,其物理地点值=(DS)*10H+(BX)+(SI)=29000H+100H+0A0H=291A0H;(12)在指令MOVAX,[BP][SI]中,源操作数字段的寻址方式是基址变址寻址,其物理地点值=(SS)*10H+(BP)+(SI)=15000H+10H+0A0H=150B0H分别指出以下指令中的源操作数和目的操作数的寻址方式。1)MOVSI,2002)MOVCX,DATA[SI]3)ADDAX,[BX+DI]4)ANDAX,BX5)MOV[SI],AX6)PUSHF答:(1)目的操作数字段的寻址方式是寄存器寻址,源操作数字段的寻址方式是立刻数寻址;.2)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是寄存器相对寻址;3)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是基址变址寻址;4)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式也是寄存器寻址;5)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址;6)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址;6.试述指令MOVAX,2010H和MOVAX,DS:[2010H]的差别。答:指令MOVAX,2010H是将立刻数2010H送AX寄存器,而指令MOVAX,DS:[2010H]是将DS段有效地点为2010H的两个单元的内容送AX。判断以下指令书写能否正确,若有错误,指犯错在哪处并用正确的程序段(一条或多条指令)实现原错误指令((8)、(13)除外)希望实现的操作。(1)MOVAL,BX(9)MOVES,3278H(2)MOVAL,SL(10)PUSHAL(3)INC[BX](11)POP[BX](4)MOV5,AL(12)MOV[1A8H],23DH(5)MOV[BX],[SI](13)PUSHIP(6)MOVBL,F5H(14)MOV[AX],23DH(7)MOVDX,2000H(15)SHLAX,5(8)POPCS(16)MULAX,BX答:(1)MOVAL,BX错,源操作数为字种类,目的操作数为字节种类,两者不一致。应改为:MOVAX,BX或MOVAL,BL;2)MOVAL,SL错,SI寄存器不可以分为高8位和低8位使用,即没有SL寄存器。应改为:MOVAX,SI.(3)INC[BX]错,未指定操作数的种类。应改为:INCBYTEPTR[BX](4)MOV5,AL错,目的操作数使用了立刻数,在指令中一般不一样意。应改为:MOVDS:[5],AL5)MOV[BX],[SI]错,源操作数和目的操作数均为内存单元,不一样意。应改为:MOVAX,[SI]MOV[BX],AX6)MOVBL,F5H错,源操作数错,以A~F开头的数字前应加0。应改为:MOVBL,0F5H7)MOVDX,2000H正确。8)POPCS错,不可以将栈顶数据弹至CS中。9)MOVES,3278H错,立刻数不可以直接送ES寄存器。应改为:MOVAX,3278HMOVES,AX(10)PUSHAL错,栈操作不可以按字节进行。应改为:PUSHAX11)POP[BX]正确。12)MOV[1A8H],23DH错,源操作数是立刻数,目的操作数一定使用寄存器指出。应改为:MOVBX,1A8HMOV[BX],23DH13)PUSHIP错,不可以用IP寄存器做源操作数。14)MOV[AX],23DH错,不可以用AX寄存器间接寻址。应改为:MOVBX,AXMOV[BX],23DH15)SHLAX,5错,不可以用大于己于1的立刻数指出移位位数。应改为:MOVCL,5SHLAX,CL.16)MULAX,BX错,目的操作数AX是隐含的,不可以在指令中写出。应改为:MULBX设货仓指针SP的初值为2000H,AX=3000H,BX=5000H,试问:(1)履行指令PUSHAX后(SP)=?(2)再履行PUSHBX及POPAX后(SP)=?(AX)=?(BX)=?答:(1)履行指令PUSHAX后(SP)=2000H-2=1FFEH;(2)再履行PUSHBX及POPAX后(SP)=1FFEH,(AX)=5000H,(BX)=5000H要想达成把[2000H]送[1000H]中,用指令:MOV[1000H],[2000H]能否正确?假如不正确,应用什么方法?答:把[2000H]送[1000H]中,用指令MOV[1000H],[2000H]不正确,应改为:MOVAX,[2000H]MOV[1000H],AX若是想从200中减去AL中的内容,用SUB200,AL能否正确?假如不正确,应用什么方法?答:想从200中减去AL中的内容,用SUB200,AL不正确,应改为:MOVBL,200SUBBL,AL假定OP1,OP2是已经用DB定义的变量,W_OP3和W_OP4是已经用DW定义的变量,判断以下指令书写能否正确?若有错误,指犯错在哪处?并写出正确的指令(或程序段)实现原错误指令希望实现的操作((19)、(20)不改)。(1)PUSHOP1(2)POP[W_OP4](3)MOVAX,WORDPTR[SI][DI](4)MOVAX,WORDPTRES:BX(5)MOVBYTEPTR[BX],1000(6)MOVBX,OFFSET[SI+200H](7)MOVOP2,[BX](8)CMPHIGHW_OP3,25(9)CMPOP1,OP2(10)CMPAX,OP2(11)MOVW_OP3[BX+4*3][DI],SP(12)ADDW_OP3,W_OP4(13)MOVAX,W_OP3[DX](14)MOVOP1,LOWDS(15)MOVSP,OP2[BX][SI](16)MOVAX,W_OP3+W_OP4.(17)MOVAX,W_OP3-W_OP4+100(18)SUBAL,W_OP3+7(19)MOVAX,BXSHL2(20)MOVBX,W_OP3AND8FD7H答:1.(1)PUSHOP1错,OP1为字节种类,栈操作不可以按字节进行,应改为:PUSHWORDPTROP1(2)POP[W_OP4]正确。(3)MOVAX,WORDPTR[SI][DI]错,源操作数寻址方式有问题。应改为:MOVBX,SIMOVAX,WORDPTR[BX][DI](4)MOVAX,WORDPTRES:BX错,若源操作数为寄存器寻址是不可以加段说明及属性改正的。明显,原意应为寄存器间接寻址,故应改为:MOVAX,WORDPTRES:[BX](5)MOVBYTEPTR[BX],1000错,源操作数为字种类,目的操作数为字节种类,两者不一致。应改为:MOVWORDPTR[BX],1000(6)MOVBX,OFFSET[SI+200H]错,OFFSET运算应在汇编时达成,但[SI+200H]在履行指令时才可获取。应改为:LEABX,[SI+200H](7)MOVOP2,[BX]错,源操作数和目的操作数均为内存单元,不一样意。应改为:MOVAL,[BX]MOVOP2,AL(8)CMPHIGHW_OP3,25错,目的操作数中使用HIGH来分别储存器操作数,这是不一样意的。应改为:CMPBYTEPTRW_OP3+1,25(9)CMPOP1,OP2错,源操作数和目的操作数均为内存单元,不一样意。应改为:MOVAL,OP2CMPAL,OP1(10)CMPAX,OP2错,源操作数为字节种类,目的操作数为字种类,两者不一致。应改为:CMPAX,WORDPTROP2(11)MOVW_OP3[BX+4*3][DI],SP正确。.(12)ADDW_OP3,W_OP4错,源操作数和目的操作数均为内存单元,不一样意。应改为:MOVAX,W_OP4ADDW_OP3,AX(13)MOVAX,W_OP3[DX]错,不可以用DX寄存器间接寻址。应改为:MOVBX,DXMOVAX,W_OP3[BX](14)MOVOP1,LOWDS错,源操作数中使用LOW来分别寄存器操作数,这是不一样意的。应改为:MOVWORDPTROP1,DS(15)MOVSP,OP2[BX][SI]错,源操作数为字节种类,目的操作数为字种类,两者不一致。应改为:MOVSP,WORDPTROP2[BX][SI](16)MOVAX,W_OP3+W_OP4错,两个表记符相加无心义。应改为:MOVAX,W_OP1ADDAX,W_OP2(17)MOVAX,W_OP3-W_OP4+100正确,源操作数为两个表记符(地点)相减再加一数,汇编时获取一个数。(18)SUBAL,W_OP3+7错,两个操作数种类不一致。应改为:SUBAL,BYTEPTRW_OP3+7(19)MOVAX,BXSHL2错,SHL只好对常量进行运算,左侧不可以使用寄存器(20)MOVBX,W_OP3AND8FD7H错,AND只好对常量进行运算,左侧不可以使用变量设已定义数据段DATASEGMENTVAR2DW10H,7889HVAR5DB20H,0ADRRDWVAR2,VAR5DATAENDS为使ADRR字储存单元中寄存内容为“0010H”,ADRR+2字储存单元中寄存内容为“0020H”,上述省略号地点应分别填写一条什么语句?说明原因。.答:为使ADRR字储存单元中寄存内容为“0010H”,ADRR+2字储存单元中寄存内容为“0020H”,上述省略号地点应分别填写ORG10H和ORG20H,或许分别填写语句VAR1DB10HDUP(?)和VAR36DUP(?)下边的数据段中,有数据为‘4100H’的字储存单元有几个?它们的偏移量分别是多少?DATASEGMENTDA1DB0ORG41HDA2DB0,‘A’,41H,0,41HADRDWDA1,DA2DATAENDS答:给出的数据段中,有数据‘4100H’的字储存单元有3个,它们的偏移量分别是41H、44H、47H。=====================================================一、填空题1、履行零件EU的组织有:4个通用寄存器,4个专用寄存器和1个标记寄存器和算术逻辑零件。2、8086CPU从偶地点接见内存1个字时需占用1个总线周期,而从奇地点接见内存1个字操作需占用2个总线周期。3、IBM-PC机中的内存是按段寄存信息的,一个段最大存贮空间为64K字节。4、8086微办理机在最小模式下,用M/IO来控制输出地点是接见内存仍是访问I/O。5、一台计算机能履行多少种指令,是在设计时确立的。二、单项选择题1、微型计算机的性能主要由B来决定。A、价格B、CPUC、控制器D、其余2、对微办理器而言,它的每条指令都有必定的时序,其时序关系是C、一个时钟周期包含几个机器周期,一个机器周期包含几个指令周期。、一个机器周期包含几个指令周期,一个指令周期包含几个时钟周期。、一个指令周期包含几个机器周期,一个机器周期包含几个时钟周期。、一个指令周期包含几个时钟周期,一个时钟周期包含几个机器周期。3、属于数据寄存器组的寄存器是CA、AX,BX,CX,DSB、SP,DX,BP,IPC、AX,BX,CX,DXD、AL,DI,SI,AH4、微型计算机的ALU零件是包含在D之中。A、存贮器B、I/O接口C、I/O设施D、CPU5、在8086和8088汇编语言中,一个字能表示的有符号数的范围是BA、-32768≤n≤32768B、-32768≤n≤32767C、-65535≤n≤65535D、-65536≤N≤655356、80386微型计算机是32位机,依据是它的D。A、地点线是32位B、数据线为32位.C、寄存器是32位的D、地点线和数据线都是32位7、某数存于内存数据段中,已知该数据段的段地点为2000H,而数据所在单元的偏移地点为0120H,该数的在内存的物理地点为(B)A.8、在存贮器读周期时,依据程序计数器PC供给的有效地点,使用从内存中拿出(D)A.操作数B.操作数地点C.转移地点D.操作码9、8086/8088系统中,对存贮器进行写操作时,CPU输出控制信号有效的是(A)A.W/IO=1,WR=0B.WR=1C.M/IO=0,RD=0D.RD=010、在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是(D)A.INAL,端口地点B.MOVAL,端口地点C.OUTAL,端口地点D.OUT端口地点,AL1);2)X和Y两个数均为有符号的补码数。一、回答以下问题1、设VALAEQU200VALBEQU30VALCEQU1BH以下表达式的值各为多少?1)(VALA*VALC+VALB)/VALC(2)(VALBAND0FH)OR(VALBXOR0FH)3)(VALAGEVALB)AND0FH6、下边的数据项设置了多少个字节?(1)ASC_DATADB‘1234’(2)HEX_DATADB1234H7、DATASEGMENTTABLE_ADDRDW1234HDATAENDS...MOVBX,TABLE_ADDRLEABX,TABLE_ADDR请写出上述两条指令履行后,BX寄存器中的内容。9、AR1和VAR2为字变量,LAB为标号,试指出以下指令的错误之处。1)ADDVAR1,VAR2(2)SUBAL,VAR1(3)JMPLAB[SI](4)JNZVAR1二、填空题1、假定(DS)=2000H,(BX)=1256H,(SI)=528FH;位移量TABLE=20A1H,(232F7H)=3280H,(264E5H)=2450H,则履行指令JMPBX后,(IP)=;履行指令JMPTABLE[BX]后,(IP)=;履行指令JMP[BX][SI]后,(IP)=。2、在1000H单元中有一条二字节指令JMPSHORTLAB,假如此中偏移量分别为.30H、6CH、0B8H,则转向地点LAB的值分别为;;;3、数据段中有以下定义:ARRAY1EQU16HARRAY2DW16H请指出下边两条指令的寻址方式:MOVAX,ARRAY1;寻址方式。MOVAX,ARRAY2;寻址方式。4、下边两个语句的差别在于、。X1EQU1000HX2=1000H5、指令“ANDAX,STR1ANDSTR2”中,STR1和STR2是两个已赋值的变量,两个AND的差别是、。6、指令LOOPZ/LOOPE是结果或发生转移的指令。而指令LOOPNZ/LOOPNE则是结果或发生转移的指令。7、调用指令CALL可分为、、和等四种调用。8、在汇编语言中,一个过程有NEAR和FAR两种属性。NEAR属性表示主程序和子程序,FAR属性表示主程序和子程序。9、串办理指令规定源寄存器使用,源串在段中;目的寄存器使用,目的串一定在段中。10、是过程定义结束伪指令,与配套使用。是段定义结束伪指令,与配套使用。三、选择题1、履行以下程序,选择正确的结果:MOVSP,2000HMOVAX,0F0HMOVSI,1234HMOVDX,5678HPUSHSIPOPDISHLDX,1TESTAX,DXPUSHDXHLT(1)SP=;A)2000HB)1FFFHC)2001HD)1FFEH(2)DH内容所在储存器的偏移地点为;A)1FFFHB)1FFEHC)1FFDHD)1FFCH(3)DL内容所在储存器的偏移地点为;A)1FFFHB)1FFEHC)2000HD)1FFCH(4)(AX)=;A)0HB)78H.C)0F0HD)56H(5)(DI)=。A)1234HB)5678HC)2000HD)00F0H(6)(DX)=;A)5678HB)0ACF0HC)2B3CHD)0ABF0H(7)标记位ZF=。A)0B)1C)不定D)无值2、下边是多字节加法程序,第一个数和是8A0BH,第二个数是D705H。DATASEGMENTFIRSTDB(1),(2),0HSECONDDB(3),(4)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,(5)MOVSI,06)NEXT:MOVAL,SECOND[SI]ADCFIRST[SI],ALINCSILOOPNEXTMOVAL,0ADCAL,(7)MOVFIRST[SI],ALMOVAH,4CHINT21HCODEENDSENDSTART请选择正确的答案填入空格中:(1)A)8AHB)0BHC)D7HD)05H(2)A)8AHB)0BHC)D7HD)05H(3)A)8AHB)0BHC)D7HD)05H(4)A)8AHB)0BHC)D7HD)05H(5)A)3B)2C)1D)4(6)A)CLCB)CLD.C)STCD)CLI(7)A)1B)-1C)0D)0FFH四、达成以下练习1、设(DS)=0300H,(CS)=0200H,(IP)=0100H,(BX)=1000H,DISPLACE=2000H,4000H)=5000H,(6000H)=8000H确立无条件变换指令的段内转移地点1)JMPBX2)JMP[BX]3)JMPDISPLACE[BX]2、设AX和BX寄存器中是有符号数,CX和DX寄存器中是无符号数,写出以下条件转移指令。1)CX值高于或等于DX值,则转移HIEQU2)AX值大于BX值,则转移GREAT3)CX值为0,则转移ZERO4)AX值小于或等于BX值,则转移SMAEQU5)CX值低于或等于DX值,则转移LOWEQU6)AX为负值,则转移NEGAT7)AX为偶数,则转移IMAGE3、写出以下串操作指令所代替的指令序列。1)REPMOVSB2)REPLODSB3)REPSTOSB4)REPSCASB五、是非判断题程序在数据段中的定义以下:DATASEGMENTNAMESDB‘ABCD’NAMETDW20DATAENDS请判断以下指令能否正确?正确的填‘A’,错误的填‘B’。(1)MOVBX,OFFSETNAMES()(2)MOVAL,[BX+2]()(3)MOVAX,NAMES()(4)MOVAX,WORDPTRNAMES+1()(5)MOVAL,NAMET()(6)MOVAL,BYTEPTRNAMET()(7)MOVAX,DATA()(8)MOVDS,AX()(9)MOVAX,SEGNAMES()(10)MOVBX,DATA()六、请阅读以下程序,剖析其功能或结果1、MOVAH,00.INT16HMOVAH,0AHMOVCX,00MOVBH,00INT10H2、MOVAH,00MOVAL,66MOVDX,00INT17HMOVAH,00MOVAL,0DHINT17H3、MOVAH,07MOVAL,00MOVBL,70HMOVCH,02MOVCL,05MOVDH,22MOVDL,38INT10H4、MESSDB‘PRESSANYKEY’,0DH,0AH,‘$’MOVAH,09MOVDX,SEGMESSMOVDS,DXMOVDX,OFFSETMESSINT21H5、MOVAH,2MOVDL,1INT21H七、编写程序试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。编写程序,比较两个字符串STRING1和STRING2所含字符能否完整同样,若同样则显示“MATCH”,若不一样则显示“NOMATCH”。3.试编写程序,要求从键盘输入3个16进制数,并依据对3个数的比较显示以下信息:(1)假如3个数都不相等则显示0;2)假如3个数中有2个数相等则显示2;3)假如3个数都相等则显示3。已知整数变量A和B,试编写达成下述操作的程序:(1)若两个数中有一个是奇数,则将该奇数存入A中,偶数存入B中;2)若两个数均为奇数,则两数分别加1,并存回原变量;3)若两个数均为偶数,则两变量不变。5.把0~10010之间的30个数,存入首地点为GRAD的字数组中,GRAD+i表示学号为i+1的学生成绩。另一个数组RANK是30个学生的名次表,此中RANK+I的内容是学号为i+1的学生的名次。试编写程序,依据GRAD中的学生成绩,将摆列的名次填入RANK数组中.(提示:一个学生的名次等于成绩高于这个学生的人数加1)。6.试编写程序,它轮番测试两个设施的状态寄存器,只需一个状态寄存器的第0位为1,则与其相应的设施就输入一个字符;假如此中任一状态寄存器的第3位为1,则整个输入过程结束。两个状态寄存器的端口地点分别是0024和0036,与其相应的数据输入寄存器的端口则为0026和0038,输入字符分别存入首地点为BUFF1和BUFF2的储存区中。7.编写一个程序,接收从键盘输入的10个十进制数字,输入回车符则停止输入,而后将这些数字加密后(用XLAT指令变换)存入内存缓冲区BUFFER。加密表为;输入数字:0,1,2,3,4,5,6,7,8,9密码数字:7,5,9,1,3,6,8,0,2,4答案一、回答以下问题1、(1)C9H2)1FH3)0FH2、答案:DAT_SGSEGEMNTHIGH_DATDB95DAT_SGENDS;STK_SGSEGMENTDW64DUP(?)STK_SGENDS;COD_SGSEGMENTMAINPROCFARASSUMECS:COD_SG,DS:DAT_SG,SS:STK_SGSTART:MOVAX,DAT-SGMOVDS,AXMOVAH,HIGH_DATMOVBH,AHMOVDL,AHMOVAH,4CHINT21HMAINENDPCOD_SGENDSENDSTART3、答案:DATASEGMENTTRINGDB‘Personalcomputer’VALDDB12,99VALHDB32H,0FAHVALZDB10DUP(‘0’)VALWDW20DUP(?).4、答案:1)1,表示BUFA所占的内存空间2)20,表示STA中DUP前重复的次数。5、非法标号:(1)由于‘.’只同意是标号的第一个字符第一个字符不可以为数字不一样意出现‘-’不可以是保存字,如助记符不可以有空格6、答案:(1)设置了4个字节(2)设置了2个字节7、答案:MOVBX,TABLE_ADDR;履行后(BX)=1234HLEABX,TABLE_ADDR;履行后(BX)=OFFSETTABLE_ADDR8、答案:00048h00020h9、答案:1)源和目的不可以同为内存变量2)两个种类不般配3)LAB为标号不为符号常量4)JNZ可跳转到标号,不可以跳转到变量。二、填空题1、1256H、3280H、2450H2、1030H,106CH,10B8H3、立刻数寻址方式、直接寻址方式4、=能够二次赋值,EQU不可以直接下次赋值,假如要二次赋值,一定使用PURGE排除后才行。5、前一个AND是一个命令,后一个AND是一个运算符。6、相等、零,不相等,不为零7、段内直接,段内间接,段间直接,段间间接8、在同一个段内,不在同一个段内。9、SI,DS,DI,ES10、ENDP,一定与过程名,ENDS,一定与段名三、选择题1、(1)、D(2)、A(3)、B(4)、C(5)、A(6)、B(7)、A2、(1)、B(2)、A(3)、D(4)、C(5)、B(6)、A(7)、C四、达成以下练习1、1000H,5000H,8000H2、答案:1)CMPCX,DXJNBHIEQU::HIEQU:.2)CMPAX,BXJGGREAT::GREAT:3)CMPCX,0JZZERO::ZERO:4)CMPAX,BXJLESMAEQU::SMAEQU:5)CMPCX,DXJBELOWEQU::LOWEQU:6)CMPAX,0JSNEGAT::NEGAT:7)TESTAX,AXJPIMAGE::IMAGE:、答案:(1)MOVDS,SEGSOURCEMOVES,SEGTDESTMOVSI,OFFSETSOURCEMOVDI,OFFESTDESTMOVCX,NAGAIN:MOVAL,[SI]MOVES:[DI],ALINCSIINCDILOOPAGAIN(2)MOVDS,SEGSOURCEMOVSI,OFFSETSOURCEMOVCX,N.AGAIN:MOVAL,[SI]INCSILOOPAGAIN(3)MOVES,SEGTDESTMOVDI,OFFESTDESTMOVCX,NAGAIN:MOVES:[DI],ALINCDILOOPAGAIN(4)MOVES,SEGTDESTMOVDI,OFFESTDESTMOVCX,NAGAIN:CMPAL,ES:[DI]INCDILOOPAGAIN五、是非判断题1)A(2)B(3)B(4)A(5)B(6)A(7)A(8)A(9)A(10)A六、请阅读以下程序,剖析其功能或结果1、读取键盘输入,并显示在显示器上。2、在打印机一输出字符‘B’,并回车。3、屏幕初始化,左上角行号为2,左上角列号为5,右下角行号为22,右下角列号为38,使用整个空白窗口。4、在屏幕上输出PRESSANYKEY并换行回车。5、在屏幕上输出1七、编写程序1、答案:abc:movah,1int21hcmpal,’a’jbstopcmpal,’z’jastopsubal,20hmovdl,almovah,2int21hjmpabcstop:ret2、答案:datareasegmentstring1db‘asfioa’string2db‘xcviyoaf’mess1db‘MATCH’,’$’mess2db‘NOMATCH’$,’.datareaendsprognamsegmentmainprocfarassumecs:prognam,ds:datareastart:pushdssubax,axpushaxmovax,datareamovds,axmoves,axbegin:movcx,string2-string1movbx,mess1-string2cmpbx,cxjnzdi

温馨提示

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

评论

0/150

提交评论