汇编 复习思考题
更新时间:2024-04-03 12:45:01 阅读量: 综合文库 文档下载
- 汇编语言推荐度:
- 相关推荐
第一部分 汇编语言部分思考题
一、选择题:
1.假设BUF是一个已经定义的变量名。与LEA BX,BUF指令完全等效的指令是( )
A.MOV BX, BUF B.LDS BX,BUF
C.MOV BX,OFFSET BUF D.MOV BX,WOKD PTR BUF
要求掌握: LEA指令的用途,并灵活应用该指令。
2.设SP的初值为3000H,执行指令POP AX后SP的值是( A.2FFFH B.3001H C.2FFEH D.3002H 要求掌握:push和pop指令操作过程sp是如何移动的.
3.采用寄存器寻址方式,下面正确的指令是( ) A.MOV AH, BX B.MOV CS, AX C.MOV DS,SS D.MOV AL,AH 注意:
(1) 两个操作数必须是同样的位数,即同样是字节或字型的; (2) 有的短寄存器是不能直接赋值的; (3) 段寄存器不能直接赋值给段寄存器;
4.汇编语言源程序,可以是( ) A.可以直接由机器执行 B.必须由编译程序生成目标程序才能执行 C.必须由解释程序生成目标程序才能执行 D.必须由汇编程序汇编成目标程序才能执行
注意:汇编语言源程序必须经过汇编/链接成目标文件才能执行.
5.伪指令
DA1 DB 3 DUP(3 DUP(5),2 DUP(7)) 在数据区中能构成0705H操作数共有( ) A.07个 B.04个 C.03个 D.02个
本题主要考查同学对DUP()伪指令的理解.
)
6.完成对CL寄存器的内容乘以4的正确操作是( ) A.ROL CL,1
ROL CL,1 SHL CL,1
7.下面各传送指令中,正确的是( )
A.MOV [DI],[SI]
8.要实现使BETA的值为56,应采用语句为( ) A.BETA DB 56 C.BETA EQU 56
9.下面程序段执行后,AX中的内容是( )
MOV AX,6688H ADD AL,AH ADD AL,22H A.6610H C.1088H
10.检查二个无符号数的关系,若要实现AL>BL时分支去NEXT1处,其程序段为( ) A.CMP AL,BL
JNC NEXT1 C.CMP AL,BL
11.使用DOS系统功能调用时,使用的软中断指令是( ) A.INT 21 C.INT 16H
12.在数据段定义如下变量
VALUE DB 5AH
B.INT 10H D.INT 21H
JC NEXT1
B.CMP AL,BL
JA NEXT1 C.CMP AL,BL
JGE NEXT1 B.6710H D.1089H
B.BETA DB 56H D.BETA EQU 56H
B.MOV [DX+DI],AL
C.MOV WORD PTR [BX],0100H D.MOV AL,BX
C.SHL CL,1
B.MUL 4
D.MOV CL,2
SHL CL,CL
注意循环左移和算术左移的区别.
下面错误的指令是( ) A.MOV AH, VALUE C.MOV AX,VALUE
B.MOV AH,[VALUE]
D.MOV AX, WORD PTR VALUE
12.下面指令采用基址寻址方式,错误的是( ) A.MOV AX, [BX] [DI] B.MOV AX, [BX+DI]
C.MOV AX, ES:[BX] [SI] D.MOV AX, [BX] [BP]
13.INC BYTE PTR[BX]指令中的操作数的数据类型是( ) A.字 B.双字 C.字节 D.四字
14.将数据5618H存放在存储单元中的伪指令是( ) A. DATA1 DW 1856H B. DATA1 DB 18H,56H C. DATA1 EQU 5618H
D. DATA1 DB 18H,00H,56H,00H
15. 在下列语句中,NEXT1称为( ) NEXT1: MOV AX,BX
A.符号 B.助记符 C.标号 D.变量
16. 把若干个模块连接起来成为可执行文件的系统程序是( )
A.汇编程序 B.连接程序 C.机器语言程序 D.源代码程序
17. 某存储单元的段地址是0AB90H,偏移地址是1234H,该存储单元的物理地址是( ) A.0BDC4H C.0AD134H
18. 下列指令执行时操作数在数据段的是( ) A.MOV AX,32768H C.NEG BX
19. 设SP=4AH,执行段内返回指令RET 4后,SP的值是( ) A.44H C.4CH
20. 下列伪指令中,有语法错误的语句是( ) A. DB 1234H C. DD ′AB′,′CD′
B.DW 4567H D.DB ′ABCD′ B.48H D.50H
B.ADD AL,AH D.INC [DI] B.0ACB34H D.1CED0H
21.为了把AX中的最低4为设置为1111,正确的指令是( ) A. AND AX,000FH C. OR AX,000FH
22.在AX中只保留最低4的值,其余各位被清为0,指令是( ) A. AND AX,000FH C. OR AX,000FH
23.把AX中的各位取反,正确的指令为( ) A. XOR AX,0000H C. XOR AX,1111H
24.操作数保存在寄存器中的寻址方式为( )
A.寄存器寻址方式 B.寄存器间接寻址方式 C.寄存器立即寻址方式 D.寄存器相对寻址方式
25.操作数的有效地址用基址寄存器的内容或变址寄存器的内容,而操作保存在存储器中的寻址方式叫做( ).
A.寄存器相对寻址方式 B.基址变址寻址方式 C.相对基址变址寻址方式 D.寄存器间接寻址方式
26.在8088/8086 CPU中,下列数据传送方向中,不允许的是( ) A.立即数?存储器 B.存储器?通用寄存器 C.通用寄存器?CS D.CS?存储器
27.下面关于伪操作的说明,错误的是( )
A.伪操作可以用来在汇编程序汇编期间完成处理机选择; B.伪操作可以用来在汇编程序汇编期间完成程序模式定义; C.伪操作可以用来在汇编程序汇编期间完成存储区分配; D.伪操作可以像机器指令在程序运行期间由计算机执行;
28.某存储单元的物理地址是12345H,可以作为它的段地址有( C )
A.2345H B.12345H
B.XOR AX,0FFFFH D.XOR AX,11FFH B.AND 000FH,AX D.OR 000FH,AX B.AND 000FH,AX D.OR 000FH,AX
C.12340H D.1234H
29. 执行后使BX=0的同时也使CF=0,OF=0的指令是( ) A.XOR BX,BX B.OR BX,BX C.AND BX,BX D.CMP BX,BX
30. AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是( ) A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位 B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0 C.指令AND AX,OFH执行后,分离出AL低四位 D.NOT AX,执行后,将AX清0
32. 无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是( )
A.ADD BH,01H B.OR BH,01H C.XOR BH,01H D.TEST BH,01H
33. 汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法( ) A.名字的第一个字符可以是大写英文字母及小写英文字母 B.名字的第一个字符可以是字母、数字及、@、_ C.名字的有效长度≤31个字符 D.在名字中不允许出现$
34. 检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是( ) A.JNC LOP1 B.JA LOP1 C.JC LOP1 D.JGE LOP1
35. 设AL=0AH,下列指令执行后能使AL=05H的是( ) A.NOT AL B.AND AL,0FH C.XOR AL,0FH D.OR AL,0FH 36. DA1 DW?AB?,?CD?,?EF?,?GH?( ) ┇
MOV AX,DA1+3
指令执行后AX中的内容是 A.?EF? B.?CD? C.?BC? D.?FC?
37. 8086/8088的存贮器组织是将存储器划分为段,可作为段的起始地址是( ) A.185A2H C.01004H
38. 7.8088/8086存储器分段,每个段不超过( ) A.64K个字 C.64K个字节
39. 若AX=-15要得到AX=15应执行的指令是( ) A.NEG AX C.INC AX
40. 要输入端口1234H中的8位数据,其指令应是( ) A.MOV DX,1234H C.IN AX,1234H
二、填空题:
1.中央处理器包括__________和_________两部分。
2.在中央处理器中,负责执行所有算术运算和逻辑运算指令部分叫_________,负责全机的控制工作部分叫___________。
3.在8086/8088中,用来指向下一条指令的首地址的寄存器是___________,它与段寄存器_________联用确定下一条指令的物理地址。
4. 在8086/8088的专用寄存器中用来保存堆栈段中的偏移地址的寄存器______________,它与_____________连用确定栈顶指针的物理地址。 5. 在存取一个存储器操作数时,默认段地址必须由___________提供。 6. 8088/8086 CPU的寄存器FLAGS中,如果运算结果:产生溢出将把______位置1、为负时将把______位置1、为零将把_____置1、最高有效位产生进位将把_____位置1。
7.当前正在执行的代码段的段地址保存在________寄存器中。
B.MOV DX,1234H D.OUT DX,1234H
OUT DX,AL IN AL,DX
B.NOT AX D.DEC AX B.32K个字节 D.1兆个字节 B.00020H D.0AB568H
8. 80x86实模式下允许的最大寻址空间为__________。
9. 80x86实模式下,每个段的大小可达_______,段内地址用______位表示。 10.8086/8088存贮器地址分段时,每个段起始地址的特征是___________。 11.假设执行前AX=7862H,指令XOR AX,AX执行后AX中的值是___________。 12.假设执行前AX=7862H,指令AND AX,0FH执行后AX中的值是___________。
13.假设执行前AX=7862H,指令OR AX,000FH执行后AX中的值是___________。
14. 在一个代码段中,可以包括一个或多个____________。
15.十六进制数FFH被看作补码,其表示的带符号的十进制数________,表示的无符号的十进制数为________。
16. 若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,COUNT [SI]中,源操作数的有效地址EA为________,其物理地址为________。
17.8086/8088 CPU的标志寄存器FLAGS中标志位,可以分为两大类,其中一类称为__________标志位,另一类称为__________标志位。
18. 8086/8088 CPU规定,在双操作数指令的两个操作数中,最多只能有一个操作数使用___________________寻址方式。
19. 在无条件转移指令JMP中,短调转的位移量为_____位,近跳转的位移量为____位。
20. 在无条件转移指令JMP中,短跳转的位移量的范围为____________,近跳转的位移量范围为______________。
21.在80X86微机中,I/O端口号通常由DX寄存器提供,也可以在指令中直接给定端口号数。可以直接给定端口号只限于外设的前_______个端口。 22. 在80X86微机中,I/O端口号通常由DX寄存器提供,也可以在指令中直接给定端口号数。当端口号数大于______,必须有DX提供。
23.CBW是一个零操作数指令,执行该指令后,如果(AL)的最高有效位为0,则(AH)=________;如果(AL)的最高有效位为1,则(AH)=________。
24.CWD是一个零操作数指令,执行该指令后,如果(AX)的最高有效位为1,则(_______)=0FFFFH。
25.无符号乘法指令“MUL SRC”可以用于字节操作数乘法运算,也可以用于字操作数乘法运算。当SRC为字节操作数时,其运算结果保存在(_______)中,当SRC为字操作数时,其运算结果保存在(_______)中。
26.无符号除法指令“DIV SRC”用于无符号字节或字除法运算,当SRC为8位源操作数时,其被除数在(______)中,运算结果为(_____)位商,保存在(______)
中;当SRC为16位源操作数时,其被除数在(______)中,运算结果为(_____)位商,保存在(______)中;
27.用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中,其汇编语言指令是________________。
28.用寄存器BX和位移量0B8H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器CX中,其汇编语言指令是________________。 29. 8086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是________、________、________、________。
30.在80x86中,在实模式下工作时,存储器的最低1024个字节为___________区, 保存256种类型______________的入口地址。
31. 假设在当前代码段中有一子程序,要调用另一个代码段中的子程序inputp,其调用指令为_____________________。
32.采用重复操作指令“REP”时,其重复次数用(_____)寄存器事先设定,每重复一次,该寄存器的值(____),直到该寄存器的值为(_____)时结束操作。 33.串操作指令MOVSB为无操作数指令,其源串的位置由(_______)寄存器给定,目的串的位置由(_____)给定,两者每次操作后可能是加1或者减1;是加1还是减1有FLAGS寄存器的(_____)位给定,可以通过指令(____)或(______)设定。 34.在8086中,条件转移的目标地址应在本条转移指令到下一条指令地址的(__)到(_____)个字节的范围之内。
35. 在8086中,用CALL指令进行段内直接近调用时,指令将自动把(____)值压入堆栈,而进行段间间接远程调用时,指令将自动把(_____)和(______)压入堆栈。 36.每个段定义的第一行以“段名 (________)”开始,最后一行用“段名 (_____)”结束。
37.ASSUME伪操作只能指定某个段分配那个寄存器,它不能把(__________)装入段寄存器中;除了( _______ )装入段寄存器的工作由计算机自动完成外,其余的段地址装入段寄存器必须在代码段完成。
三、分析题:
1. 已经在数据段中定义如下变量:
TABLE DW 000AH, 0014H, 001EH, 0028H, 0032H ENTRY DW 3 执行下列指令:
MOV BX, OFFSET TABLE ADD BX, ENTRY
MOV AX, [BX]
此时, (AX)=________________。 2.已知数据段中定义
DAT1 DB
12H,34H,56H,78H
执行如下程序段:
MOV CX,0
MOV AX,WORD PTR DAT1 MOV CL,DAT1+3
结果:AX=________,CX=________。 DA1
DB 12H,34H,56H,78H,9AH
3.已知数据段中定义
执行如下程序段:
MOV CX,WORD PTR DA1 AND CX,0FH MOV AL,DA1+3 SHL AL,CL
结果:AL=_______,CL=_______。
PAT1 DB 0AH,0BH,0CH,0DH,0EH,0FH,00H
4.某程序的数据段定义有变量 现有程序段: MOV BX,0
LOP:MOV DL,PAT1[BX] CMP DL,0 JZ DONE ADD DL,37H MOV AH,2 INT 21H INC BX JMP LOP DONE:
??
①上述程序段执行后在屏幕上显示的内容依次是: ②执行后BX=___________。
5. 字符‘5’的ASCII为35H,字符?6?的ASCII为36H。假设某程序的数据段定
义有变量
DEC2 DB ‘56’ 现有程序段: XOR DI,DI
MOV BL,DEC2[DI+1] AND BL,0FH MOV AL,DEC2[DI] AND AL,0FH MOV DL,10 MUL DL ADD AL,BL
上述程序段运行后,AL=_______,BL=________。
6.假设在数据段中定义: A1 DB 65H
A2 DB ? A3 DB ? 执行如下程序段: MOV AL,A1 MOV CL, 4 SHR AL,CL ADD AL,30H MOV A2,AL MOV AL,A1 AND AL,0FH OR AL,30H MOV A3,AL
结果,(A2)=___________,(A3)=___________。
7. 试分析执行下面的程序段后,DX=_____________。
MOV CL, 04 SHL DX, CL MOV BL, AH SHL AX, CL SHR BL, CL
OR DL, BL
8. 下列程序段执行完后,(BX)=____________.
MOV CL, 3 MOV BX, 0B7H ROL BX,1 ROR BX, CL
9. 试分析执行下面的程序段后,(DX)=_____________。 MOV AX, 0FF00H MOV CX, 3H MUL CX
10. 分析下面的程序,画出堆栈最满时各单元的地址及内容。
;******************************************** S_SEG SEGMENT AT 1000H ;定义堆栈段
DW 200 DUP (?) ;200*2=190H TOS LABEL WORD S_SEG ENDS
;******************************************** C_SEG SEGMENT ;定义代码段 ASSUME CS: C_SEG, SS: S_SEG START: MOV AX, S_SEG
MOV SS, AX ;设置SS寄存器的值 MOV SP, OFFSET TOS;SP指向栈底 PUSH DS ;DS的值压入栈 MOV AX, 0 PUSH AX ;0压入栈 ┇
PUSH T_ADDR PUSH AX PUSHF ┇ POPF POP AX POP T_ADDR RET ;
--------------------------------------------------------------------------
C_SEG ENDS ;代码段结束
;******************************************
END START ;程序结束 11.假设在数据段定义有
ARRAY DW 1,2,$+4,3,4
且ARRAY在汇编时分配的偏移地址为0074,则汇编后“$+4”存储单元的值为____________。
12. 如果在数据段中定义:
xyz dw 1,2,3,4,5,6 xyzend dw ? 在代码段中执行 MOV CX, (xyzend-xyz)/2 后,(CX)=__________。
13.假设子程序subp设计中,要用到寄存器AX、BX、CX与其他子程序发生冲突。请完成如下该子程序设计: subp proc far push cx push ax push bx
(本子程序指令系列) __________ __________ __________ ret
subp endp
14.试分析执行下面的程序段后,(AH)=_____________。
MOV AL, 0FFH MOV CL, 2H MUL CL
15. 试分析执行下面的程序段后,(AH)=_____________。
MOV AX, 00FFH MOV CL, 3H DIV CL
四、简答题:
1.请给出建立、运行一个汇编语言程序的基本步骤。 2. 伪指令有什么作用?
3. 有两个16位字1EE5H和2A3CH分别存放在80x86微机的存储器的000B0H和000B3H单元中,请用图表示出它们在存储器里的存放情况。
4. 在实模式下,段地址和偏移地址为3017:000A的存储单元的物理地址是什么?如果段地址和偏移地址是3015:002A和3010:007A呢?
5. 如果在一个程序开始执行以前(CS)=0A7F0H,(如16进制数的最高位为字母,则应在其前加一个0) (IP)=2B40H,试问该程序的第一个字的物理地址是多少? 6. 给定(BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么? (1) 立即寻址 (2) 直接寻址
(3) 使用BX的寄存器寻址 (4) 使用BX的间接寻址
(5) 使用BX的寄存器相对寻址 (6) 基址变址寻址 (7) 相对基址变址寻址
7. 写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。要求使用以下几种寻址方式: (1) 寄存器间接寻址 (2) 寄存器相对寻址 (3) 基址变址寻址
7. 现有(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, 1100[BX] (6) MOV AX, [BX][SI] (7) MOV AX, 1100[BX][SI]
五、程序设计:
1.下面为汇编语言程序的框架,请完成整个框架,保证程序运行结束能正确返回DOS.
……
code segment main proc far assume …… start:
; 给出用ret正确返回DOS的汇编指令
________________
________________ ________________ …… ret main endp code ends
end start
2.下面程序段用来计算Begin到Count的自然数的和,并把结果保存到变量SUM中,请完成如下程序。
Data1 SEGMENT Begin dw 11 Count dw 20 SUM dw ? Data1 ENDS CODE SEGMENT MAIN PROC FAR
ASSUME CS:CODE,DS:Data1 START :
MOV AX,Data1 MOV DS,AX
MOV AX,4C00H
INT 21H MAIN ENDP CODE ENDS
END START
3. 在数据段中定义如下DAT1和DAT2变量:
DAT1
DAT2
DB ‘ABCDEFGHI’ DB 9 DUP(0)
请编写一个程序段,用rep movsb指令,把DAT1的内容复制到DAT2中。
4. 假设在数据段中定义如下变量: DAT_BY DB 20H dup(?) 试编制一程序段,用串操作指令实现以DAT_BY为首址的20H个字节单元中存放相同字符‘A’(设DA_BY存储区已有ES指向)。
5. 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
6. 编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。
7. 编写一条宏指令CLRB,完成用空格符将一字符区中的字符取代的工作。字符区首地址及其长度为变元。
8. 下列程序段实现将数据区ABUFl首址开始的100个字节数据传送到ABUF2
为首址的数据区去。 CLD
MOV SI,OFFSET ABUFl ______________________________ MOV CX,100
___________________________________
9. 下面程序段是在DAI开始的10个字节中依次存入数据?9?,?8?,……?1?,?0?,在横线处填入指令。
MOV CX,10
__________________________ MOV AL,′9′ CLD LOP:STOSB
__________________________ LOOP LOP
10. 某程序用单个字符显示的INT 21H的2号功能调用去显示STRING中的字符串‘COMPUTER’(不显示字符‘$’!).试在空白处填上适当的一条指令。
STRING DB‘COMPUTER’,‘$’ ┇
MOV BX,0FFSET STRING
LOP:MOV DL,[BX]
MOV AH,02H INT 21H
____________________ ____________________
JNE LOP
11.编写一个子程序,把已经在数据段定义的DW型变量VAR用八进制、十进制、十六进制形式显示出来。(注:int 21H的02功能显示一个字符,要显示的字符保存在DL中,不考虑寄存器使用冲突问题)
12.编写一个子程序,把数据类型为DW、首地址为ARRAY、末地址为ENDARRAY、所有数均为正数的数组按递增次序排序。
13.编写一个计算第N项Fibonacci数的程序(N>1),并把结果保存在RESULT单元中。Fibonacci数的定义如下:
?FIB(1)?1? ?FIB(2)?1?FIB(N)?FIB(N?2)?FIB(N?1)N?2?14.编写一个宏指令MULTIPLY完成两个字操作数(亚元为OPR1和OPR2)相乘,得到一个16位的操作数作为结果(亚元为RESULT)。要求考虑寄存器使用冲突。 15.编写一个宏指令Division完成两个字操作数除法运算,RESULT=OPR1÷OPR2,得到RESULT为一个16位的操作数作。要求考虑寄存器使用冲突。
16.编写一个宏指令SUM,计算从BEGIN开始到ENDNUM结束的自然数的和,把结果保存在RESULT中。要求考虑寄存器使用冲突。
17.编写一个求操作数OPER绝对值的宏指令。要求考虑寄存器使用冲突。
18.编写一个宏指令,求最多3个操作数中的最大数,并把结果保存在亚元MAX中。其中第一个亚元表示操作数的个数,紧跟着亚元为操作数,最后一个为亚元MAX。
六.查找错误
1.下面哪些指令是非法的?(假设OP1,OP2是已经用DB定义的变量)
(1) CMP 15, BX (2) CMP OP1, 25 (3) CMP OP1, OP2 (4) CMP AX, OP1
2. 指出下列指令的错误:
(1) MOV AH, BX
(2) MOV [BX], [SI] (3) MOV AX, [SI][DI]
(4) MOV MYDAT [BX][SI], ES:AX (5) MOV BYTE PTR [BX], 1000 (6) MOV BX, OFFSET MYDAT [SI] (7) MOV CS, AX (8) MOV ECX, AX
3. 假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列哪些指令是非法的?它们的错误是什么?
(1) MOV BP, AL
(2) MOV WORD_OP [BX+4*3][DI], SP (3) MOV WORD_OP1, WORD_OP2 (4) MOV AX, WORD_OP1[DX] (5) MOV SAVE_WORD, DS
(6) MOV SP, SS:DATA_WORD [BX][SI] (7) MOV [BX][SI], 2
(8) MOV AX, WORD_OP1+WORD_OP2 (9) MOV AX, WORD_OP1-WORD_OP2+100 (10) MOV WORD_OP1, WORD_OP1-WORD_OP2
4. 假设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处: (1) ADD VAR1, VAR2 ;不能都是存储器操作数 (2) SUB AL, VAR1 ;数据类型不匹配
(3) JMP LAB [SI] ;LAB是标号而不是变量名,后面不能加[SI] (4) JNZ VAR1 ;VAR1是变量而不是标号 (5) JMP NEAR LAB ;应使用NEAR PTR
5. 下面的程序段有错吗?若有,请指出错误。
CRAY PROC
PUSH AX ADD AX, BX RET ENDP CRAY
6. 给定宏定义如下:(注意:此宏指令的功能是V3←|V1-V2|)
DIF MACRO X, Y MOV AX, X SUB AX, Y ENDM
ABSDIF MACRO V1, V2, V3 LOCAL CONT PUSH AX DIF V1, V2 CMP AX, 0 JGE CONT NEG AX
CONT: MOV V3, AX POP AX ENDM
试展开以下调用,并判定调用是否有效,为什么? (1) ABSDIF P1, P2, DISTANCE
(2) ABSDIF [BX], [SI], X[DI], CX (3) ABSDIF [BX][SI], X[BX][SI], 240H (4) ABSDIF AX, AX, AX
第二部分 组成原理复习思考题
一、 选择题
1. 若[X]补=0.1101,则真值X=( ) A.0.1101 B.0.0011 C.1.1101 D.1.0011
2. 若十六进制数为0C3.4,则相应的十进制数为( ) A.185.5 B.185.25 C.195.25 D.195.5
3. 若十进制数为9l,则其对应的二进制数为( ) A.0101101l B.01101101 C.01011001 D.0110010
4.若十进制数为40,则其对应的补码[X]补为( ) A.10101000 B.11101000 C.00101000 D.01101000
5. 若十进制数为40,则其对应的无符号二进制数为( ) A.101000 C.100100
6. 若[X]原=110011,则其对应的[X]补为( ) A.101101 C.110011
7.若X=-0.1010,则其对应的[X]反为( ) A.1.0110 C.1.1010
B.1.0101 D.0.1010 B.101100 D.010011 B.10100 D.10010
8. 在下列存储器中,属于易失性的存储器是( ) A. RAM B.光盘 C.磁盘 D.ROM
9. 若采用双符号位补码运算,运算结果的符号位为10,则( ) A.产生了负溢出(下溢) B.产生了正溢出(上溢) C.结果正确,为正数 D.结果正确,为负数
10. 若采用双符号位补码运算,运算结果的符号位为01,则( )
A.产生了负溢出(下溢) B.产生了正溢出(上溢) C.结果正确,为正数 D.结果正确,为负数
11. 已知一个8位寄存器的数值为11001010,将该寄存器小循环左移一位后,结果为( )
A.01100101 B.10010100 C.10010101 D.01100100
12. 动态存储器DRAM的特点是( ) A.工作中存储内容会产生变化 B.工作中需要动态改变访存地址 C.工作中需要动态地改变供电电压
D.需要定期刷新每个存储单元中存储的信息
13. 若地址总线为A15(高位)~A0(低位),若用1KB的存储芯片组成8KB存储器,则加在各存储芯片上的地址线是( ) A.All~A0 B.A10~A0 C.A9~A0 D.A8~A0
14. 若存储器的容量为16KB,则访问它的地址线应有( ) A.4根 C.14根
15.动态RAM存储信息依靠的是( ) A.单稳态触发器 C.双稳态触发器
B.磁场 D.电容器 B.10根 D.16根
16. 动态半导体存储器的特点是( ) A.在工作中存储器内容会产生变化
B.每次读出后,需要根据原存内容重新写入一遍 C.每隔一定时间,需要根据原存内容重新写入一遍 D.在工作中需要动态地改变访存地址
17.全相联映射方式通常适合于( )
A.小容量Cache B.大容量Cache C.小容量ROM D.大容量ROM
18. 直接映射方式通常适合于( )
A.小容量Cache B.大容量Cache C.小容量ROM D.大容量ROM
19.在主存与cache的地址映射中,采用全相联映射方式一块主存的内容( ) A.直接拷贝到cache的一个特定行位置上去;
B.直接拷贝到cache的任意一行; C.拷贝到cache特定组的任意一行; D.拷贝到用户指定的行上;
20.主存储器和CPU之间增加高速缓冲存储器的目的是( )。 A.解决CPU和主存之间的速度匹配问题 B.扩大主存储器的容量
C.扩大CPU中通用寄存器的数量
D.既扩大主存容量又扩大CPU通用寄存器数量
21. 在大多数情况下,一条机器指令中不直接用二进制代码来指定( ) A.下一条指令的地址 B.操作的类型 C.操作数地址 D.结果存放地址
22. 在CPU中,程序计数器PC用来存放( ) A.现行指令 B.下条指令 C.操作数的地址 D.下条指令的地址
23. 程序计数器是指( ) A.可存放指令的寄存器 B.可存放程序状态字的寄存器
C.本身具有计数逻辑与移位逻辑的寄存器 D.存放下一条指令地址的寄存器
24. 下列寻址方式中,执行速度最快的是( ) A.立即寻址 B.寄存器间接寻址 C.直接寻址 D.相对寻址
25. 为了减少指令中的地址数,可以采用( ) A.直接寻址 B.隐含寻址 C.相对寻址
D.变址寻址
26. 通常,微指令的周期对应一个( ) A.指令周期 B.主频周期 C.机器周期 D.工作周期
27. 在微程序控制器中,机器指令和微指令的关系是( ) A.每一条机器指令由一条微指令来解释执行
B.每一条机器指令由一段微指令序列来解释执行
C.一段机器指令组成的工作程序,可由一条微指令来解释执行 D.一条微指令由若干条机器指令组成
28.存放微程序的存储器是( ) A.主存 C.随机存储器
B.硬盘 D.只读存储器
27.从以下有关RISC的描述中,选择正确答案:
A.采用RISC技术后,计算机的体系结果又回复到早期的比较简单的情况; B.为了实现兼容,新设计的RISC是从原来的CISC系统的指令系统中挑选一部分实现;
C.RISC的主要目标是减少指令数;
D.RISC设有乘、除法和浮点运算指令。
28.IEEE754标准中,舍入处理提供四种可选方法,请问简单截尾舍入处理属于( )。
A. 就近舍入 B. 朝0舍入 C. 朝+∞舍入 D.朝-∞舍入
29.IEEE754标准中,舍入处理提供四种可选方法,请问只要多余位不全为0就向最低有效位进1的处理属于( )。
A. 就近舍入 B. 朝0舍入 C. 朝+∞舍入 D.朝-∞舍入
30.若存储周期250ns,每次读出 16位,则该存储器的数据传送率为( )。
A、4×10 字节/秒 B、4M 字节/秒 C、8×10 字节/秒 D、8M 字节/秒
31.挂接在总线上的多个部件( )。
A、只能分时向总线发送数据,并只能分时从总线接收数据 B、只能分时向总线发送数据,但可同时从总线接收数据 C、可同时向总线发送数据,并同时从总线接收数据
D、可同时向总线发送数据,但只能分时从总线接收数据
32. 在同步控制方式中( )
A.每个机器周期长度固定 C.每个工作周期长度固定
33.存放微程序的存储器是( ) A.主存
B.硬盘
B.每个机器周期长度不固定 D.各指令的机器周期数不变
C.随机存储器
D.只读存储器
33.同步通信之所以比异步通信具有较高的传输效率,是因为同步通信( ) A. 不需要应答信号 B.总线长度较短
C. 用一个公共时钟信号 D.各部件存取时间比较接近
34. 采用串行接口进行7位ASCII传送,带有1位奇校验位,1位停止位和1位起始位,当波特率为9600波特时,字符传送速率为: A.960 B.873 C.1371 D.480
35.在系统总线中,地址线的功能是( )
A.选择主存单元地址 B.选择进行信息传输的设备
C.选择外存地址 D.指定主存和I/O设备接口电路的地址
36.系统总线中控制线的功能是( )
A.提供主存、I/O接口设备的控制信号和响应信号 B.提供数据信息 C.提供时序信号
D.提供主存、I/O接口设备的响应信号
37.总线总裁的的目的是( )
A.选择一个主设备作为主方获得总线的控制权 B.选择一个从设备作为主方获得总线的控制权
C.选择一个主设备和一个从设备作为主方获得总线的控制权 D. 选择一个主设备和多个从设备作为主方获得总线的控制权
38.中断向量地址是 ( )
A.子程序入口地址 B.中断服务程序入口地址 C.中断服务程序入口地址的指示器 D.例行程序入口地址
39.采用DMA方式传送数据时,每传送一个数据要占用一个( )的时间 A.指令周期 B.机器周期 C.存储周期 D.总线周期
40.指令寄存器IR用来保存( ) A.下一条将要指令的地址 B.当前正在执行的一条指令 C.正在执行的微指令 D.下一条要执行的微指令
41.在中断中断I/O方式中,中断请求到达后,CPU( )响应中断。
A.立即 B.执行完当前指令 C执行完当前的微指令 D.执行完当前程序
42. 在中断中断I/O方式中,如果是进行数据输入操作,设备发出中断请求时,表示( )。
A. 数据已经传送到CPU指定的公用寄存器中 B. 设备已经空闲,正准备输入CPU请求的数据 C. 数据已经传送到接口的数据缓冲寄存器中 D. 数据正在设备与接口的传送过程中
43. 在中断中断I/O方式中,如果是进行数据输入操作,数据从接口的数据缓冲寄存器传送到CPU指定的公用寄存器,是由( )负责。 A. 接口 B. 当前运行的程序 C.请求的程序 D.中断服务子程序
二、填空题
1. .采用DMA方式传送数据是由DMA接口来控制数据在_____和_____之间传输。
2. .按照传输定时的方法划分,总线数据通信方式可分为_____和_____两类。 3. .构成中央处理器的两大部件是_____和_____。
4. .在微程序控制器中,控制存储器由_____构成,用于存放_____。 5. 磁盘存储设备主要由磁记录介质、_____和_____三个部分组成。
6. 从一条指令的启动到下一条指令的启动的间隔时间称为______________
7. 对I/O数据传送的控制方式,可分为:程序直接控制方式、______________、DMA方式、______________ 。
8.计算机的存储器系统是指cache,____________,____________。
9.移码表示法主要用于表示____________数的阶码E,有利于比较两个数____________的大小。
10.cache是一种高速缓冲存储器,是为了解决___________和___________之间速度不匹配而采用的一项重要技术。
11.总线数据通信方式按照传输定时的方法可分为___________式和___________式两类。
12.浮点数加/减法运算需要经过___________,___________,规格化,舍入操作和判断结果的正确性五个步骤。
13.在I/O控制方式中,主要由程序实现的是___________和___________。 14.在运算过程中出现数据超出表示范围的现象,就发生___________,这时,运算结果是___________的。
15.条件转移、无条件转移、转子程序、返主程序、中断返回指令都属于程序控制类指令,这类指令在指令格式中所表示的地址不是___________的地址,而是___________的地址。
7.软磁盘和硬磁盘的___________和记录方式基本相同,但在结构和___________上存在较大差别。
16.计算机的___________是计算机___________结构的重要组成部分,也是计算机
不同于一般电子设备的本质所在。
17.外存储器与内存储器相比,外存储器___________,___________,成本低。 18 .EPROM是指___________ 擦除,可编程的___________存储器。
19. 一位十进制数,用BCD码表示需要___________位二进制码,用ASCII码表示需要___________位二进制码。
20.虚拟存储器指的是___________层次,它给用户提供了一个比实际主存空间大得多的___________空间。
21.根据操作数所在位置,指出其寻址方式。
(1)操作数在寄存器中,为________寻址方式; (2)操作数在地址寄存器,为__________寻址方式; (3)操作数在指令中,为________寻址方式;
(4)操作数地址(主存)在指令中,为_______寻址方式;
(5)操作数的地址,为某一寄存器的内容与位移量之和,可以是________、__________、___________三种寻址方式。
22.在CPU内部,包括有保存当前正在执行的指令的寄存器__________,保存当前正在执行的指令地址的寄存器_________,用来保存要存取数据的地址的寄存器__________,算术逻辑运算结果暂时保存在________和通用寄存器中。
23.PCI总线是一个与处理机无关的___________,它采用_________时序协议和________式仲裁策略,并具有_______能力,它的基本传输机制是________式传送,利用_______在同一组线上传输地址和数据。
24.根据设计方法不同,操作控制器可以分为_______和________两种。
25. 根据设计方法不同,有时序逻辑型和存储逻辑型两种。时序逻辑型被称为_____________,存储逻辑型被称为_______________。
26.一个微程序控制器主要由________,___________和____________三大部分组成。
27.在微程序控制器中,若干条________组成一个微指令,若干微指令组成一个_______,它对应一个____________。
28.微命令编码通常有________,_________,_________三种方法。 29.把具有两条以上的指令流水线的计算机叫做___________计算机。
30.在流水线计算机中,要解决的主要问题是相关冲突问题,它们包括_______相关,______相关和________相关。
31.RISC概括的三大要素是:一个__________的指令集;CPU配备大量的_________;强调对___________的优化。
32.为了克服早期总线的缺点,当代总线分成______________,___________,__________和公用线四部分。 33.I/O接口应该具备_____,_______,________,_________,________,________等功能。
34.集中仲裁有三种方式,它们是______________,_____________,______________。
35.在总线上事件出现的时刻由总线的时钟信号确定的,这种协议称为____________。
36.在总线上后一事件出现的时刻取决于前一事件的出现,是建立在应答或互锁机制基础上,这种协议称为____________。
正在阅读:
汇编 复习思考题04-03
啤酒废水处理现状05-12
人教版小学六年级上册信息技术教案12-16
工业毛毡项目可行性研究报告03-09
遵守校规校纪主题班会07-21
人教版三年级下册数学第三单元统计-求平均数第2课时09-02
骨干教师培训通知01-16
山西省建设工程工程量清单计价实施细则06-24
最全的培训游戏全集!04-25
高温球阀型号参数及价格 - 图文02-01
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 思考题
- 汇编
- 复习
- 组织行为学答案
- 甲级单位编制医用玻璃管项目可行性报告(立项可研+贷款+用地+201
- 软件测试练习题
- 2013年云南省初中学业水平标准与考试说明(信息技术)所有题目 -
- 8D培训试题
- 2017年08月咨询工程师继续教育PPP100分试卷
- 托福口语准备
- 上海临港新城
- 南昌市2018小升初数学模拟试题-附详细解析
- 2019届高考语文三年高考试题分类汇编解析版 名句默写
- 提案改善管理章程
- 台州市2014年中小学教师论文评比获奖名单
- 2017届高三高考一轮“文言短文翻译题”专项强化练汇编
- 全国历年高考人数和录取人数
- 《中国共产党地方委员会工作条例》解读(上)
- 江南大学2018年上半年知识经济概论第1阶段练习题资料
- 细胞生物学期末考试复习题及答案详解
- 重庆市事业单位《管理基础知识》复习题(文字版)
- 新概念英语第二册词汇表(带音标背诵版)
- 改制企业土地资产处置政策