1、微型计算机原理与接口技术综合测试题一一、 单项选择题 (下面题只有一个答案是正确的,选择正确答案填入空白处)18086CPU 通过( 1 )控制线来区分是存储器访问,还是 I/O 访问,当 CPU 执行 IN AL,DX 指令时,该信号线为( 2 )电平。(1) A. M/ B. C. ALE D. N/ (2) A. 高 B. 低 C. ECL D. CMOS2n+1 位有符号数 x 的补码表示范围为( ) 。A. 2n (DX) B. (AX)(DX) C. (AX) (DX) D. (AX)(DX)( )3. 8086 微机系统的 RAM 存储单元中,从 0000H:002CH 开始依次
2、存放23H,0FFH,00H,和 0F0H 四个字节,该向量对应的中断号是 。A. 0AH B. 0BH C. 0CH D. 0DH ( )4. 8255 的 A 口工作在方式 1 输入时,其中断允许控制位 INTE 的开/关是通过对 的按位置位/复位操作完成的。A. PC0 B. PC2 C. PC4 D. PC6( )5. 在进入 DMA 工作方式之前,DMA 控制器被当作 CPU 总线上的一个 。A. I/O 设备 B. I/O 接口 C. 主处理器 D. 协处理器( )6. 在 PC/XT 中,设(AX)9305H , (BX)6279H,若 ADD BX,AX 指令后接着 INTO
3、指令则会 。A. 进入 INTO 中断服务子程序 B. 执行 INTO 后面的指令C. 死机 D. 显示器显示 OVERFLOW( )7. 80486 总线采用的是(1) ,一个最基本的总线周期由(2)个时钟周期(T 状态)组成。(1)A. 同步总线协定 B. 半同步总线协定 C. 异步总线协定(2)D. 2 E. 3 F. 4( )8. 微处理器系统中采用存储器映像方式编址时存储单元与 I/O 端口是通过 来区分的。A. 不同的地址编码 B. 不同的读写控制逻辑 C. 专用 IO 指令( )9. 在一个项目或产品研制的过程中,通常采用 _ 类型的存储芯片来存放待调试的程序。A. RAM B.
4、 ROM C. PROM D. E2PROM( )10.8259A 工作在 8086/8088 模式时,初始化命令字 ICW2 用来设置 。A. 中断向量地址的高 8 位 B. 中断类型号地址的高 5 位C. 中断向量的高 5 位 D. 中断类型号的高 5 位三、填空题1 设模为 28,则 52 的补码为 _H,14 的补码为 _H,-0 的反码为 _H。2 设内存中一个数据区的起始地址是 1020H:0A1CBH ,在存入 5 个字数据后,该数据区的下一个可以使用的单元的物理地址是 _。3 8086 根据所构成系统大小的不同,可以工作在最大方式或最小方式。在最大方式下,系统需使用 _ 来形成
5、总线周期。4 微机系统内,按信息传输的范围不同,可有 _,_,_,_等四级总线。5 CPU 对外设进行数据传送的方式有几种,即 _,_,或_。6 汇编指令通常包括 _ 和 _ 两部分。7 8086 系统中,默认方式下对指令寻址由寄存器 _ 和 _ 完成,而堆栈段中的偏移量可由寄存器 _ 或 _ 来指示。8 程序存储与程序控制原理的含义是 _ 。四、程序阅读1 读程序,并标明内存中数据段的相关地址和内容。# SEGMENTBUFFER DB 3 DUP (0)A DB 41HLA EQU $B DW ABLB EQU $BYTEB EQU BYTE PTR BC DD 41424344HLC E
6、QU $WORDC EQU WORD PTR C# ENDSCODE SEGMENTASSUME DS:#, ES:#, CS:CODESTART PROC FARMOV AX,#MOV DS, AXMOV ES,AXLEA SI,BUFFERMOV SI ,BYTEBINC SIMOV SI ,WORDCADD LA SI ,LBADD LB SI ,LCMOV AH,4CHINT 21HSTART ENDPCODE ENDSEND START 2 设有 100 个字节数据(补码) ,存放在数据段中 EA2000H 的存储区内,以下程序应能从该数据区中找出最大的 1 个数并存人同一数据段 E
7、A2100H 的单元中,请完成该程序(在空白处填入适当的语句) 。MAX: MOV BX, MOV AL,BXMOV CX, LOOP1: INC BXCMP AL,BXLOOP2MOV AL,BXLOOP2: DEC CX JNZ MOV ,AL 五、编址连线已知某 8088 微机系统中有两个 3 8 译码器 74LS138,如题五图所示,分别用于存储器和 I/O 端口的地址选择。试按图中连线把两个译码器的各个输出线的寻址范围列表写出,未标出的高位地址线为低电平。74LS138 输人输出关系为: 微型计算机原理与接口技术综合测试题一(答案)一、 单项选择题1 (1)A (2)B 2B 3 B
8、 4D 5C 6C 7 (1)C (2)B 8 (1)A (2)C9B 10.A 11 B 12 C 13 A 14 C 15 C 16 C 17 B 18 B 19 B 20 C二、 改错1 堆栈操作应满足先进后出原则。2 CPU 必须在执行完当前指令以后,才可以响应可屏蔽中断请求。3 8086CPU 标志寄存器共有 16 位,其中只有 9 位有含义。4 (注:段内短转移只有直接形式,没有间接形式)5 6 7 8 9 10 三、 填空题10D60H 20FFFFH 、0000H、0000H 3接口部件 BIU、执行部件 EU 5指令周期、总线周期、时钟周期 6NMI、INTR 81、2、AX
9、 , DX四、 阅读程序并回答题10AA9AH、2233H (注:程序第三行显然应该是 XCHG AX , BX)20000H、00FFH、0微型计算机原理与接口技术综合测试题二(答案)一、单选题1. B 2. B 3. C 4. C 5. D 6. C 7. C 8. B 9. B 10. C二、多选题1. B D 2. A B D 3. A B C 4. A D 5. B D 6. A B C D7. B C 8. B D 9. A B 10. A B C D三、填空题1 0FFA3H 2. 行, 3一个过程在没执行完时又被调用,堆栈 4 10011000B,0,1 50308H,12F8
10、H 6取指令,分析指令,执行指令 7 81230H简析:段内偏移地址 物理地址段基址*164A230H 42000H8230H,则(CS)7900H 时,物理地址79000H8230H81230H。8 73H,1CC,1CF,4简析:ICW2 中记录了 8259A 的 8 级中断对应的中断类型号的高 5 位,中断类型号的低 3位由中断引脚编号确定,所以 IR3 脚对应的中断类型号为 73H,中断服务程序的入口地址中断类型号*473H*41CCH。四、程序阅读1程序执行后 BUF 内容为:07H,12H,34H,56H,9AH,0BCH,0DEH ,0F0H0F0H ,0FFH此程序的功能是:B
11、UF 单元中存放计数值“08H” ,则程序将从 BUF1 开始的 8 个单元中查找关键字 78H,若找到则 BUF 单元计数值减 1,且后面 8-n 四个单元的内容依次前移 1字节,n 为 78H 的位置指示,本题中 n4。2(1)错误语句:第 12 行 MOV DS,DATA 改正:MOV DS,AX第 22 行 JS PLUS JNS PLUS倒数第 2 行 CODE END CODE ENDS(2)需补充的语句: ASSUME DS:DATA,SS:STACK,CS:CODE,ES :DATACLDNEG CLADD CL,BLRET微型计算机原理与接口技术综合测试题三(答案)一、单选题
12、1. B 2. A 3. B 4.C 5. B 6. B 7. (1) B(2)D 8. A 9. D 10. D二、判断题1. 2. 3. 4. 5. 6. 7. 8. 三、填空题1 34H,0F2H ,0FFH2 1020H:0A1D5H 或 1A3D5H 3 总线控制器 82884 片内总线,片(间)总线,系统内总线,系统外总线5 程序方式,中断方式,DMA 方式6 操作码,操作数7 CS ,IP,SP,BP8 用户应预先将程序存入存储器,计算机开始工作后,其控制器将自动、依次地从存储器中取出程序指令并加以执行,而不需人工干涉。四、程序阅读1 内存单元的地址和内容如题四(1)图答案所示。
13、22000H,99,JGE,LOOP1 ,2100H五、编址连线从 的连接方法可以看出,片选 对存储器寻址,而 对 I/O 口寻址。:00000H01FFFH :00H03H:02000H03FFFH :04H07H:04000H05FFFH :08H0BH:06000H07FFFH :0CH0FH:08000H09FFFH :10H13H:0A000H0BFFFH :14H17H:0C000H0DFFFH :18H1BH:0E000H0FFFFH :1CH1FH 一、问答题1、下列字符表示成相应的 ASCII 码是多少?(1)换行 0AH (2)字母“Q” 51H (3)空格 20H2、下列
14、各机器数所表示数的范围是多少?(1)8 位二进制无符号定点整数;0255(2)8 位二进制无符号定点小数;0.996094 (3)16 位二进制无符号定点整数;065535(4)用补码表示的 16 位二进制有符号整数;-32768327673、(111)X=273,基数 X=?164、有一个二进制小数 X=0.X1X2X3X4X5X6(1) 若使 X1/2,则 X1X6 应满足什么条件? X1=1 若使 X1/8,则 X1X6 应满足什么条件?X1 X2 X3=1(2)5、 有两个二进制数 X=01101010,Y=10001100,试比较它们的大小。(1)X 和 Y 两个数均为无符号数; X
15、Y(2)X 和 Y 两个数均为有符号的补码数。 XY二、填空题1、对于 R 进制数来说,其基数(能使用的数字符号个数)是 R 个 ,能使用的最小数字符号是 0 。1、 2、十进制数 72 转换成八进制数是 110Q。3、与十进制数 67 等值的十六进制数是 43H 。1、 4、二进制数 101.011 转换成十进制数是 5.375。2、 5、十六进制数 0E12 转换成二进制数是 110000010010B。三、选择题1、在计算机内部,一切信息的存取、处理和传送都是以 D 形式进行的。A)EBCDIC 码 B)ASCII 码 C)十六进制编码 D)二进制编码2、与十进制数 56 等值的二进制数
16、是 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
17、.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、对于种类不同的
18、计算机,其机器指令系统都是相同的。 ( )3、在计算机中,数据单位 bit 的意思是字节。 ( )4、八进制数的基数为 8,因此在八进制数中可以使用的数字符号是0、1、2、3、4、5、6、7、8。 ( )5、在汉字国标码 GB2312-80 的字符集中,共收集了 6763 个常用汉字。 ( )答案:一、问答题1、 (1)0AH (2)51H (3)20H2、 (1)0255 (2)0.996094 (3)065535 (4)-32768327673、164、 (1)X1=1 (2)X1 X2 X3=15、 (1)XY (2)XY二、填空题3、 R 个,04、 110Q5、 43H6、 5.37
19、57、 110000010010B三、选择题1、D 2、A 3、A 4、B 5、C 6、B 7、D 8、C 9、B 10、D 四、是非判断题1、 2、 3、 4、 5、1. 微处理器,微型计算机和微型计算机系统三者之间有何区别?答:微处理器即 CPU,它包括运算器、控制器、寄存器阵列和内部总线等部分,用于实现微型计算机的运算和控制功能,是微型计算机的核心;一台微型计算机由微处理器、内存储器、I/O 接口电路以及总线构成;微型计算机系统则包括硬件系统和软件系统两大部分,其中硬件系统又包括微型计算机和外围设备;由此可见,微处理器是微型计算机的重要组成部分,而微型计算机系统又主要由微型计算机作为其硬
20、件构成。2. CPU 在内部结构上由哪几部分构成?CPU 应具备哪些主要功能?答:CPU 在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。3. 累加器和其它通用寄存器相比有何不同?答:累加器是通用寄存器之一,但累加器和其它通用寄存器相比又有其独特之处。累加器除了可用做通用寄存器存放数据外,对某些操作,一般操作前累加器用于存放一个操作数,操作后,累加器用于存放结果。 4. 微型计算机的总线有哪几类?总线结构的特点是什么?答:微型计算机的总线包括地址总线、数据总线和控制总线三
21、类,总线结构的特点是结构简单、可靠性高、易于设计生产和维护,更主要的是便于扩充。 5. 举出 10 个微型计算机应用的例子。答:略6. 计算机 I/O 接口有何用途?试列出 8 个 I/O 接口。答:计算机 I/O 接口是连接计算机和外部设备的纽带和桥梁,它主要用于协调和控制计算机与外设之间的信息流通和交换。例如:串行通讯口(COM 口)、并行打印机口、软盘驱动器接口、硬盘驱动器接口、光驱接口、显示器接口、音响设备接口、其它通用设备接口(USB、SCSI 等)。7. 现在,计算机主板上一般都包括哪些 I/O 接口?I/O 接口卡如何与主板相连?答:现在,计算机主板上一般包括串行通讯口、并行打印
22、口、软盘驱动器接口、硬盘驱动器接口、光驱接口、USB 接口等。象显示器适配器、网卡、modem 卡等 I/O 接口卡一般通过总线插槽与主板相连。8. 简述系统总线,AGP 总线, PCI 总线及 ISA 总线的作用。答:系统总线是 CPU 与存储器及桥接器之间传递信息的通道,AGP 总线专门用与连接 CPU 与显示器适配器,PCI 总线一般用于连接一些高速外设接口作为高速外设与 CPU 或内存交换信息的通道,而 ISA 总线一般用于连接一些非高速外设接口作为非高速外设与 CPU或内存交换信息的通道。9. 试说明计算机用户,计算机软件,计算机硬件三者的相互关系。答:计算机用户,计算机软件系统,计
23、算机硬件系统共同构成一个计算机应用系统,三者在该系统中处于三个不同的层次。计算机用户处于最高层,计算机软件处于中间层,计算机硬件系统处于最下层。在这里计算机用户是系统的主宰,他们通过软件系统与硬件系统发生关系,指挥计算机硬件完成指定的任务。即,计算机用户使用程序设计语言编制应用程序,在系统软件的干预下使用硬件系统进行工作。10. 简述 DOS 操作系统各部分的作用及相互关系。答:DOS 操作系统包括 3 个模块:DOS-Shell(COMMAND.COM)、DOS-Kernel(IBMDOS.COM)、DOS-BIOS(IBMBIO.COM).DOS-Shell 模块对用户输入的 DOS 命令
24、行或应用程序行作出响应。即负责 DOS 命令的解释和任务的分配,具体工作则要靠 DOS-Kernel 模块所提供的系统功能完成。DOS-Kernel 模块尽管提供了许多的系统功能,但由于执行每一个系统功能过程中,完全依赖各种设备实现指定的功能,因此,它还要进一步调用 DOS-BIOS 模块中的设备驱动程序才能工作。DOS-BIOS 模块对 DOS-Kernel 传送的“请求“进行解释,最终转换为对固化在 ROM-BIOS 中的设备控制程序的请求并由它们去控制硬件,完成指定的操作。11. 存储单元的选择由什么信号控制?读、写靠什么信号区分?答:存储单元的选择由地址信号控制,而对存储单元进行读操作
25、还是写操作则要靠读、写信号区分。12. 以一个可执行文件的运行为例,简述程序执行过程。答:当在 DOS 提示符下键入一个可执行文件名称(或在其它操作系统环境下执行有关操作)后,操作系统自动将该文件从外存装入内存并使指令指针指向其第一条指令,从而启动文件执行过程。首先将第一条指令从内存取入 CPU 中译码执行,同时指令指针自动加 1或按指令的要求作出相应改变,指向下一条要执行的指令,接着将下一条指令从内存取入CPU 译码执行,这样不断重复取指令和执行指令的过程,逐条执行指令,直至程序结束。1.把下列各数化成二进制数和八进制数(二进制取 3 位小数,八进制取一位小数): 7+34,364,73.5
26、, 725.9375,25.34答:7+3/4=111.110B; 7+3/4=7.6O; 3/64=0.000B; 3/64=0.0O; 73.5=1001001.100B; 73.5=111.4O;725.9375=1011010101.111B; 725.9375=1325.7O; 25.34=11001.011B; 25.34=31.3O2.把下列各数化成十进制数:101.10011B ,22.2O , AD.4H答:101.10011B=5.59375; 22.2O=18.25; AD.4H=173.253.完成下列二进制数运算:101.111+11.011 ,1001.10-110
27、.01,101.11*11.01, 101110111/1101 答:101.111+11.011=1001.01; 1001.10-110.01=11.01;101.11*11.01=10010.1011; 101110111/1101=11100.11 4.完成下列各十六进制数的运算: A39E+28DC,D5AB-7CE5,2BF*4C,C16E/3A答:A39E+28DC=CC7A; D5AB-7CE5=58C6; 2BF*4C=D0B4; C16E/3A=355.C25.先将 15B*8E/2A 中的十六进制数化成十进制数,再进行计算,最后再将结果化为十六进制数。答:15BH*8EH
28、/2AH=347*142/42=49274/42=1173.19=495.30AH6.试分别判断下列各组数据中哪个数据最大?哪个数据最小? (1) A=0.1001B,B=0.1001D,C=0.1001H (2) A=10111101B,B=1001D,C=111H 答:(1) A 最大, C 最小; (2) B 最大, A 最小;1.写出下列各数的二进制原码和补码(最后两个用双字节): 0,96,-128,-38H,127 ,105,879H,-32768答:上述各数的原码依次为:00000000(10000000), 01100000, 无, 10111000, 01111111, 01
29、101001, 0000100001111001, 无;上述各数的补码依次为:00000000, 01100000, 10000000, 11001000, 01111111, 01101001, 0000100001111001, 1000000000000000;2.分别列出下述 10 进制数的 16 进制数、非压缩的 BCD 数、压缩的 BCD 数、ASCII 数字串(用 16 进制形式写出 ):10, 64, 78, 81, 92, 100, 125, 255答:上述各数的 16 进制数依次为:AH,40H,4EH,51H,5CH,64H,7DH,FFH;上述各数的非压缩的 BCD 数
30、依次为:0100H,0604H,0708H,0801H,0902H,010000H, 010205H,020505H;上述各数的压缩的 BCD 数依次为:10H,64H,78H,81H,92H,0100H,0125H,0255H;上述各数的 ASCII 数字串依次为: 3130H,3634H,3738H,3831H,3932H,313030H,313235H, 323535H;3.用 10 进制数写出下列补码表示的机器数的真值:71H,1BH,80H,F8H,397DH,CF42H,9350H答:上述补码表示的各机器数的真值用 10 进制数分别表示为 : +113,+27,-128,-8,+1
31、4717,-20670,-27828 4.若用一个字节来表示带符号数,判断下列各运算在机内进行时是否会产生溢出,写出判断过程。A. 5BH+32H; B. -08H-15H; C. -51H+(-3DH); D. 2DH+3CH答:A. 产生溢出 , 5BH=01011011B 其补码表示的机器数为:0101101132H=00110010B 其补码表示的机器数为:00110010相加的结果为:10001101数值最高位向符号位进位,但符号位向前无进位 ,故产生溢出。B. 不产生溢出, -08H=-00001000B 其补码表示的机器数为:11111000-15H=-00010101B 其补码
32、表示的机器数为:11101011相加的结果为:111100011数值最高位向符号位进位,符号位同时也向前进位, 故不产生溢出 .C.产生溢出,-51H=-01010001B 其补码表示的机器数为:10101111-3DH=-00111101B 其补码表示的机器数为:11000011相加的结果为:101110010数值最高位向符号位无进位,但符号位向前进位, 故产生溢出 . D.不产生溢出,2DH=00101101B 其补码表示的机器数为:001011013CH=00111100B 其补码表示的机器数为:00111100相加的结果为:01101001数值最高位向符号位无进位,符号位向前也无进位,
33、 故不产生溢出。5.从键盘敲入一个大写字母,如何转换为与其相对应的小写字母?从键盘敲入 16 进制数字符 0F,如何转换为其相对应的二进制数(0000000000001111)?答:从键盘敲入一大写字母后,将其 ASCII 码加上 20H,就转换成了与其相对应的小写字母。从键盘敲入 16 进制数字符 09 后,将其 ASCII 码值减去 30H,就转换成了与其相对应的二进制数.从键盘敲入 16 进制数字符 AF 后,将其 ASCII 码值减去 37H,就转换成了与其相对应的二进制数.6.详细叙述总线缓冲器的作用。答:总线缓冲器的作用主要是控制各路数据在总线上的交叉传送避免相互冲突,当几路数据都
34、要向总线上传送时,就通过各路的缓冲器来解决,当一路传送时,缓冲器使其它各路数据与总线断开。7.锁存器和寄存器有什么不同?答:锁存器与寄存器都是用来暂存数据的器件,在本质上没有区别,不过寄存器的输出端平时不随输入端的变化而变化,只有在时钟有效时才将输入端的数据送输出端(打入寄存器),而锁存器的输出端平时总随输入端变化而变化,只有当锁存器信号到达时,才将输出端的状态锁存起来,使其不再随输入端的变化而变化。1.8086 从功能上分成了 EU 和 BIU 两部分。这样设计的优点是什么?答:传统计算机在执行程序时,CPU 总是相继地完成取指令和执行指令的动作,即,指令的提取和执行是串行进行的。而 808
35、6CPU 在功能上分成了 EU 和 BIU两部分,BIU 负责取指令,EU 负责指令的执行,它们之间既互相独立又互相配合,使得 8086 可以在执行指令的同时进行取指令的操作,即实现了取指令和执行指令的并行工作,大大提高了 CPU 和总线的利用率,从而提高了指令的处理速度。2.8086 CPU 中地址加法器的重要性体现在哪里?答:地址加法器是 8086 CPU 的总线接口单元中的一个器件,在 8086 存储器分段组织方式中它是实现存储器寻址的一个关键器件,地址加法器将两个 16 位寄存器中的逻辑地址移位相加,得到一个 20 位的实际地址,把存储器寻址空间从64K 扩大到 1M,极大地扩大了微型
36、计算机的程序存储空间,从而大大提高了程序运行效率。3.8086 CPU 中有哪些寄存器?分组说明用途。哪些寄存器用来指示存储器单元的偏移地址?答:8086 CPU 中有 8 个通用寄存器 AX、BX、CX、DX、SP、BP、SI、DI;两个控制寄存器 IP、FL;四个段寄存器 CS、DS、SS、ES。8 个通用寄存器都可以用来暂存参加运算的数据或中间结果,但又有各自的专门用途。例如,AX 专用做累加器,某些指令指定用它存放操作数和运算结果;CX 为计数寄存器,在某些指令中做计数器使用;DX 为数据寄存器;BX 为基址寄存器,BP 为基址指针,SI为源变址寄存器,DI 为目的变址寄存器,这 4
37、个寄存器在数据寻址中用来存放段内偏移地址(有效地址)或段内偏移地址的一部分;SP 为堆栈指示器,用来存放栈顶有效地址。两个控制寄存器用来存放有关的状态信息和控制信息。例如,标志寄存器 FL 用来存放状态标志和控制标志;而指令指针用来存放下一条要取指令的有效地址。四个段寄存器用来存放段地址。例如,CS 寄存器用来存放代码段的段地址;DS 寄存器用来存放数据段的段地址;SS 寄存器用来存放堆栈段的段地址;ES 寄存器用来存放扩展段的段地址。4.8086 系统中存储器的逻辑地址由哪两部分组成?物理地址由何器件生成?如何生成?每个段的逻辑地址与寄存器之间有何对应关系?答:8086 系统中存储器的逻辑地
38、址由段地址(段首址)和段内偏移地址(有效地址)两部分组成;存储单元的物理地址由地址加法器生成,寻址时,CPU 首先将段地址和段内偏移地址送入地址加法器,地址加法器将段地址左移 4 位并与段内偏移地址相加,得到一个 20 位的物理地址。数据段的段地址在 DS 寄存器中,段内偏移地址可能在 BX、BP、SI 或 DI 寄存器中。代码段的段地址在 CS寄存器中,段内偏移地址在 IP 寄存器中。堆栈段的段地址在 SS 寄存器中,段内偏移地址在 SP 寄存器中。扩展段的段地址在 ES 寄存器中,段内偏移地址可能在 BX、BP、SI 或 DI 寄存器中。5.设 CPU 中各有关寄存器的当前状况为:SS=0
39、a8bH、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 时,某操作数的物理地址是
40、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
41、 CX 后栈顶指针仍为 13078H。但 AX=34DFH,BX=34DFH,CX=2875H。1. 假定(BX)=637DH,(SI)=2A9BH,位移量 D=3237H,试确定在以下各种寻址方式下的有效地址是什么?(1)立即寻址(2)直接寻址(3)使用 BX 的寄存器寻址(4)使用 BX 的间接寻址(5)使用 BX 的寄存器相对寻址(6)基址变址寻址(7)相对基址变址寻址 答:(1)立即数寻址的有效地址是当前 IP 的内容;(2)直接寻址,若使用位移量 D=3237H 进行,则有效地址为 3237H;(3)使用 BX 的寄存器寻址时,操作数在 BX 寄存器中,因此无有效地址;(4)使用 B
42、X 的间接寻址时,有效地址在 BX 寄存器中,即有效地址=637DH;(5)使用 BX 的寄存器相对寻址的有效地址=(BX)+D=637DH+3237H=95B4H;(6)基址变址寻址的有效地址=(BX)+(SI)=637DH+2A9BH=8E18H;(7)相对基址变址寻址的有效地址=(BX)+(SI)+D=C050H; 2. 写出把首地址为 BLOCK 的字数组的第 6 个字送到 DX 寄存器的指令。要求使用以下几种寻址方式:(1)寄存器间接寻址(2)寄存器相对寻址(3)基址变址寻址答:(1)使用寄存器间接寻址,把首地址为 BLOCK 的字数组的第 6 个字送到 DX 寄存器的指令为:MOV
43、 BX,BLOCKADD BX,12MOV DX,BX(2)使用寄存器相对寻址,把首地址为 BLOCK 的字数组的第 6 个字送到 DX 寄存器的指令为:MOV BX,BLOCKMOV DX,BX+12(3)使用基址变址寻址,把首地址为 BLOCK 的字数组的第 6 个字送到 DX 寄存器的指令为:MOV BX,BLOCKMOV SI,12MOV DX,BX+SI3. 现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(2
44、1202H)=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,执行完
45、后 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+
46、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 中,源操作数字段的寻址方式是寄存器寻址