微机原理与汇编程序设计复习题汇总doc.docx
- 文档编号:12815237
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:41
- 大小:115.79KB
微机原理与汇编程序设计复习题汇总doc.docx
《微机原理与汇编程序设计复习题汇总doc.docx》由会员分享,可在线阅读,更多相关《微机原理与汇编程序设计复习题汇总doc.docx(41页珍藏版)》请在冰豆网上搜索。
微机原理与汇编程序设计复习题汇总doc
微机系统与汇编语言复习题
单项选择题10*2=20分
填空题10*2=20分
问答题:
5*5=25分
程序分析题4*5=20分
设计应用题1*15=15分
第一章微型计算机概述
1、微型计算机(MC,Microcomputer)是有哪些部件构成的?
答:
由MP、存储器、输入/输出接口电路和系统总线构成。
2、微型计算机系统(MCS,MicrocomputerSystem)是有哪些部分构成的?
答:
微型计算机系统是以微型计算机为主体,配上软件系统和外部设备而构成的。
第二章计算机中的数据表示
1.58的非压缩BCD和压缩BCD各如何表示?
写出存入DX的指令。
答:
58的非压缩BCD是0508H存入DX的指令:
MOVDX,0508H
58的压缩BCD和是58H存入DX的指令:
MOVDX,0058H
2、什么是ASCII码?
可表示哪些信息?
按其作用可分为哪些?
答:
ASCII码是美国信息交换标准代码的简称,用于给西文字符编码。
包括英文字母的大小
写、数字、专用字符、控制字符等;
按其作用可分为:
34个控制字符;10个阿拉伯数字52个英文大小写字母;32个专用符号第三章80X86微处理器及其体系结构
仁8086CPU信号线RESET的功能是什么?
8086复位后内部寄存器状态是怎样的?
8086CPU复位后从什么单元中取第一条指令执行。
答:
RESET—复位信号输入
8086复位后CS=FFFFH、DS=0000H.ES=0000H>SS=0000H>IP=0000H>FR=0000H
8086CPU复位后从CS*10H+IP=FFFFH*10H+0000H=FFFF0H地址单元中取第一条指令执行
启动系统。
CS:
IP=FFFF:
0000H
2、已知一个SRAM芯片的容量为8Kx8和64Kx8,地址线、数据线各为多少?
答:
SRAM芯片的容量为8Kx8:
地址线13条,数据线8条
SRAM芯片的容量为64Kx8:
地址线16条、数据线8条
3、指令指针寄存器IP多少位?
有何功能?
答:
IP是一个16位的寄存器,存放EU要执行的下一条指令的偏移地址,用以控制程序中
指令的执行顺序,实现对代码段指令的跟踪。
4、8086CPU用于地址锁存器输入允许的控制信号和用于数据收发器允许的控制信号各是什
么信号?
答:
用于地址锁存器输入允许的控制信号是ALE,用于数据收发器允许的控制信号是
DENo
5、是什么引脚?
答:
等待测试引脚
6、INTA是什么引脚?
答:
中断响应引脚
7、M/IO是什么引脚?
答:
存储器访问/输入输出访问控制引脚
&8086CPU最小、最大方式时用于总线请求、允许的信号线各是什么?
答:
最小:
HOLD---总线请求
HLDA…总线响应
最大:
RQ/GT0>RQ/GT1
9、8086CPU访问存贮器和访问I/O的地址分别各为什么?
可寻址的最大存贮器空间和最大
I/O空间分别各为多少?
答:
8086CPU访问存贮器的地址是A19-A0,可寻址的最大存贮器空间是1MB.
8086CPU访问I/O的地址是A15-A0,可寻址的最大I/O空间是64KB.
10、什么是逻辑地址?
什么是物理地址?
它们各自如何表示?
如何转换?
答:
程序中使用的存储器地址称为逻辑地址,由16位“段基址”和16位“偏移地址”(段内地址)组成。
段基址表示一个段的起始地址的高16位。
偏移地址表示段内的一个单元距离段开始位置的
距离。
访问存储器的实际地址称为物理地址,用20位二进制表示。
将两个16位二进制表示的逻辑地址错位相加,可以得到20位的物理地址:
物理地址=段基址x16+偏移地址
11>物理地址4ACD9H的逻辑地址可以是哪些?
答:
4A00:
0CD9、4500:
5CD9、4A88:
0459等
12、8086CPU输入输出指令的间址寄存器是什么?
答:
DX
13、8086CPU寄存器BX、BP、AX、各是什么功能的寄存器?
答:
BX、BP--基址寄存器AX--累加器
14、标志寄存器FR多少位?
有哪些标志?
答:
FR是一个16位的寄存器,共9个标志.
其中6个用作状态标志CF、PF、AF、ZF、SF、OF
3个用作控制标志DF、IF、TF.
⑴进位标志CF--反映运算结果向更高位是否有进/借位,加减运算后有进位/借位时CF=1,
否则CF=0
CF标志的用途:
用于运算时的进/借位。
用于无符号数运算后判定是否有溢出。
用于移位操作时接收移出的信息位•
(2)奇偶校验标志PF:
反映运算结果低八位中“1”的个数为奇或者为偶,其值为1表示运算
结果的低8位中1的个数为偶数,否则为奇数。
PF标志可用于数据传送后的奇偶校验。
(3)辅助进位标志AF-—反映运算后的结果是否有半进位/借位,其值为1表示运算中低4位向高4位有进位或借位,否则无进位或借位。
AF在BCD码运算(8位)时可用作十进制调整的条件。
(4)零标志ZF-----反映运算结果是否为零,其值为1表示运算结果为0,否则非0。
ZF可用于判定二个数是否相等,相等的时候它们相减的结果为零。
ZF还可用作计数器的计数次数是否减为0,当减为0的时候表示计数到,例如:
循环次
数计数
(5)符号标志SF:
反映运算结果是否为负,其值为1表示运算结果为负数,否则为正数。
SF在有符号数运算时才有意义。
SF也可在无符号数比较大小时判定两个数的大小,A、B两个数相减后结果SF=O,A>B,
SF=1,A
SF还在有符号数比较大小时与OF标志一起判定两个数的大小。
(6)溢岀标志OF:
反映有符号数运算后的结果是否有溢出,其值为1表示带符号数运算结果溢
出,否则无溢岀。
有符号数运算时:
正数加正数结果为正--无溢出;结果为负--有溢出
负数加负数结果为负--无溢出;结果为正--有溢出
正数加负数或负数加正数——无溢出
OF㊉SF可以用于判有符号数比较大小
以上的6个状态标志在运算指令运算后由EU自动的设置在FR中(CF也可以直接用指令设
置),常用作指令的转移或执行的控制条件,影响或控制后续指令的执行,特别是CF、ZF、
OF、SFo
CPU的不同指令对状态标志的影响是不一样的,有的指令执行后全部影响6个标志,有的
影响部分,不影响的保持原态,也有的一个都不影响,对不影响的指令执行后就不可以使用条件转移指令。
控制标志:
(1)方向标志DF:
用于串操作时设置串指针的修改方向,=0,串指针增量变化,=1,串
指针减量变化
(2)中断允许标志IF:
设置是否允许CPU响应外部的可屏蔽中断请求INTR,,=0,关中断,
=1,开中断
(3)陷阱标志TF:
用于设置CPU运行为单条执行指令的方式,=0,正常执行程序,=1,单步执行程序
第四章寻址方式与指令系统
(1)MOVAX,[BP][SI]
答:
SS
(2)MOVAX,CS:
8[DI]
答:
cs
仁下列指令的源操作数段基址各是什么段寄存器?
答:
ES
答:
DS
(4)MOVAX,ES:
10[BP][SI]2、8086允许段超越和禁止段超越操作各有哪些?
答:
允许段超越的有:
以BP为基址存取操作数取源串数据cs段数据访问等
禁止段超越的是:
取指令存目的串堆栈操作push/pop
3.已知DS=5000H,SS=2500H,BP=0200H,SI=1000H,传送指令MOVAX,[BP+SI]源操作数的寻址方式什么方式?
物理地址是多少?
答:
源操作数的寻址方式是:
基址变址
物理地址=26200H
4、若DS=4500H,DI=1000H,COUNT=A8H,
指令MOVAX,[DI+COUNT]中,源操作数的有效地址EA和物理地址各为多少?
答:
有效地址EA为10A8H
物理地址为460A8H
5、8086CPU有哪几种数据寻址方式,掌握数据各种寻址方式的寻址过程,要求会求指令
的寻址方式?
会求有效地址EA=?
会求物理地址二?
答:
指令的物理地址=CS*10H+IP
堆栈栈顶物理地址二SSU0H+SP
源串物理地址二DSU0H+SI,
目的串物理地址=ES*10H+DI
数据直接寻址:
MOVAL,[1000H];EA=1000H,物理地址二DSU0H+1000H
寄存器间接寻址:
MOVAL,[BX]或[SI]或[DI];
EA=BX或SI或DI,物理地址二DS气0H+BX或SI或DI
基址寻址:
MOVAL,DISP[BX];EA二BX+DISP,物理地址=DS*10H+BX+DISP
MOVAL,DISP[BP];EA=BP+DISP,物理地址=SS*10H+BP+DISP
基址变址寻址:
MOVAL,[BX+SI或DI];
EA=BX+SI或DI,物理地址=DS*10H+BX+SI或DI
MOVAL,[BP+SI或DI];EA二BP+SI或DI,物理地址=SS*10H+BP+SI或DI
变址寻址:
MOVAL,DISP[SI];EA二SI+DISP,物理地址二DS划0H+SI+DISP
MOVAL,DISP[DI];EA二DI+DISP,物理地址=DS*10H+DI+DISP
相对基址变址寻址:
MOVAL,DISP[BX+SI或DI];
EA=BX+SI或DI+DISP,
物理地址=DS*10H+BX+SI或DI+DISP
MOVAL,DISP[BP+SI或DI];
EA=BP+SI或DI+DISP,
物理地址=SS*10H+BP+SI或DI+DISP
6、8086CPU有哪几种转移寻址方式,段内、段间转移有何不同?
掌握转移各种寻址方式的寻址过程。
答:
与转移地址有关的寻址方式:
段内相对寻址、段内间接寻址、段间直接寻址、段间间接寻址。
段内相对寻址:
段内短转(short)—转移偏移地址=IP+disp8
段内近转(near)—转移偏移地址=IP+disp16
段内间接寻址:
寄存器间接一转移的偏移地址二reg(reg为AX、BX、CX、DX、SP、BP、SI、DI)
存储器间接一转移的偏移地址=(EA)(EA为数据寻址方式寻址单元,为字单元)
例:
已知BX=3500H,DS=2000H.(23500H)=4500H,(23502H)=2000H
JMPBX;段内寄存器间接,IP二3500H
JMPWORDPTR[BX];段内存储器间接,
IP=(2000H*10H+3500H)=4500H
段间直接转:
JMPFARPTRL:
IP=转移指令的第2、3字节
CS=转移指令的第4、5字节
段间存储器间接转:
JMPDWORDPTR[BX]
IP=(2000H*10H+3500H)=4500H
CS=(2000H*10H+3500H+2)=2000H
7、数据传送指令(MOV)使用有哪些规定?
不允许sreg—data不允许sreg^sreg不允许CS做目的寄存器注意数据类型匹配
例:
MOVDS,2500H
例:
MOVDS,CS
例:
MOVCS,BX
例:
MOVDL,BX
&数据寻址有哪些情况不允许?
解:
例如
MOV[DI],[BX];错,存储器不能传存储器
MOV[DX+SI],AL;错,DX不能用作基址寻址
MOV[SI+DI],AL;错,SI+DI不能用作变址寻址
MOV[BX+BP],AL;错,BX+BP不能用作基址寻址
MOVWORDPTR[BX],-1;正确
MOVAL,BX;错,类型不匹配
MOVDS,SEGDAT;错,立即数不能送段寄存器
PUSH1234H:
错,不能用立即数
MULAL,58H;错,不能用立即数
9、不能采用立即数寻址方式的指令有哪些?
答:
PUSH1234H;错,不能用立即数
MUL58H;错,不能用立即数
DIV58H;错,不能用立即数
10、掌握8086CPU以下指令:
DAA、
RCL、
、RET、
MOV、PUSH/POP、LEA、ADD>ADC、SUB、SBB、INC、DEC、NEG、CMP、
MUL、DIV、AND、OR、NOT、XOR、SHL、SHR、SAL、SAR、ROL、ROR、RCR、MOVS、CMPS、STOS、LODS、SCAS、REP、条件转移类、LOOP、CALLCLD、STD
对给出的指令,要求会分析指令是否正确。
第五章伪指令及汇编语言程序结构
1.PTR运算符有何功能?
答:
可以重新指定存储器操作数的类型,可以重新指定转移指令的转移类型。
2、存储器数据类型有什么要求,如何解决类型不确定?
答:
存储器数据类型要求类型匹配,用PTR可以说明和重新指定变量或标号的类型满足类
型匹配。
10.掌握汇编语言中数据定义语句。
举例。
答:
字节定义:
A1DB
25
字定义:
A2DW
1234H
双字定义:
A3DD
12345678H
8字节定义
DQ
10字节定义
DT
1K汇编语言组成标识符的字符及规则是怎样的?
答:
(1)组成标识符的字符有:
英文大写字母:
A~Z;
英文小写字母:
a-z;
数字0~9;
字符?
、@、_、$;
(2)字符长度不超过3I个;
(3)首字符不能是数字;
(4)?
不能单独作为一个标识符;
(5)不能把保留字用作标识符,保留字包括助记符、寄存器名等。
12、什么是8086汇编语言名字?
包括有哪些?
有何特点?
程序中用到的名字有何特点?
答:
名字是程序员在编程中按标识符规定命名的,目的是方便编程和读程。
名字包括文件名、标题名、段名、过程名和符号常量名等。
程序中用到的名字:
(1)段名:
在段定义语句中命名取定,定义后的段名可以作为段基值来使用,用来对段寄存
器赋值。
(2)过程名:
在过程定义语句中定义,指向过程中第一条指令所在的内存单元的地址,即过程的入口地址,有NEAR和FAR之分。
(3)符号常量名:
由符号定义语句EQU、=来定义,对符号常量给以赋值。
第六章汇编语言程序设计
1、已知AX=836BH,X=FFFFH,执行“CMPAX,X”后,标志位ZF、CF、OF、SF=?
答:
0101
1000001101101011
+0000000000000001
1000001101101100
ZF=0(结果非0)
OF=0(无溢出)
CF=1(有借位)
SFh(结果为负)
2.设
SP=2000H,
AX=8A95H,DI=A000H。
请写出下列指令执行后指定寄存器和标志位的
值。
ADD
AX,DI
■
PUSH
AX
•
9
POP
DI
■
答:
ADDAX
DI;AX=2A95H,CF=1
PUSH
AX;SP=1FFEH
POP
DI;Dl=2A95H
3、查表程序如下,分析该程序写出程序执行后的结果。
DATA
SEGMENT
TABLE
DW
0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400
X
DB
17;
Y
DW
?
;
DATA
ENDS
;定义代码段
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX;
MOVBX,OFFSETTABLE;
MOVAL,X;
MOVAH,0;
SHLAX,1;AX=34
ADDBX,AX
MOVAX,[BX];
MOVY,AX;
MOVAH,4CH
INT21H;
CODEENDS
ENDSTART
答:
Y二289或9伯
4、查表程序如下,分析该写出程序执行后的结果。
DATASEGMENT
TABLEDB0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225;
XDB14;
YDB?
:
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX;
MOVBX,OFFSETTABLE
MOVAL,X;
MOV
AH,0;
ADD
BX,AX
MOV
AL
,[BX]
MOV
Y,
AL;
MOV
AH,4
INT21H;
CODEENDS
ENDSTART
答:
Y二196或C4H
5.分析下列程序段每条指令的执行结果和程序实现的功能?
XDW10
MOV
AX,X
SAL
AX,1
MOV
BX,AX
SAL
AX,1
ADD
AX,BX
ADD
AX,X
RET
答:
XDW10
MOV
AX,X
;AX=X
SAL
AX,1
;AX=2X
MOV
BX,AX
;BX=2X
SAL
AX,1
;AX=4X
ADD
AX,BX
;AX=6X
ADD
AX,X
;AX=7X
执行后的结果AX=46H
或70,实现了Xx7的功能。
6.分析下列程序段每条指令的执行结果和程序实现的功能?
XDB10
MOVAL,X
SALAL,1
MOVBL,AL
SALAL,1
SALAL,1
ADDAL,BL
答:
XDB10
MOVAL,X
;AL=X
SALAL,1
;AL=2X
MOVBL,AL
;BL=2X
SALAL,1
;AL=4X
SALAL,1
;AL=8X
ADDAL,BL;
AL=10X
执行后的结果AL=64H或
100,实现了Xx10
7、已知DS=5000H,BX=2500H,DI=6000H(58500H)=D456H,CX=0004H,CF=1
指令SAR[BX][DI],CL、指令RCLBYTEPTR[BX][DI],1执行后的结果各是什么?
答:
指令SAR[BX][DI],CL执行后的结果是:
物理地址二DSU0H+BX+DI二58500H
执行前:
(58500H)=D456H;
执行后:
(58500H)=FD45H;
指令RCLBYTEPTR[BX][DI],1执行后的结果是:
(58500H)=ADH
01010110CF=110101101CF=0
物理地址二DSU0H+BX+DI二58500H
执行前:
(58500H)=56H;CF=1
执行后:
(58500H)=ADH
8、已知DS=5000H,BX=2500H,DI=6000H(58500H)=C456H,CX=0004H,指令SAR[BX][DI],CL、指令SHR[BX][DI],CL执行后的结果各是什么?
答:
指令SAR[BX][DI],CL执行后的结果各是(58500H)=FC45H;
指令SHR[BX][DI],CL执行后的结果是:
(58500H)=0C45H
9、掌握补码计算X+Y和X-Yo并可写出计算后的真值及标志位CF、OF、ZF、SF、PF各
为多少?
例如:
X=-45,Y=-34,用补码计算X+Y和X・Y。
解:
X=-45=-0101101凶^=11010011
丫=-34=-0100010[Y]#=11011110
[-Y]补=00100010
求[X+Y]补:
凶#=11010011
+[Y]#=11011110
110110001=-1001111=-79
CF=1(有进位)ZF=0(结果非0)SF=1(结果为负)OF=0(结果无溢岀)PF=1(偶数个1)求[X・Y]补:
[X]^=11010011
+卜Y]补=00100010
011110101=-0001011=-11
CF=0=1(有借位)ZF=0(结果非0)
SF=1(结果为负)OF=0(结果无溢出)PF=1(偶数个1)
10、设AX=865AH,BX=CB75H,则指令“ADDAX,BX"执行后,产生的标志位是怎样的?
解:
1000011001011010
+1100101101110101
10101000111001111
CF=1«进位)SF二0(结果为正)ZF=0(结果非零)OF二1(结果有溢出)
AF=0(无进借位)PF=1(偶数个1)
1K判断下列指令是否正确。
若不正确,指出错误原因。
(1)
MOV
SI,DL
(2)
MOV
ES,1000H
(3)
LEA
AX,3006H
(4)
MOV
[BP][DI],0
(5)
MOV
[SI],[DI]
(6)
MOV
[DI],[BX]
(7)MOV[DX+SI],AL
(8)
MUL
AL,58H
(9)
MOV
DS,SEGDAT
(10)MOVWORDPTR[BX],-1
答:
(1)指令MOVSI,DL是错误的,两个操作数类型不匹配。
(2)指令MOVES,1000H是错误的,装载段寄存器吋,源操作数不能为立即数。
(3)指令LEAAX,3006H是错误的,LEA指令的源操作数必须为内存操作数。
(4)指令MOV
[BP][DI],0是错误的,操作数类型无法确定。
(6)MOV[DI],[BX];错,存储器不能传存储器
(7)MOV[DX+SI],AL;错,DX不能用作基址寻址
(8)MULAL,58H;错,乘法指令不能用立即数
(9)MOVDS,SEGDAT;错,立即数不能送段寄存器
(10)MOVWORDPTR[BX],-1;正确,/送BX指示的字单元
12、8086允许段超越和禁止段超越操作各有哪些?
。
答:
允许段超越的有:
以BP为基址存取操作数、通用数据存取(用BX、BP、SI、DI、直接寻址的内存访问)(MOVAL,SS:
[SI])、字符串指令
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 汇编程序 设计 复习题 汇总 doc