微机原理与接口技术期中自测题一、选择题:(每题1分,共20分)1.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是( )。
A.2025∶0F2AB.2108∶00EAC.2000∶017AD.2100∶117A2.能够将’以寄存器DI间接寻址的存储器字节单元’内容加1的指令是( )。
A.INC [DI]B.INC DIC.INC BYTE PTR[DI]D.ADD [DI],13.有语句:COUNT EQU 256,下列四种叙述中,正确的是( )。
A.COUNT是变量B.COUNT占用一个字节存储单元C.COUNT是符号常数D.COUNT占用二个字节存储单元4.下面指令中,源操作数的寻址方式为立即寻址的是( )。
A.MOV AX,OFFSET AB.MOV AX,AC.MOV AX,A+1D.MOV AX,A[BX]5.已知SP=2110H,执行POP AX后,SP寄存器的值是( )。
A.2111HB.2112HC.210FHD.210EH6.将AX中有符号数除以2的正确指令是( )。
A.SHR AX,1B.SAR AX,1C.ROR AX,1D.RCR AX,17.比较BX和SI中的两个存储器地址,若BX≥SI转向HIGH的正确指令是( )。
A.JAE HIGHB.JBE HIGHC.JEG HIGHD.JLE HIGH8.9.有数据定义语句BUF DW 0ABH,1,10 DUP(3 DUP(1,0),2)汇编后,为变量BUF分配的存储单元字节数是( )。
A.48HB.90HC.120D.6010.下列指令执行后,不改变AL寄存器内容的指令是( )。
A.AND AL,1B.CMP AL,DLC.XOR AL,ALD.SUB AL,DL11.执行01H号DOS系统功能调用,从键盘输入的字符值存放在( )寄存器中。
A.ALB.BLC.CLD.DL12.执行下面指令语句,则AX=( )。
MOV AL,95HCBWA.0095HB.0F95HC.0FF95HD.9095H13.将DX,AX中32位数左移一位的指令序列是( )。
A.SHL AX,1B.RCL AX,1RCL DX,1 SHL DX,1C.SHL AX,1D.RCL AX,1SHL DX,1 RCL DX,114.将CX寄存器低4位清零,其余位保持不变的正确指令是( )。
A.AND CX,0F0HB.AND CX,0FFF0HC.AND CX,1110HD.MOV CX,015、下面四条指令中,源操作数不采用立即寻址的是()。
A、MOV AX, DATAB、MOV AX, 1234HC、MOV EAX, [EBX]D、MOV AX, OFFSET ARY16、在数据段有如下定义:A_BUF DB ‘1234567’,则A-BUF字节单元的内容是()。
A、31HB、01HC、12HD、1217、已知(DS)=2000H,(ES)=3000H,(CS)=4000H,(SS)=5000H,(BP)=2080H,COUNT=80H 则指令MOV AX,COUNT[BP]中,源操作数的物理地址为()。
A、22100HB、52100HC、52000HD、22000H18、19、如果当前AL寄存器的内容为-1,则以下指令中,不能转向符号地址NEXT处执行的是()A 、 AND AL, 0FFHB 、 CMP AL, 7FHJZ NEXT JA NEXTC 、 CMP AL, 0FFHD 、 TEST AL, 0FFHJE NEXT JNZ NEXT20、Intel 8086 CPU 读取代码段中的指令,使用的一对寄存器是()A 、 CS:IPB 、 DS:BXC 、 SS:SPD 、 ES:SI二、填空题:(每空1分,共20分)1.在8086/8088系统中,存储器物理地址是分段组织的。
堆栈段的段地址存放在____寄存器中,栈顶数据的偏移地址放在_____寄存器中。
代码段的段地址存放在_____寄存器中,偏移地址在____寄存器中。
2.已知DS=29A0H,某数据的物理地址是2A400H,则当DS=6700H时,该数据的物理地址是_____。
3.已知DS=4000H,BX=0100H,SI=0004,(40100H)=28H,(40101H)=69H,(40104H)=10H,(40105H)=9AH,先执行MOV AX,[0100H],(AX)=____再执行ADD AX,[BX+SI],(AX)=____,CF=____。
4.有下列数据定义:AA DW 1,2,3,4,5,6,7COUNT EQU ($-AA)/2则COUNT=__ ___。
5.用于控制字符操作地址增量方向的状态标志位是______,表示加法结果溢出的状态标志位是________,允许产生中断时,IF=________。
6.在移位指令中,用于指定移位位数的操作数只能是______及_____。
7.用于表示无符号数大于或等于的条件转移指令是___________;用于表示带符号数大于或等于的条件转移指令是___________。
8.子程序传送参数的方法通常有_______、_______和堆栈三种方法。
9. 乘法指令MUL的指令格式只有一个源操作数,若源操作数的类型属性为字节,则目的操作数在_______中,若源操作数的类型属性为字,则目的操作数在_______中。
三解答题(30分)1 .假定初始情况(DX)=0B9H,(CL)=3,(CF)=1,下列各条指令单独执行以后,DX的值分别是多少?(6分)SHR DX,1SAR DX,CLSHL DX,CLSHL DX,1ROR DX,CLROL DX,CL2. 设DS=1000H,BX=200H,SI=2H,(10200H)~(10205H)的内容为10H、2A H、3CH、46H、59H、6BH。
试问,下列每条指令单独执行完成后,AX寄存器的内容是什么?(6分)MOV AX,0200HMOV AX,[200H]MOV AX,BXMOV AX,3[BX]MOV AX,[BX+SI]MOV AX,2[BX+SI]3 读下列程序段,对程序加以注释,并说出程序的功能;当(AL)=5BH,写出执行程序后AL的值。
(6分)MOV BL,ALMOV CX,8AGAIN:ROL BL,1RCR AL,1LOOP AGAIN4.读下列程序段,并回答执行下面的代码后,AL与BL的内容是什么?并说明该程序段的功能。
(6分)MOV AL, 12HMOV BL, ALAND AL, 0FHOR AL, 30HMOV CL, 4SHR BL, CLADD BL, 30H5 设寄存器AX,BX,CX中的内容都是1234H,字类型变量value中的内容为0F0FH,执行下列指令序列:OR AX,valueAND BX,valueXOR CX,value则(AX)=____,(BX)=_____,(CX)=_____ (3分)6.MOV AL,5ADD AL,ALMOV BL,ALADD AL,ALADD AL ,BL上述程序段执行后,(AL)=____,(BL)=_____程序段的功能用数学表达式表示__ ___ (3分)四. 编写完整的程序:从键盘上输入两个’0’到’9’之间的字符,把它们转化为数字,然后把一个数字放在字节类型内存变量m1中, 把另一个数字放在字节类型内存变量m2中,然后把m1的内容和m1的内容相加,把它们的和放到BL 中.把m1的内容和m2的内容作为无符号书相乘,把乘积放到AX 中.(10分)五.编写完整的程序实现如下分段函数: (10分)⎩⎨⎧≤-≤≤+=为无符号整数且为无符号整数且x x x x x x y 3 , 1 20 , 1六. 已知在附加段ES 中定义了一个字符串string2 , 它含有9个字符,查找在字符串中是否含有字母’o ’,若找到,输出提示信息“FOUND ”,记录字母的偏移地址,放到数据段中定义的内存变量pointer 中,计算它和string2的位移量,放到数据段中定义的内存变量m2中, 若找不到,输出提示信息“NOT FOUND ”.部分程序如下:请在中间添加程序 (10分)ESEG SEGMENTSCIENCE DB 'hello world'STRING2 DB 'hello nbu'ESEG ENDSDA TA SEGMENTSTRING1 DB 'hello world'MESSAGE1 DB 'FOUND',0DH,0AH,'$'MESSAGE2 DB 'NOT FOUND',0DH,0AH,'$'POINTER DW ?M2 DW ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:ESEGSTART: MOV AX,DATAMOV DS,AXMOV AX,ESEGMOV ES, AXCLDLEA DI, STRING2MOV CX,9MOV AL,'o'LABLE2: MOV AH,4CHINT 21HCODE ENDSEND START。