微机原理与接口技术试题库(含答案)汇总.doc

上传人:w****2 文档编号:6536165 上传时间:2020-02-28 格式:DOC 页数:25 大小:103.50KB
返回 下载 相关 举报
微机原理与接口技术试题库(含答案)汇总.doc_第1页
第1页 / 共25页
微机原理与接口技术试题库(含答案)汇总.doc_第2页
第2页 / 共25页
微机原理与接口技术试题库(含答案)汇总.doc_第3页
第3页 / 共25页
点击查看更多>>
资源描述
二、填空题1、对于R进制数来说,其基数(能使用的数字符号个数)是 R个 ,能使用的最小数字符号是 0 。2、十进制数72转换成八进制数是 110Q 。3、 与十进制数67等值的十六进制数是 43H 。4、二进制数101.011转换成十进制数是 5.375 。5、十六进制数0E12转换成二进制数是 110000010010B 。三、选择题1、在计算机内部,一切信息的存取、处理和传送都是以 D 形式进行的。A)EBCDIC码 B)ASCII码 C)十六进制编码 D)二进制编码2、与十进制数56等值的二进制数是 A 。A)111000 B)111001 C)101111 D)1101103、十进制数59转换成八进制数是 A 。A)73Q B)37Q C)59Q D)112Q4、与十进制数58.75等值的十六进制数是 B 。A)A3.CH B)3A.CH C)3A.23H D)C.3AH5、二进制数1101.01转换成十进制数是 C 。A)17.256 B)13.5 C)13.25 D)17.56、二进制数111010.11转换成十六进制数是 B 。A)3ACH B)3A.CH C)3A3H D)3A.3H7、十六进制数1CB.D8转换成二进制数是 D 。A)110001011.11001 B)111101011.11101 C)111101011.11101 D)111001011.110118、将十六进制数FF.1转换成十进制数是 C 。A)255.625 B)2501625 C)255.0625 D)250.06259、十进制正数43的八位二进制原码 B 。A)00110101 B)00101011 C)10110101 D)1010101110、十进制正数38的八位二进制补码是 D 。A)00011001 B)10100110 C)10011001 D)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,-27828 4.若用一个字节来表示带符号数,判断下列各运算在机内进行时是否会产生溢出,写出判断过程。 A. 5BH+32H; B. -08H-15H; C. -51H+(-3DH); D. 2DH+3CH答:A. 产生溢出, 5BH=01011011B其补码表示的机器数为:01011011 32H=00110010B其补码表示的机器数为:00110010 相加的结果为:10001101数值最高位向符号位进位,但符号位向前无进位,故产生溢出。B. 不产生溢出, -08H=-00001000B其补码表示的机器数为:11111000 -15H=-00010101B其补码表示的机器数为:11101011 相加的结果为:111100011 数值最高位向符号位进位,符号位同时也向前进位,故不产生溢出. C.产生溢出,-51H=-01010001B其补码表示的机器数为:10101111 -3DH=-00111101B其补码表示的机器数为:11000011 相加的结果为:101110010 数值最高位向符号位无进位,但符号位向前进位,故产生溢出. D.不产生溢出,2DH=00101101B其补码表示的机器数为:00101101 3CH=00111100B其补码表示的机器数为:00111100 相加的结果为:01101001 数值最高位向符号位无进位,符号位向前也无进位,故不产生溢出。5.设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=24C0AH7.设 AX=2875H、BX=34DFH、SS=1307H、SP=8H,依此执行 PUSH AX、PUSH BX、POP AX、POP CX后栈顶指针变为多少?AX=? BX=? CX=?答:当前栈顶指针=SS*10H+SP=13070H+8H=13078H,依此执行PUSH AX、PUSH BX、POP AX、POP CX后栈顶指针仍为13078H。但AX=34DFH,BX=34DFH,CX=2875H。 MOV DX,BX+SI3. 现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器的内容。(1)MOV AX,1200H(2)MOV AX,BX(3)MOV AX,1200H(4)MOV AX,BX(5)MOV AX,BX+1100(6)MOV AX,BX+SI(7)MOV AX,BX+SI+1100答:(1)指令MOV AX,1200H执行完后AX寄存器的内容为1200H; (2)指令MOV AX,BX执行完后AX寄存器的内容为0100H; (3)指令MOV AX,1200H是将从物理地址=(DS)*10H+1200H=21200H开始的两个单元内容送AX,执行完后AX寄存器的内容为4C2AH; (4)指令MOV AX,BX是将从物理地址=(DS)*10H+(BX)=20100H开始的两个单元内容送AX,故执行完后AX寄存器的内容为3412H; (5)指令MOV AX,BX+1100是将从物理地址=(DS)*10H+(BX)+1100H=21200H开始的两个单元内容送AX,故执行完后AX寄存器的内容为4C2AH; (6)指令MOV AX,BX+SI是将从物理地址=(DS)*10H+(BX)+(SI)=20102H开始的两个单元内容送AX,故执行完后AX寄存器的内容为7856H; (7)指令MOV AX,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) MOV AX,0ABH (2) MOV AX,BX (3) MOV AX,100H (4) MOV AX,VAL (5) MOV AX,BX (6) MOV AX,ES:BX (7) MOV AX,BP (8) MOV AX,SI (9) MOV AX,BX+10 (10) MOV AX,VALBX (11) MOV AX,BXSI (12) MOV AX,BPSI答:(1)在指令 MOV AX,0ABH 中,源操作数字段的寻址方式是立即数寻址,其物理地址值=(CS)*10H+(IP); (2)在指令 MOV AX,BX 中,源操作数字段的寻址方式是寄存器寻址,操作数在BX中,无物理地址; (3)在指令 MOV AX,100H 中,源操作数字段的寻址方式是直接寻址,其物理地址值=(DS)*10H+100 =29000H+100H=29100; (4)在指令 MOV AX,VAL 中,源操作数字段的寻址方式是直接寻址,其物理地址值=(DS)*10H+50H =29000H+50H=29050H; (5)在指令 MOV AX,BX 中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(DS)*10H +(BX)=29000H+100H=29100H; (6)在指令 MOV AX,ES:BX 中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(ES)*10H+(BX)=21000H+100H=21100H; (7)在指令 MOV AX,BP 中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(SS)*10H +(BP)=15000H+10H=15010H; (8)在指令 MOV AX,SI 中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(DS)*10H +(SI)=29000H+0A0H=290A0H; (9)在指令 MOV AX,BX+10 中,源操作数字段的寻址方式是寄存器相对寻址,其物理地址值=(DS)*10H+(BX)+0AH= 29000H+100H+0AH =2910AH; (10)在指令 MOV AX,VALBX 中,源操作数字段的寻址方式是寄存器相对寻址,其物理地址值=(DS)*10H+(BX)+50H= 29000H+100H+50H= 29150H; (11)在指令 MOV AX,BXSI 中,源操作数字段的寻址方式是基址变址寻址,其物理地址值=(DS)*10H+(BX)+(SI) =29000H+100H+0A0H =291A0H; (12)在指令 MOV AX,BPSI 中,源操作数字段的寻址方式是基址变址寻址,其物理地址值=(SS)*10H+(BP)+(SI)=15000H+10H+0A0H =150B0H5.分别指出下列指令中的源操作数和目的操作数的寻址方式。 (1)MOV SI,200 (2)MOV CX,DATASI (3)ADD AX,BX+DI (4)AND AX,BX (5)MOV SI,AX (6)PUSHF答:(1)目的操作数字段的寻址方式是寄存器寻址,源操作数字段的寻址方式是立即数寻址;(2)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是寄存器相对寻址;(3)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是基址变址寻址;(4)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式也是寄存器寻址;(5)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址;(6)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址;6.试述指令MOV AX,2010H和MOV AX,DS:2010H 的区别。答:指令MOV AX,2010H是将立即数2010H送AX寄存器,而指令MOV AX,DS:2010H是将DS段有效地址为2010H的两个单元的内容送AX。8.判断下列指令书写是否正确,如有错误,指出错在何处并用正确的程序段(一条或多条指令)实现原错误指令(8)、(13)除外)期望实现的操作。 (1)MOV AL,BX (9)MOV ES,3278H (2)MOV AL,SL (10)PUSH AL (3)INC BX (11)POP BX (4)MOV 5,AL (12)MOV 1A8H,23DH (5)MOV BX,SI (13)PUSH IP (6)MOV BL,F5H (14)MOV AX,23DH (7)MOV DX,2000H (15)SHL AX,5 (8)POP CS (16)MUL AX,BX答:(1)MOV AL,BX 错,源操作数为字类型,目的操作数为字节类型,二者不一致。应改为:MOV AX,BX 或 MOV AL,BL ;(2)MOV AL,SL 错,SI寄存器不能分为高8位和低8位使用,即没有SL寄存器。应改为:MOV AX,SI(3)INC BX 错,未指定操作数的类型。应改为:INC BYTE PTR BX (4)MOV 5,AL 错,目的操作数使用了立即数,在指令中一般不允许。应改为:MOV DS:5,AL (5)MOV BX,SI 错,源操作数和目的操作数均为内存单元,不允许。应改为:MOV AX,SI MOV BX,AX(6)MOV BL,F5H 错,源操作数错,以AF开头的数字前应加0。应改为:MOV BL,0F5H(7)MOV DX,2000H 正确。(8) POP CS 错,不能将栈顶数据弹至CS中。 (9)MOV ES,3278H 错,立即数不能直接送ES寄存器。应改为:MOV AX,3278HMOV ES,AX(10)PUSH AL 错,栈操作不能按字节进行。应改为:PUSH AX (11)POP BX 正确。(12)MOV 1A8H,23DH 错,源操作数是立即数,目的操作数必须使用寄存器指出。应改为: MOV BX,1A8H MOV BX,23DH (13)PUSH IP 错,不能用IP寄存器做源操作数。(14)MOV AX,23DH 错,不能用AX寄存器间接寻址。应改为:MOV BX,AX MOV BX,23DH(15)SHL AX,5 错,不能用大于己于1的立即数指出移位位数。应改为:MOV CL,5SHL AX,CL(16)MUL AX,BX 错,目的操作数AX是隐含的,不能在指令中写出。应改为:MUL BX9.设堆栈指针SP的初值为2000H,AX=3000H,BX=5000H,试问: (1)执行指令PUSH AX后 (SP)=? (2)再执行PUSH BX及POP AX后 (SP)=?(AX)=?(BX)=?答:(1)执行指令PUSH AX后 (SP)=2000H-2=1FFEH; (2)再执行PUSH BX及POP AX后 (SP)=1FFEH, (AX)=5000H, (BX)=5000H10.要想完成把2000H送1000H中,用指令:MOV 1000H,2000H是否正确?如果不正确,应用什么方法?答:把2000H送1000H中,用指令 MOV 1000H,2000H不正确,应改为:MOV AX,2000H MOV 1000H,AX11.假如想从200中减去AL中的内容,用SUB 200,AL是否正确?如果不正确,应用什么方法?答:想从200中减去AL中的内容,用SUB 200,AL不正确,应改为: MOV BL,200 SUB BL,AL1.假设OP1,OP2是已经用DB定义的变量, W_OP3和W_OP4是已经用DW定义的变量,判断下列指令书写是否正确?如有错误,指出错在何处?并写出正确的指令(或程序段)实现原错误指令期望实现的操作(19)、(20)不改)。(1)PUSH OP1(2)POP W_OP4(3)MOV AX, WORD PTR SIDI(4)MOV AX,WORD PTR ES:BX(5)MOV BYTE PTR BX, 1000 (6)MOV BX, OFFSET SI+200H(7)MOV OP2,BX(8)CMP HIGH W_OP3, 25(9)CMP OP1, OP2 (10)CMP AX, OP2(11)MOV W_OP3BX+4*3DI, SP(12)ADD W_OP3, W_OP4(13)MOV AX, W_OP3DX(14)MOV OP1, LOW DS(15)MOV SP, OP2BXSI(16)MOV AX, W_OP3+W_OP4(17)MOV AX,W_OP3-W_OP4+100(18)SUB AL, W_OP3+7(19)MOV AX,BX SHL 2(20)MOV BX,W_OP3 AND 8FD7H答:1. (1)PUSH OP1 错,OP1为字节类型,栈操作不能按字节进行,应改为:PUSH WORD PTR OP1 (2)POP W_OP4 正确。 (3)MOV AX, WORD PTR SIDI 错,源操作数寻址方式有问题。 应改为: MOV BX, SI MOV AX, WORD PTR BXDI (4)MOV AX,WORD PTR ES:BX错,若源操作数为寄存器寻址是不能加段说明及属性修改的。显然,原意应为寄存器间接寻址,故应改为: MOV AX,WORD PTR ES:BX(5)MOV BYTE PTR BX, 1000 错,源操作数为字类型,目的操作数为字节类型,二者不一致。应改为: MOV WORD PTR BX, 1000 (6)MOV BX, OFFSET SI+200H 错,OFFSET运算应在汇编时完成,但SI+200H在执行指令时才可获得。应改为: LEA BX,SI+200H (7)MOV OP2,BX 错,源操作数和目的操作数均为内存单元,不允许。应改为: MOV AL, BX MOV OP2, AL (8)CMP HIGH W_OP3, 25错,目的操作数中使用HIGH来分离存储器操作数,这是不允许的。应改为: CMP BYTE PTR W_OP3+1,25 (9)CMP OP1, OP2错,源操作数和目的操作数均为内存单元,不允许。应改为: MOV AL, OP2 CMP AL, OP1 (10)CMP AX, OP2错,源操作数为字节类型,目的操作数为字类型,二者不一致。应改为: CMP AX, WORD PTR OP2 (11)MOV W_OP3BX+4*3DI, SP正确。(12)ADD W_OP3, W_OP4错,源操作数和目的操作数均为内存单元,不允许。应改为: MOV AX, W_OP4 ADD W_OP3, AX (13)MOV AX, W_OP3DX 错,不能用DX寄存器间接寻址。应改为: MOV BX, DX MOV AX, W_OP3BX (14)MOV OP1, LOW DS错,源操作数中使用LOW来分离寄存器操作数,这是不允许的。应改为: MOV WORD PTR OP1,DS (15)MOV SP, OP2BXSI 错,源操作数为字节类型,目的操作数为字类型,二者不一致。应改为:MOV SP, WORD PTR OP2BXSI (16)MOV AX, W_OP3+W_OP4错,两个标识符相加无意义。应改为: MOV AX, W_OP1 ADD AX, W_OP2(17)MOV AX,W_OP3-W_OP4+100正确,源操作数为两个标识符(地址)相减再加一数,汇编时得到一个数。(18)SUB AL, W_OP3+7错,两个操作数类型不一致。应改为: SUB AL, BYTE PTR W_OP3+7(19)MOV AX,BX SHL 2错,SHL只能对常量进行运算,左边不能使用寄存器(20)MOV BX,W_OP3 AND 8FD7H错,AND只能对常量进行运算,左边不能使用变量4.设已定义数据段 DATA SEGMENT VAR2 DW 10H,7889H VAR5 DB 20H,0 ADRR DW VAR2,VAR5 DATA ENDS为使ADRR字存储单元中存放内容为“0010H”,ADRR2字存储单元中存放内容为“0020H”,上述省略号位置应分别填写一条什么语句?说明理由。答:为使ADRR字存储单元中存放内容为“0010H”,ADRR2字存储单元中存放内容为“0020H”,上述省略号位置应分别填写ORG 10H 和 ORG 20H, 或者分别填写语句VAR1 DB 10H DUP(?) 和 VAR3 6 DUP(?)5.下面的数据段中,有数据为4100H的字存储单元有几个?它们的偏移量分别是多少? DATA SEGMENT DA1 DB 0 ORG 41H DA2 DB 0,A,41H,0,41H ADR DW DA1,DA2DATA ENDS答:给出的数据段中,有数据4100H的字存储单元有3个,它们的偏移量分别是41H、 44H、47H。=一、填空题1、执行部件EU的组织有: 4个通用寄存器 , 4个专用寄存器 和 1个标志寄存器和算术逻辑部件 。2、8086CPU从偶地址访问内存1个字时需占用 1个总线 周期,而从奇地址访问内存1个字操作需占用 2个总线 周期。3、IBM-PC机中的内存是按段存放信息的,一个段最大存贮空间为 64K 字节。4、8086微处理机在最小模式下,用 M/ 来控制输出地址是访问内存还是访问I/O。5、一台计算机能执行多少种指令,是在 设计 时确定的。二、单项选择题1、微型计算机的性能主要由 B 来决定。 A、价钱 B、CPU C、控制器 D、其它2、对微处理器而言,它的每条指令都有一定的时序,其时序关系是 C A、一个时钟周期包括几个机器周期,一个机器周期包括几个指令周期。 B、一个机器周期包括几个指令周期,一个指令周期包括几个时钟周期。 C、一个指令周期包括几个机器周期,一个机器周期包括几个时钟周期。 D、一个指令周期包括几个时钟周期,一个时钟周期包括几个机器周期。3、属于数据寄存器组的寄存器是 C A、AX,BX,CX,DS B、SP,DX,BP,IP C、AX,BX,CX,DX D、AL,DI,SI,AH4、微型计算机的ALU部件是包含在 D 之中。 A、存贮器 B、I/O接口 C、I/O设备 D、CPU5、在8086和8088汇编语言中,一个字能表示的有符号数的范围是 B A、-32768n32768 B、-32768n32767 C、-65535n65535 D、-65536N655356、80386微型计算机是32位机,根据是它的 D 。 A、地址线是32位 B、数据线为32位 C、寄存器是32位的 D、地址线和数据线都是32位7、某数存于内存数据段中,已知该数据段的段地址为2000H,而数据所在单元的偏移地址为0120H,该数的在内存的物理地址为( B ) A02120H B.20120H C.21200H D.03200H8、在存贮器读周期时,根据程序计数器PC提供的有效地址,使用从内存中取出( D ) A操作数 B.操作数地址 C.转移地址 D.操作码9、8086/8088系统中,对存贮器进行写操作时,CPU输出控制信号有效的是( A ) A.W/=1, =0 B. =1 C.M/=0, =0 D.=010、在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是( D ) A.IN AL,端口地址 B.MOV AL,端口地址 C.OUT AL,端口地址 D.OUT 端口地址,AL(1) ;(2) X和Y两个数均为有符号的补码数。一、 回答下列问题1、 设VALA EQU 200 VALB EQU 30 VALC EQU 1BH下列表达式的值各为多少?(1)(VALA*VALC+VALB)/VALC(2)(VALB AND 0FH)OR (VALB XOR 0FH)(3)(VALA GE VALB )AND 0FH6、下面的数据项设置了多少个字节?(1) ASC_DATADB1234(2) HEX_DATA DB1234H7、 DATASEGMENTTABLE_ADDRDW1234HDATAENDS . . .MOVBX, TABLE_ADDRLEABX, TABLE_ADDR 请写出上述两条指令执行后, BX寄存器中的内容。9、AR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处。 (1)ADD VAR1,VAR2 (2)SUB AL,VAR1 (3)JMP LABSI (4)JNZ VAR1 二、填空题1、假设(DS)=2000H,(BX)=1256H,(SI)=528FH;位移量TABLE=20A1H,(232F7H)=3280H,(264E5H)=2450H,则执行指令JMP BX后,(IP)= ;执行指令JMP TABLEBX后,(IP)= ;执行指令JMP BXSI后,(IP)= 。2、在1000H单元中有一条二字节指令JMP SHORT LAB,如果其中偏移量分别为30H、6CH、0B8H,则转向地址LAB的值分别为 ; ; ;3、数据段中有以下定义:ARRAY1 EQU 16HARRAY2 DW 16H请指出下面两条指令的寻址方式:MOV AX,ARRAY1; 寻址方式 。MOV AX,ARRAY2; 寻址方式 。4、下面两个语句的区别在于 、 。 X1 EQU 1000H X2 =1000H5、指令“AND AX,STR1 AND STR2”中,STR1和STR2是两个已赋值的变量,两个AND的区别是 、 。6、指令LOOPZ/LOOPE是结果 或 发生转移的指令。而指令LOOPNZ/LOOPNE则是结果 或 发生转移的指令。7、调用指令CALL可分为 、 、 和 等四种调用。8、在汇编语言中,一个过程有NEAR和FAR两种属性。NEAR属性表明主程序和子程序 ,FAR属性表示主程序和子程序 。9、串处理指令规定源寄存器使用 ,源串在 段中;目的寄存器使用 ,目的串必须在 段中。10、 是过程定义结束伪指令,与 配套使用。 是段定义结束伪指令,与 配套使用。三、选择题 1、执行下列程序,选择正确的结果:MOV SP,2000HMOV AX,0F0HMOV SI,1234HMOV DX,5678HPUSH SIPOP DISHL DX,1TEST AX,DXPUSH DXHLT(1)SP= ;A)2000H B)1FFFHC)2001H D)1FFEH(2)DH内容所在存储器的偏移地址为 ;A)1FFFH B)1FFEHC)1FFDH D)1FFCH(3)DL内容所在存储器的偏移地址为 ;A)1FFFH B)1FFEHC)2000H D)1FFCH(4)(AX)= ;A)0H B)78HC)0F0H D)56H(5)(DI)= 。A)1234H B)5678HC)2000H D)00F0H(6)(DX)= ;A)5678H B)0ACF0HC)2B3CH D)0ABF0H(7)标志位ZF= 。A)0 B)1 C)不定 D)无值2、下面是多字节加法程序,第一个数和是8A0BH,第二个数是D705H。DATASEGMENTFIRSTDB (1), (2),0HSECOND DB (3), (4)DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX, (5)MOV SI,0 (6)NEXT: MOV AL,SECONDSIADC FIRSTSI,ALINC SILOOP NEXTMOV AL,0ADC AL, (7) MOV FIRSTSI,ALMOV AH,4CHINT 21HCODEENDSEND START请选择正确的答案填入空格中:(1)A)8AH B)0BH C)D7H D)05H(2)A)8AH B)0BH C)D7H D)05H(3)A)8AH B)0BH C)D7H D)05H(4)A)8AH B)0BH C)D7H D)05H(5)A)3 B)2 C)1 D)4(6)A)CLC B)CLD C)STC D)CLI(7)A)1 B)-1 C)0 D)0FFH四、完成下列练习1、 设(DS)=0300H,(CS)=0200H,(IP)=0100H,(BX)=1000H,DISPLACE=2000H,(4000H)=5000H,(6000H)=8000H确定无条件转换指令的段内转移地址(1) JMP BX(2) JMP BX(3) JMP DISPLACEBX2、 设AX和BX寄存器中是有符号数,CX和DX寄存器中是无符号数,写出下列条件转移指令。(1) CX值高于或等于DX值,则转移HIEQU(2) AX值大于BX值,则转移GREAT(3) CX值为0,则转移ZERO(4) AX值小于或等于BX值,则转移SMAEQU(5) CX值低于或等于DX值,则转移LOWEQU(6) AX为负值,则转移NEGAT(7) AX为偶数,则转移IMAGE3、 写出下列串操作指令所替代的指令序列。(1) REP MOVSB(2) REP LODSB(3) REP STOSB(4) REP SCASB五、是非判断题程序在数据段中的定义如下:DATASEGMENTNAMESDB ABCDNAMETDW 20DATAENDS请判断下列指令是否正确?正确的填A,错误的填B。(1) MOV BX,OFFSET NAMES ( ) (2) MOV AL,BX+2 ( )( 3) MOV AX,NAMES ( )(4) MOV AX,WORD PTR NAMES+1 ( )(5) MOV AL,NAMET ( )(6) MOV AL,BYTE PTR NAMET ( )(7) MOV AX,DATA ( )(8) MOV DS,AX ( )(9) MOV AX,SEG NAMES ( )(10) MOV BX,DATA ( )六、请阅读下列程序,分析其功能或结果1、 MOV AH,00 INT 16H MOV AH,0AH MOV CX,00 MOV BH,00 INT 10H2、 MOV AH,00 MOV AL,66 MOV DX,00 INT 17H MOV AH,00 MOV AL,0DH INT 17H3、 MOV AH,07 MOV AL,00 MOV BL,70H MOV CH,02 MOV CL,05 MOV DH,22 MOV DL,38 INT 10H4、MESSDB PRESS ANY KEY,0DH,0AH,$MOV AH,09MOV DX,SEG MESSMOV DS,DXMOV DX,OFFSET MESSINT 21H5、MOV AH,2MOV DL,1INT 21H七、编写程序1. 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。2. 编写程序,比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则显示“MATCH”,若不同则显示“NO MATCH”。3. 试编写程序,要求从键盘输入3个16进制数,并根据对3个数的比较显示如下信息: (1)如果3个数都不相等则显示0; (2)如果3个数中有2个数相等则显示2; (3)如果3个数都相等则显示3。4. 已知整数变量A和B,试编写完成下述操作的程序: (1)若两个数中有一个是奇数,则将该奇数存入A中,偶数存入B中; (2)若两个数均为奇数,则两数分别加1,并存回原变量; (3)若两个数均为偶数,则两变量不变。5. 把010010之间的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)C9H(2)1FH(3) 0FH2、答案:DAT_SG SEGEMNTHIGH_DATDB 95DAT_SG ENDS;STK_SG SEGMENT DW64 DUP(?)STK_SG ENDS;COD_SG SEGMENTMAINPROCFARASSUMECS: COD_SG, DS: DAT_SG, SS: STK_SGSTART:MOVAX, DAT-SGMOVDS, AXMOVAH, HIGH_DATMOVBH, AHMOVDL, AHMOVAH, 4CHINT21HMAIN ENDPCOD_SG ENDS END START3、答案: DATA SEGMENTTRING DB Personal computerVALD DB 12,99VALH DB 32H,0FAHVALZ DB 10 DUP(0)VALW DW 20 DUP(?)4、答案:(1) 1,表示BUFA所占的内存空间(2) 20,表示STA中DUP前重复的次数。5、非法标号: (1)因为.只允许是标号的第一个字符(2)第一个字符不能为数字 (3)不允许出现-(4)不能是保留字,如助记符 (5)不能有空格6、答案: (1) 设置了4个字节 (2) 设置了2个字节7、答案:MOVBX,TABLE_ADDR; 执行后(BX)=1234H LEA BX,TABLE_ADDR; 执行后(BX)=OFFSET TABLE_ADDR8、 答案: (1) 00048h (2) 00020h9、答案:(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)、A 2、(1)、B (2)、A (3)、D (4)、C (5)、B (6)、A (7)、C 四、完成下列练习1、1000H,5000H,8000H2、答案:(1) CMP CX,DXJNB HIEQU:HIEQU:(2) CMP AX,BX JG GREAT:GREAT:(3) CMP CX,0 JZ ZERO:ZERO:(4) CMP AX,BX JLE SMAEQU:SMAEQU:(5) CMP CX,DX JBE LOWEQU:LOWEQU:(6) CMP AX,0 JS NEGAT:NEGAT:(7) TEST AX,AX JP IMAGE:IMAGE: 3、答案:(1)MOV DS,SEG SOURCE MOV ES,SEGT DESTMOV SI,OFFSET SOURCE MOV DI,OFFEST DEST MOV CX,N AGAIN: MOV AL,SI MOV ES:DI,AL INC SI INC DI LOOP AGAIN(2)MOV DS,SEG SOURCEMOV SI,OFFSET SOURCE MOV CX,N AGAIN: MOV AL,SI INC SI LOOP AGAIN (3) MOV ES,SEGT DEST MOV DI,OFFEST DEST MOV CX,N AGAIN: MOV ES:DI,AL INC DI LOOP AGAIN (4) MOV ES,SEGT DEST MOV DI,OFFEST DEST MOV CX,N AGAIN: CMP AL,ES:DI INC DILOOP AGAIN五、是非判断题(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、在屏幕上输出PRESS ANY KEY并换行回车。5、在屏幕上输出1 七、编写程序1、答案:abc:movah,1int21hcmpal,ajbstopcmpal,zjastopsubal,20hmovdl,almovah,2int21hjmpabcstop: ret2、答案:datareasegmentstring1dbasfioast
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!