第1章自测练习
一、选择题(四选一)
1.某个加法运算结果使标志ZF=1,则标志SF为A。
A0 B 1 C 不改变原来的状态 D 不确定
2.可以为存储器操作数提供偏移地址的寄存器组是B。
A AX、BX、CX、DX
B BX、BP、SI、DI
C SP、IP、BP、DX
D CS、DS、ES、SS
3.8086/8088确定下一条执行指令物理地址的计算表达式为D。
A DS× 16+EA
B ES× 16+EA
C SS×l6+SP
D CS×l6+IP
4.某系列微机对存储器分段,如果每个段最多的字存储单元(16位二进制)是32K,那
么表示段内字节单元偏移地址的二进制位数应是C位。
A14 B 15 C 16 D 20
5.十进制数-100的8位二进制数的补码为 D 。
A10011011 B 01100100 C 10011101 D 10011100
6.下列各个8位二进制数的补码中,绝对值最大的是A。
A10001000 B 11111110 C 00000100 D 00000001
7.16位有符号数的补码所表示的十进制数的范围是B。
A-32767~+32768 B -32768~+32767
C -65535~+65536
D 0~65535
8.对数值83A7H作逻辑非运算后的结果是D。
A83A8H B、73A8H C、7C59H D、7C58H
9.指令“mov cx,[bp+16]”的源操作数采用的段寄存器是 B 。
A CS
B SS
C DS
D ES
10.指向程序堆栈区的段寄存器是 B 。
A CS
B SS
C DS
D ES
11.有效地址是指 C 。
A存储器操作数的物理地址 B 存储器操作数的段地址
C 存储器操作数的偏移地址
D 立即数的偏移地址
12.寄存器间接寻址方式中,操作数在 C 中。
A通用寄存器 B 段寄存器
C 主存单元
D 堆栈
13.指令“mov ax,es:[bx][si]”源操作数的物理地址是D。
A16×CS+BX+SI B 16×SS+BX+SI
C 16×DS+BX+SI
D 16×ES+BX+S1
14.算术运算类指令的寻址和转移类指令的寻址,两者的不同之处是A。
A前者存取操作数,后者决定程序跳转的目的地址
B 后者存取操作数,前者决定程序跳转的目的地址
C 两者都是存取操作数
D 两者都决定程序跳转的目的地址
二、填空题
1.8086/8088 CPU有4种逻辑段,可执行指令代码通常应该存放在代码段CS 段。
2.存储器中,数据是以字节为单位存放的,它是一个8 位二进制数。
3.在表达存储容量时,1KB= 1024 B;1MB= 1024 KB.
4.16位二进制数被称为一个字(word);存放时要将低字节放在地址较
小的存储单元中。
5.机器指令分成操作码和操作数两个字段。
6.某存储单元的逻辑地址为3A80:13EBH,其中的3A80H是段地址,13EBH是
偏移地址;该存储单元的物理地址是3BBEBH ,若第一个地址改变为
30D4H,则该存储单元的第二个地址为0AEABH。
7.微型计算机一般都采用总线结构,系统总线的信号线有三组,即数据总线、
地址总线和控制总线。
8.在堆栈结构中,其数据的操作原则是先进后出。
9.在标志寄存器中,第11位(OF)的作用是判断有符号数是否溢出,第6
位(ZF)的作用是判断结果是否为零。
10.当两个无符号数相减(加)产生借位(进位)时,标志CF= 1 。
11.8088/8086具有20条地址线,所以其主存容量可达1MB 。
12.现有一个二进制数10110101,若将该数看作是无符号数,原码、反码和补码表示
的有符号数,则对应的真值分别是181 、-53、-74 和
-75 。
13.已知有一个物理地址34567H,可以采用的逻辑地址有3000 H:4567H、
3450H:0067 H等。
三、问答题
1.简述汇编语言相对高级语言的优点。
答:汇编语言程序便于直接控制硬件,用汇编语言产生的可执行程序容量小、执行速度快、效率高。
2.8086有哪4种逻辑段,各种逻辑段分别是什么用途。
代码段:存放程序的指令序列
堆栈段:确定堆栈所在的主存储区域。
数据段:存放程序使用的数据。
附加段:同数据段一样也用于存放程序使用的数据。
3.对存储器操作数的段地址的默认规定是什么?
除以BP寄存器访问主存默认采用堆栈段SS外,其他存储器操作数默认采用数据段DS作为段地址。
4.有效地址EA是指什么?
有效地址EA是指存储器操作数的偏移地址。
5.什么是逻辑地址和物理地址,如何由逻辑地址求得对应的物理地址?
逻辑地址:8086/8088CPU内部和程序设计时,以两个16位的“段地址:偏移地址”形式表达主存单元,这种地址表达形式就是逻辑地址。
物理地址:8086/8088CPU外部寻址主存时使用的20位地址。
逻辑地址的段地址左移4位加偏移地址就是20位物理地址。
6.写出下列逻辑地址(十六进制形式)的段地址、偏移地址和物理地址
①2314:0024 段地址为2314H、偏移地址为0024H,物理地址为23164H
②1FD0:001A段地址为1FD0H、偏移地址为001AH,物理地址为1FD1AH
7.写出下列指令的源操作数采用的寻址方式?如果可以计算,其物理地址是多少?
假设DS=3000H、ES=3100H、SS=2000H、SI=00ABH、BX=0200H、BP=0020H,变量var的偏移地址为0080H。
①mov ax,var
直接寻址,物理地址=3000H*16+0080H=30080H
②mov ax,[bx]
寄存器间接寻址,物理地址=3000H*16+0200H=30200H
③mov ax,var[bx]
寄存器相对寻址,物理地址=3000H*16+0200H+0080H=30280H
④mov ax,[200h]
直接寻址,物理地址=3000H*16+0200H=30200H
⑤mov ax,0
立即寻址,操作数在代码段中。
⑥mov ax,si
寄存器寻址,操作数在寄存器SI中,为00ABH。
⑦mov ax,es:[bx]
寄存器间接寻址,物理地址=3100H*16+0200H=31200H
⑧mov ax,ds:[bp+2]
寄存器相对寻址,物理地址=3000H*16+0020H+0002H=30022H
⑨mov ax,var[bx][si]
相对基址变址寻址,物理地址=3000H*16+0200H+000ABH+0080H=3032BH
第2章自测练习
一、选择题(四选一)
1.下列指令中,属于非法指令的是 D 。
A mov [si],al
B push [si]
C jmp bx
D in ah,dx
2.下列指令中,有语法错误的是A。
A mov [si],[di]
B and ax,cx
C jmp word ptr[bx]
D idiv bx
3.下列A指令不合法。
A in ax,278h
B rcr dx,cl
C cmpsb
D ret 4
4.执行如下指令“mov sp,4320h”和“push bx”之后,SP寄存器的值是 C 。
A4321H B 4322H C 431EH D 431FH
5.假设SS=2000H、SP=0100H、AX=2021H,执行指令PUSH AX,存放数据21H的
堆栈区的物理地址是C。
A20102H B 20101H C 200FEH D 200FFH
6.将寄存器AX的内容乘以2的正确指令序列是B。
A shr ax,1
B shl ax,1
汇编判断指令C ror ax,1
D rcr ax,1
7.执行DEC指令不影响的标志位是 D 。
A SF
B PF
C OF
D CF
8.执行除法指令后,影响的标志位是A。
A所有状态标志都不确定 B CF、OF
C SF、ZF
D AF、PF
9.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令
是 D 。
A CMP
B SUB
C AN
D D MOV
10.为使CX=-1,执行“jz minus”转至标号minus而编制了一指令,其中错误的是
C 。
A inc cx
B sub cx,0ffffh
C and cx,0ffffh
D xor cx,0ffffh
11.当一个带符号数大于0FBH时程序转移,在“cmp al,0fbh”指令后,需选用的条件
转移指令是C。
A JLE
B JNL
C JNLE
D JL
12.测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,那么在“JZ
NEXT”指令前的一个指令应是B。
A test bl,4fh
B xor bl,4fh
C and bl,4fh
D or bl,4fh
13.循环指令LOOPNZ继续循环的条件是 C 。
A CX=0,且ZF=0
B CX=0,或ZF=1
C CX≠0,且ZF=0
D CX≠0,或ZF=1
14.CBW指令的功能是 B 。
A把源操作数的符号位扩展到目的操作数中
B 把AL中的符号位扩展到AH中
C 把AH中的符号位扩展到AL中
D 把AX中的符号位扩展到DX中
15.下列4条指令mul bx、div bl、in ax,20h、out 21h,al中,有A条指令需要使
用DX寄存器。
A 1
B 2
C 3
D 4
16.设AX=0012H、BX=0034H,那么下述程序段
mov cl,8
rol ax,cl
or ax,bx
执行后,AX= A。
A1234H B 3412H C 0046H D 0034H
17.执行下列指令序列
mov al,81h
add al,al
adc al,al
后,AL= B 。
A04H B 05H C 204H D 205H
18.假定DS=4000H、DI=0100H、[40100H]=55H、[40101H]=AAH,那么执行指令“lea
bx,[di]”后,BX= C 。
A AA55H
B 55AAH
C 0100H
D 4100H
19.设AL=20H、SI=0500H、DS=3000H、[30500H]=0C0H、CF=1。执行“SBB AL,[SI]”
指令后,正确的结果是 C 。
A AL=5FH、SF=1、CF=1
B AL=60H、SF=1、CF=0
C AL=5FH、SF=0、CF=1
D AL=60H,SF=0、CF=0
二、填空题
1.指令SAR可用来对有符号数除以2,而指令SHR可用来对无符号数除
以2。MUL BX指令的结果存在DX 和AX 寄存器中,等效于loop指
令的两条指令依次是DEC CX和JNZ 。
2.已知SI=1000H,AX=ABCDH、SP=0100H、BP=00FEH,给出下列指令顺序执行后,
指定寄存器中的内容.
push ax ;AX= ABCDH 、SP= 00FEH
push si ;SI= 1000H 、SP= 00FCH
pop ax ;AX= 1000H 、SP= 00FEH
push bp ;BP= 00FEH 、SP= 00FCH
pop si ;SI= 00FEH 、SP= 00FEH
pop bp ;BP= ABCDH SP= 0100H
push ax ;AX= 1000H 、SP= 00FEH
pop bx ;BX= 1000H 、SP= 0100H
3.设DS=2000H、BX=1256H,变量table的偏移地址为20A1H,[232F7H]=3280H。
请问下列指令分别执行后,IP的值各是多少?
①jmp bx ;IP= 1256H
②jmp table [bx] ;IP= 3280H
三、问答题
1.试述mov ax,bx和mov ax,[bx]两条语句的异同点?
相同:实现将数据传送到AX寄存器。
不同:两者的源操作数不同。前者来自BX本身,后者来自BX指向的存储单元。
2.请指出如下各条指令的错误原因,并按照原意修改正确:
①mov [di],8000h
没有明确是字操作,改为:mov word ptr [di],8000h
②rcl ax,bl
移位指令只能采用CL寄存器指明移位位数,正确为:rcl ax,cl
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论