




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章8 0 8 6 / 8 0 8 8 1 6 位 微 处 理 器 习 题 解 答1试说明 8086/8088CPU 中有哪些寄存器?各有哪些用途?答:寄存器组有(1)数据寄存器,含 AX、BX、CX DX四个通用寄存器,用来暂时存放计算过程中所遇 到的操作数,结果和其它信息。( 2)指针及变址寄存器,含 SP、 BP、 SI 、 DI 四个十六位寄存器,它们 可以像寄存器一样在运算过程中存放操作数只能以字为单位使用。还用来在段内寻址时提供偏移地址。(3)段寄存器,含 CS DS SS ES,用来专门存放段地址。(4)控制寄存器,包括 IP和PSW两个 16 为寄存器。 IP 是指令指针寄存
2、器,用来存放代码段中的偏移地址。PSW为程序状态字寄存器,由条件码标志和控制标志构成。条件码标志用来纪录程序运行结果的状态信 息。包括OF、SF、ZF、CF、AF、PF。控制标志位有三个寄存器DF、IF、TF组成。2是说明 8086/8088CPU 中标志位寄存器中各标志位的意义?答:OF溢岀标志,在运算过程中,如操作数超岀了机器能表示的范围则置1,否则置0。SF符号标志,运算结果为负时置 1,否则置 0。ZF 零标志,运算结果为 0 置 1 ,否则置 0 。CF进位标志,记录运算是最高有效位产生的进位。AF辅助进位标志,记录第三位的进位情况。PF奇偶标志位,用来为机器中传送信息时可能产生的岀
3、错情况提供检验条件,当结果操作数中的1的个数为偶时置 1 。DF方向标志位,在串处理指令中控制处理信息的方向。当DF=1时,每次操作后变址寄存器减量,这样就使串处理从高地址向低地址方向处理。IF中断标志,当IF=1时,允许中断,否则间断中断。TF陷阱标志,用于单步操作方式,当TF为1时,每条指令执行完后产生陷阱,由系统控制计算机。当TF为0时,CPU正常工作不产生陷阱。3哪些操作只能隐含使用某个段寄存器,而不能用其它段寄存器代替?哪些操作岀隐含使用某个段寄 存器外,还可以使用其它段寄存器?答:计算程序的地址隐含使用CS,正在执行的程序隐含使用SS,而数据的地址隐含使用ES和DSo48086/8
4、088 系列违纪在存储器中寻找存储单元时,逻辑地址由哪两个部分组成的? 答:由段地址和偏移地址两部分构成。5设IBM PC微机内存中某个单元的物理地址是12345H,试完成下列不同的逻辑地址表示:( 1 )1234H:_H( 2)H:0345H答:( 1) 1234H:05H(2) 1200H:0345H6 假设某程序执行过程中,(SS) =0950H,(SP)=64H,试问该用户程序的堆栈底部物理地址是多少?答: (SS)*10H+(SP)=09564H7 设堆栈段寄存器(SS)=0E4BH,程序中设堆栈长度为200H个字节。试计算岀堆栈底部字单元物理地址,堆栈指针 SP初始值(即堆栈中没有
5、数据时)和SP初始值指向的物理地址。答:物理地址为:3E4B0H, SP的初始值为200H,指向的物理地址为:3E6B1H.。8 .设某用户程序(SS) =0925H,SP=30H,(AX)=1234H, ( DX)=5678H,问堆栈的地址范围是多少?如现有 两条进展指令:PUSH AXPUSH DS试问两指令执行后,( SP) =?答:寻址范围: 09250H09280H, SP 减 4 为 2CH。9. 8086CPU与8088CPU由哪些相同之处?又有哪些区别? 答:他们内结构基本相同,不同之处仅在于 8088有8 条外部数据总线,因此为准 16位。8088有16条外部数据总线,两个
6、CPU的软件完全兼容,程序的编制也完全相同。10. 8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么?答:8086CPU从功能上分外两大部分,一是执行部件(EU),二是总线接口部件(BIU)。执行部件是由以下四部分组成:(1) 4个通用寄存器AX,BX,CX,DX,( 2)4个专用寄存器BP,SP,XI , DI。( 3)标志寄存器FR( 4)算术逻辑部件 ALUL功能是负责执行所以的指令,向总线接口部件(BIU)提供指令执行的结果数据和地址,并对通用寄存器和标志寄存器进行管理。总线接口部件(BIU )由以下部件组成:(1)四个段寄存器,代码段寄存器,数据段寄存器,附加段
7、寄 存器,堆栈段寄存器。( 2)指令指针寄存器。( 3)地址加法器。( 4)指令领队列。功能:执行外部 总线周期,负责存储器与I/O端口传送数据。也就是负责CPU与存储器和外设之间的信息交换。12. 8086系统中的物理地址是如何的得到的?假如 CS=2000H IP=2100H,其物理地址是多少? 答:8086系统的物理地址是将段地址乘10H,加上偏移地址。2000H*10H+2100H=22100H(物理地址)13什么叫总线周期? 一个总线周期包括多少时钟周期,什么情况下要插入TW等待周期?插入多少个Tw取决于什么因素?答:CPU把总线接口部件 BIU完成一次访问存储器或外设操作所需要的时
8、间称为一个总线周期,它 包括了四个时钟周期。当访问存储器或外设时,存储器或外设不能及时配合CPU传输数据时,存储器或外设通过“ READY信号在T3之前向CPU发岀一个“数据未准备好”信号,CPU会在T3之前插入一个或多个等待时间周期。当存储器或外设准备好数据,通过“READY发“准备好”信号, CPU接受此信号后,会自动脱离 TW犬态进入T4状态。因此,插入多少个 Tw由“ READY信号决定。14 什么是最大模式?什么是最小模式?用什么方法将8086/8088 置于最大模式和最小模式?答:最小模式,即系统中只有一个微处理器,所有的总线控制信号都直接由8086/8088 ,因此,系统总线控制
9、电路被减到最小。最大模式,即系统里包括两个或多个微处理器,主处理器就是8086/8088 ,其它均为协助主处理器工作的协处理器。它主要用于中等规模或大型的8086/8088 系统中。将 8086/8088 的第 33 脚接地时,系统处于最大模式,接 5V 时,为最小模式15 什么是地址锁存器? 8086/8088 系统中为什么要用地址锁存器?锁存的是什么信息? 答:地址锁存器就是一个暂存器,它根据控制信号的状态,将总线上地址代码暂存起来。8086/8088 数据和地址总线采用分时复用操作方法,即用同一总线既传输数据又传输地址。当微处理器 与存储器交换信号时,首先由CPU发岀存储器地址,同时发岀
10、允许锁存信号ALE给锁存器,当锁存器接到该信号后将地址 /数据总线上的地址锁存在总线上,随后才能传输数据。16 8086/8088 系统中的 8286 是什么器件?起什么作用?答: 8286 为总线驱动器 (收发器,双向数据缓冲器) ,当一个系统中所含外设接口较多时,用来增 强数据总线的驱动能力。17 8086/8088 系统用的时钟发生器产生哪些信号?答:时钟发生器 8284A产生恒定的时钟信号 (CLK),复位信号(RESET,准备就绪信号(READY。18 8086/8088 的执行部件EU由多少个通用寄存器,多少个专用寄存器,几个标志寄存器和什么组 成?答:执行部件由以下几部分组成:
11、1、四个通用寄存器 AX BX CX DX ;2、四个专用寄存器,即 基数指针寄存器 BP,堆栈指针寄存器 SP,源变址寄存器 SI,目的变址寄存器 DI; 3 一个标志寄存器 FR; 4算术逻辑部件 ALU。19 8086/8088 的指令队列长度分别为多少个字节?答: 8086 的指针队列为 6个字节, 8088 的指针队列有 4个字节。20 8086 与 8088的 16位寄存器中,有多少个寄存器可拆分为 8位寄存器使用。它们分别是什么?它们 又被统称为什么?答:在 8086 与8088 的 16位寄存器中,有四个寄存器可拆分为八位寄存器使用,它们分别是AX,BX, CX, DX统称为通
12、用寄存器。21 PU从主存取岀一条指令并执行该指令的时间称(),它通常用若干个()来表示,而后者又包括若干个()。指令周期 机器周期 时钟周期答: 1 2322 计算机时钟脉冲的频率称为什么?,其倒数又称为什么? 答:计算机的时钟脉冲频率称为时钟频率,即主频。其倒数为时钟周期。22计算机主频为8MHz每个机器周期平均含两个时钟周期,每条指令平均有2.5个机器周期,则该机器的平均指令执行速度为多少MIPS?答:该机器执行一条指令所用时间为:1/8*10 *2*2.5=5/8*10 t;平均指令执行速度为:1/(5/8)=1.6MIPS。24 8086/8088 的存储器可以寻址 1MB的空间,在
13、对I/O进行读写操作时,20位地址中只有哪些位是有 效的?这样,I/O地址的寻址空间为多大?答:在对I/O进行读写操作时,20位地址中只有Ac- A15有效,I/O地址的寻址空间为 216B。 25指令队列的作用是什么?答:指令队列存放内存中取下的将被执行的下一条或下几条指令,使CPU执行完一条指令就可立即执行下一条,提高 CPU的效率。26 8086CPU可访问的存储空间为 1MB实际上分为奇数存储体和偶数存储体两部分,对奇数存储体的选择信号是什么,对偶数存储体的选择信号是什么,对每个存储体单元的选择信号是什么?答:奇数存储体的选择信号为BHE偶数存储体的选择信号为A。对每个存储体内存储单元
14、的选择信号是READY27 8086有两种工作方式,即最小模式和最大模式,它由什么信号决定?最小模式的特点是什么?最 大模式的特点是什么?答:8086的两种工作模式由 MN/MAX信号决定。当接入+ 5V时,系统处于最小模式,只有一个 微处理器,总线控制逻辑部件被减到最小。当接地时,系统处于最大模式,实现多处理器控制系统, 主要应用于大中型系统。28当M / IO =0, RD =0,=1时,CPU完成的操作是什么?答:CPU完成一个对I/O设备端口的读操作。29 8088与8086在软件上是否完全兼容?答:8086/8088内部都采用16位字进行操作及存储器寻址。因此两者软件完全兼容。第三章
15、存储器技术习题解答1 半导体存储器从器件原理的角度可分为哪两种类型?答:半导体存储器从器件原理角度分为ROM和RAM两种。2 磁盘和磁带属于哪种类型的存储器? 答:磁盘和磁带同属于外存储器。3 半导体静态RAM和半导体动态 RAM分别靠什么原理存储信息?答:静态RAM用一个触发器电路作为1个Bit的基本存储单元,每个触发器能置位存储1,或复位存储0。动态RAM每Bit只需一个管子和一个电容,存放的信息是 1还是0,决定于电容中是否储存电荷。4 为保证动态RAM中的内容不消失,需要进行哪一步操作?答:由于电容有漏放电现象,为保证RAM中的内容不消失,必须另外设计一种电路,定时(一般为2ms),使
16、电容上泄放的电荷得到补充,即进行内存刷新。5 存储器片内的地址译码有哪两种方式?答:存储芯片内的地址译码有全地址译码和独立译码两种。6 存储器是计算机系统的记忆设备,它主要用来存储哪些东西? 答:存储器用来存储地址、数据和程序。7存储字长和存取周期分别指什么? 答:存储字长是指存放在一个存储单元中的二进制代码个数。存取周期是指存储器进行连续读写操作 所允许的最短时间间隔。8和外存相比,内存的特点有哪些? 答:和外存相比,内存的特点是容量小、速度快、成本高。9某计算机主存容量为 2048KB,这里的2048KB表示多少个字节?答:2048KB表示 2048*1024 个 Byte,即 2 ( 1
17、1) *2 (10) =2 (21)个。10某计算机的主存为 3KB,则内存地址寄存器需多少位就足够了? 答:主存为3KB,则地址线有12条,所以内存地址寄存器需12位。11若256KB的SRAM具有8条数据线,则它具有多少条地址线?答:具有18条地址线。12 计算机的内存可采用ROM RAM磁盘中的哪几种?EPROI指的又是什么?主存和CPU之间增加高速缓存的目的是什么?采用虚拟存储器的目的是什么?答:可采用 ROMfn RAM EPROM指可编程并可擦除的 ROM兼有ROM和RAM的功能。由于主存储器的存 / 取时间比CPU慢一个数量级,从而严重影响了微型机的速度,而RAM线路的读写时间可
18、与 CPU的处理速度处于同一个数量级,因此在主存储器和CPU之间增加高速缓冲存储器 Cache,以提高机器的速度。虚拟存储器的容量比实际物理上主存储器的容量大,软件可根据需要将所需的存储区域调入物理存储 器,也可以提高处理速度。13 某以8088为CPU的微型计算机内存 RAM区为00000H3FFFFH若采用6264、62256、2164或21256各需要多少片芯片 ?答: 采用 6264( 8k*8bit )需要 32 片;采用 62256( 32k*8bit )需要 8 片;采用 2164 (64k*1bit) 需 要32片;采用 21256 (256k*1bit) 需要8片。14利用全
19、地址译码将 6264芯片接在8088的系统总线上,其所占地址范围为BE000HBFFFFH试画连接图。解答:采用全地址译码连接图如下:15 试利用6264芯片,在 8088 系统总线上实现 00000H03FFFH的内存区域,试画连接电路图。解答:采用全地址译码。16叙述EPROM勺编程过程,说明EEPRO啲编程过程。答:PRO M的编程有两种方式, 即标准编程和灵巧编程两种方 式。标准编程的过程为:使Vcc为+5v ,Vpp加上+21v。而后,加上要编程的单元地址, 数据线加上要写入的数据,使 CE保持低电平,OE为高电平。当上述信号稳定后,在 PGM端加 上50 5ms的负脉冲。这样就将
20、一个字节的数据写到了相应的 地址单元中。重复上述过程,即可将要写入的数据逐一写入相应的存 储单元中。灵巧编程方式要比标准方式 快5倍左右。当加上 Vcc= 5v , Vpp=21v后,对一个写入地址,用1ms编程脉冲进行编程,接着进行校验,如 不成功,再加1 ms编程脉冲。最多可进行8088系 统BUSD08088系 统BUS .DOD7D8A0A1A0A1AA10 9A1181716151413MEMIRIMEMIW_1-O-A19A18A17A16A15A14A13643-+5V廿壬100-86543T-1A03A12A2A3A4A0A1A2A3A4A5A6-A7A8A9-A10A11A1
21、2OE WECS2CS14711-I牛-224o 27+5V 一 十 20267A526A60A7A8A9A10A11A12电路图6264WECS2CS1D0D1D2D3626D5D6D711219D0D1D2D3D4D5D6D778111213151617T819r厂1厂图3- 14电路图15次,若15次仍不能将数据正确写入,则认为芯片本身已4倍X的编损坏。若某一单元用 X次1编程脉冲已正确写入,校验到这种情况后,立即对该单元加入程覆盖脉冲,则认为该单元编程已完成。重复上述过程,将所有要写入的单元编程。将数据写入 EEPROr有两种方式,即字节方式和自动页写入。在对EEPROI编程时,可以在
22、线操作。17 有2片6116,现欲将它们接到 8088系统中去,其地址范围为 40000H到40FFFH,试画连接电路图。利用写入某数据并读岀比较,若有错,则在DL中写入01H;若每个单元均对,则在DL写入EEH试编写此检测程序。解答:连接电路图见下一页。18 若用全地址译码将 EPROM 2764(128或256)接在首地址为 A0000H的内存区,试画岀电路图。 解答:电路图如下:19 第15题中,若8088的时钟频率 为5MHz 6264芯片的读写时间均 200 ns,试粗略估计该芯片能否直接使用。答:8088的时钟频率为5MHZ则读写 时间为200ns,与6264芯片的读写时 间相同,
23、若该芯片直接使用,容易岀 错。17连接电路图如下:第四章 指令与寻址方式习题解答1 试分别说明下列各指令中源操作 数和目的操作数使用的寻址方式:1)ANDAX, 0FFH2)ANDBL,OFFH3)MOVDS, AX4)CMPSI ,CX5)MOVDS:0FFH,CL6)SUBBPSI ,AH7)ADCAX, 0ABHBX8)OR DX-35BXDI9)PUSHDS10)CMC答:目的操作数源操作数(1)寄存器直接寻址立即数寻址(2) 寄存器直接寻址直接 寻址(3) 寄存器直接寻址寄存 器直接寻址(4) 寄存器间接寻址寄存 器直接寻址(5) 直接寻址寄存 器直接寻址(6) 基址变址寻址寄存 器
24、直接寻址(7) 寄存器直接寻址寄存器相对寻址(8) 寄存器直接寻址(9) 无(10)隐含寻址ME19A10216116WGED0D1D2D3D4D5D72764A 13-A 14A 15MEMIRD(-D7A04 k6 总线信号808疇人12BUS9 朋0 胛1A12Vcc (+ 5V) C 。CX中数据不变,如原来是偶(5) 用一条指令把CX中的整数转变为奇数(如原来已是奇数,则 数,则 (CX)+1 形成奇数 ) 。答:( 1) MOV AH, 80HSAHF(2 ) MOV BL, 0FHANDBL, ALSAL4SHR4XORAL, BL(3 ) MOV DX, 7FHSUBAX, D
25、XMOVDX, 0FFHSUBDX, BXMOVBX, DX(4 ) MOV AH, FFHMOVBL, BSUBAH, BLMOVBH, ASUBBH, AHMOVC, BH(5 ) MOV AX, CXNOTAXTEST 01HJNZ NEXTHLTNEXT: INC CXHLT8试给出下列各指令的机器目标代码:(1) MOV(2) MOV(3) SAL(4) ADD9执行下列指令后:STR1 DWBL, 12HSI 12HSI , BLDX, 10ABHBPDI , 1234HABSTR2 DB 16DUP(?)CNT EQU $-STR1MOV CX,CNTMOV AX,STR1HLT
26、寄存器CL的值是多少?寄存器 AX的值是多少?答:寄存器 CL的值为12H,寄存器AX的值为4241H。10. JMP FAR PTR ABCD(ABCD!符号地址)的转移方式是什么?答: JMP FAT PTR ABCD 的转移方式是段间直接转移 .11. MOV AX,ES:BXSI 的源操作数的物理地址是多少(用CS、DS、ES、SS、BX、SI 表示出即可)?答:MOV AX,ES:BX SI的源操作数的物理地址是 ES X 10H+BX+SI.12. 运算型指令的寻址和转移型指令的寻址,其不同点在什么地方?答:运算型指令的寻址包括立即数寻址。寄存器寻址,直接寻址,寄存器间接寻址,寄存
27、器相对寻址 和基址加变址寻址方式。这些寻址方式中,CS,IP 寄存器的内容不会发生变化。转移型指令的寻址方式包括段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址。在后三种寻址方式中,CS,IP 寄存器的内容发生改变。13如果TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,当执行指令” MOVAX,TABLE和” LEA AX,TABLE”后,(AX)中的内容分别为多少?答:执行 MOV AX , TABLE 后(AX)=1234H执行 LEA AX, TABLE 后(AX)=0032.14. 当指令” SUB AX,BX”执行后,CF=1,说明最高有效位发生了什么现
28、象?对无符号 数来说,操作结果发生了什么现象?答:执行指令 SUB AX,BX后,CF=1,说明最高位发生了借位对无符号来说,操作结果发生了溢岀。15. 在1000H单元中有一条二字节指令JMP SHORT LAB如果其中的偏移量分别为30H、6CH 0B8H,则转向地址 LAB的值分别为多少?答:转向地址LAB的值分别为:1000 X 10H+2H+30H=10032H 1000 X 10H+2H+6CH=1006EH1000X10H+2H+B8H=100BAH16. 下面两个语句的区别在什么地方:X1 EQU 1000HX2=1000H答:“ EQU和“=”都可以作为赋值语句,但二者的区别
29、是EQU伪操作中的表达式是不许重复定义的,而“=”伪操作则许重复定义。17. 调用指令CALL可进行哪四种调用?答:调用指令 CALL可进行段内直接调用,段内间接调用。段间直接调用。段间间接调用。18. (AL)=9AH,(BL)=0BCH,当分别进行下列指令运算后,请写岀标志位ZF、PF、CF、SF 的内容:(P 8050)(1)(5)ADD AL,BL SUB AL,BL AND AL,BL OR AL,BL XOR AL,BL答:(1)1+)1,0 0 1 11 0 1 10 1 0 1(2)0 0 1 1ADD AL,BL0 1 01 1 0 00 1 1 0SUB AL,BL0 1
30、0 1 0 0 1 1 ZF=0,PF=1 CF=1 SF=01 1 0 1 1 1 1 0 ZF=0 PF=1 CF=1 SF=1(3)1AND1AND AL,BL0 0 1 1 0 1 01 0 1 1 1 1 0 0 - ZF=0 PF=0 CF=0 SF=0(4 ) OR AL,BL1 0 0 1 1 0 1 0OR) 1 0 1 1 1 1 0 0 ZF=0 PF=1 CF=0 SF=01 0 1 1 1 1 1 0(5) XOR AL,BL1 0 0 1 1 0 1 0XOR 1 0 1 1110 00 0 1 0 0 1 1 0 - ZF=0 PF=0 CF=0 SF=019.若
31、(SP)=2800H,试用两种方法实现(SP)=27FEH . 答:方法一:执行一次PUSH指令 PUSH CX方法二:执行一次 PUSHF指令20. 试简述LES REG,SRC所完成的操作?答:LES REG, SRC 是将SRC和SRC+1中的偏移量送至U REG寄存器,而将 SRC+2和SRC+3中的段基址 送ES段寄存器。21. 关系操作符EQ NE、LT、GT、LE、GE计算的结果为逻辑值,试问OFFFFH代表假,0代表真是否正确?答:0FFFFH代表真。0表示结果为假。22. 堆栈存取操作是以字节为单位的试分析当堆栈存入数据和从堆栈取岀数据时SP的变化?答:当堆栈存入一个字时,(
32、SP) SP-2从堆栈中取岀一个字时(SP) SP+223. 试编写汇编程序段完成以下功能:将1000个字符的字符串从内存的BUFFERS移到内存的BUFFER2中去。解答 LEA SI ,BUFFER1LEA DI , BUFFER2MOV CX ,1000CLDREP MOVSb24. 试编写汇编程序段完成以下功能:将数据段中100个字的数据块 BLOCK1搬移到同一个数据段的 BLOCK2中去。解答:LEA SI ,BLOCK1LEA DI ,BLOCK2MOV CX ,100CLDREP MOVSW25. 试编写汇编程序段完成以下功能:比较DEST和SOURCE的500个字节,找岀第一
33、个不相同的字节,如果找到,则将SOURCE的这个数送 AL中。解答:CLDLEA DI,DESTLEA SI,SOURCEMOV CX ,500REPE CMPBJCXZ NEXTDEC SIMOV AL ,BYTE PTRSINEXT HLT26. 试编写汇编程序段完成以下功能:求最大值,若自BLOCK开始的内存缓冲区中,有100个带符号的数,希望找到其中最大的一个值,并将它放到MAX单元中。解答:MOV BX,OFFSET BLOCKMOV AX, BXMOV CX, 100ADD BX,2F0: CMP AX,BXJGE F1MOV AX BXF1: ADD BX,2JCXZ NEXTJ
34、MP F0MOV MAX AXNEXT HLT27. 假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令 PUSH AX后,存放数据21H的物理地址是多少?解答:07H21H原栈顶20100存放数据21H的物理地址是 200FFH第五章汇编语言程序设计习题解答1.指出下列指令的错误:MOV AH , BX(2) MOV BX , SI(3) MOV AX, SIDI(4) MOV MYDATBXSI, ES: AX(5) MOV BYTE PTRBX , 1000(6) MOV BX , OFFSET MYDATSI(7) MOV CS , AX答:(1) MOV
35、AH, BX AH 为八位,BX为 16 位(2) MOV BX , SI两个操作数不能都是存储单元(3) MOV AX, SIDI一个操作数中不能用两个变址寄存器(4) MOV MYDAT BXSI , E8: AX ESES后应为一个变址寄存器,表示偏移量(5) MOV BYTE PTRBX , 1000BYTE 说明时BX进行字节操作。而1000为字(6) MOV BX OFFSET MYDAT SIOFFSET为取某个地址的偏移量,故后面不应用SI,而应是一个符号地址。(7) MOV是数据寻址,不应用程序段寄存器CS.2 下面哪些指令是非法的?(假设OPI, OP2是已经用DB定义的变
36、量)(1) CMP l5, BX(2) CMP OPl, 25(3) CMP OPl, OP2(4) CMP AX, OPl答:(1) CMP 15 , BX非法,两个操作数不能一个为字,一个为字节(2) CMP OP1 , 25 正确(3) CMP OP1, OP2 正确(4) CMP AX, OP1非法,两操作数不能一个为字,一个为字节?它们的3假设下列指令中的所有标识符均为类型属性为字的变量,请指岀下列指令中哪些是非法的 错误是什么?(1) MOV BP, AL(2) MOV WORD_OPBX+4*3DI, SP(3) MOV WORD_OPl , WORD_OP2(4) MOV AX
37、, WORD_OPlDX(5) MOV SAVE_WORD , DS(6) MOV SP, SS: DATA_WORDBXSI(7) MOV BXSI, 2(8) MOV AX , WORD_ OPl+WORD_OP2(9) MOV AX , WORD_ OPl-WORD_OP2+100(10) MOV WORD_ OPl , WORD_ OPl-WORD_OP2答:(1) MOV BP , AL非法,BP为16位AL为八位(2) MOV WORD_OPBX+4*3DI , SP正确( 3)MOV WORD_OP1, WORD_OP2 非法,两个操作数不能都是变量( 4)MOV AX , WO
38、RD_OP1DX 非法, DX 应改为 BX , BP , SI 或 DI ,则为寄存器相对寻址。(5) MOV SAVE_WORD, DS非法,未指明数据段地址DS的偏移量(6) MOV SP, SS: DATA_WORDBXSI非法,SS与BX , SI不匹配,SS的偏移量用SP(7) MOV BXSI, 2正确(8) MOV AX , WORD_OP1+WORD_OP确(9) MOV AX, WORD_OPWORD_OP2+10正确(10) MOV WORD_OP,1WORD_OP1WORD_OP2非法4假设VAR1和VAR2为字变量,LAB为标号,试指岀下列指令的错误之处:(1) AD
39、D VAR1 , VAR2(2) SUB AL, VAR1(3) JMP LABSI(4) JNZ VARl(5) JMP NEAR LAB答:( 1) ADD VAR1 , VAR2ADD 指令中,目的操作数必须是寄存器或存储单元。( 2) SUB AL , VAR1AL 为8位的,而 VAR为字变量16位( 3) JMP LAB SI格式不对, LAB 处应为一偏移量,而不是标号。( 4) JNZ VAR1JNZ 为非零转移,应转移到某个程序段,故后面应为一个标号。( 5) JMP NEAR LAB 段内直接转移,格式应为 JMP NEAR PTR LAB5 画图说明下列语句所分配的存储空
40、间及初始化的数据值。BYTE-VAR DB BYTE , 12, -12H, 3DUP(0,?, 2DUP(1, 2),?)WORD-VAR DW 5DUP(0,1,2),?,-5, BY,TE, 256H解答:( 1 ) BYTE-VAR( 2) WORD-VAR42595445OCF4H0-1212-0-1212-0-1212-B丫 、TE12y-12H6 试列岀各种方法,使汇编程序把5150H存入一个存储器字中。解答:(1) DW 5150H ;( 2)DB 50H,51H;( 3)DB PQ7 请设置一个数据段 DATASG其中定义以下字符变量或数据变量。FLD1B为字符串变量:per
41、sonal computer ;FLD2B为十进制数字节变量:32;FLD3B为十六进制数字节变量:20;FLD4B为二进制数字节变量:01011001 ;FLD5B为数字的ASCII字符字节变量:32654 ;FLD6B为10个零的字节变量;FLD7B为零件名(ASCII码)及其数量(十进制数)的表格:PART1 20PART2 50PART3 14FLD1W为十六进制数字变量:FFF0;FLD2W为二进制数字变量:01011001 ;FLD3W( 7 )中零件表的地址变量;FLD4W为包括5个十进制数的字变量:5, 6, 7, 8, 9 ;FLD5W为5个零的字变量;FLD6W为本段中字数
42、据变量和字节数据变量之间的地址差。解答: DATASG SEGMENTFLD1B DB personal computerFLD2B DB 32DFLD3B DB 14HFLD4B DB 01011001BFLD5B DB 32654FLD6B DB 10DUP ( 0)FLD7B DB PART1 , 20D, PART2 , 50D, PART3 , 14DFLD1W DW OFFFOHFLD2W DW 01011001BFLD3W DW FLD7BFLD4W DW 5 , 6, 7, 8, 9FLD5W DW 5DUP (0)FLD6W DW FLD1W-FLD1BDATASG ENDS
43、8 假设程序中的数据定义如下:PARTNO DWPNAME DB 16 DUP(?)COUNT DD?PLENTH EQU $-PARTNIO问PLENTH的值为多少?它表示什么意义?解答:PLENTH弋表着PARTNO! PLENTH的地址差,也即三段数据的字节数PLENTH=229 有符号定义语句如下:BUFF DB 1 , 2, 3, 123EBUFF DB 0L EQU EBUFF-BUFF问 L 的值为多少?解答: L=610假设程序中的数据定义如下:LNAME DB 30 DUP (?)ADDRESS DB 30 DUP(?)CITY DB 15 DUP (?)CODE-LIST
44、DB 1,7,8, 3,2 用一条MOVE旨令将LNAME勺偏移地址放入 AX。 用一条指令将 CODE-LIST的头两个字节的内容放入SI。写一条伪操作使 CODE-LENGTHS值等于CODE-LIST域的实际长度。解答:( 1)MOVE AX,0FFSET LNAME;(2)MOVE SI,0701H;(3)DE-LENGTH EQU LENGTH CODE-LIST 。11 试写岀一个完整的数据段 DATA_SEG它把整数5赋与一个字节,并把整数 -1 , 0, 2 , 5和4放在10字数组DATA_LIST的头5个单元中。然后写岀完整的代码段,其功能为:把DATA_LIST中头5个数
45、中的最大值和最小值分别存入 MAX和MIN单元中。解答: DATA_SEG SEGMENTLENGTH DB 5DATA_LIST DW - 1,0,2,5,4,5DUPMAX DW ?MIN DW ?DATA_SEG ENDSCODE_SEG SEGMENTASSUME CS:CODE_SEG,DS:DATA_SEGSTART:MOV AX,DATA_SEGMOV DS,AXMOV SI,OFFSET DATA_LISTMOV AX,SIMOV BX,SIMOV CX,LENGTHXOR AX,AXXOR BX,BXCLCAGAIN:CMP AX,SIJG NEXT1MOV AX,SINEX
46、T1:CMP BX,SIJNG NEXT2MOV BX,SINEXT2:JNZ AGAINMOV MAX,AXMOV MIN,BXCODE ENDSEND START12 给岀等值语句如下:ALPHA EQU 100BETA EQU 25GAMMA EQU 2 下列表达式的值是多少?(1)ALPHA*100+BETA(2)ALPHA MOD GAMMA+BETA(3)( ALPHA+2) *BETA-2(4)( BETA/3) MOD5(5)(ALPHA+3)*(BETA MOD GAMM)A(6)ALPHA GE GAMMA(7)BETA AND 7(8)GAMMA OR 3解答:(1)=10025;(2)=19;(3)=2548;(4)=3;(5)=103;( 6)=0;( 7)=01H;( 8) =03H。 13对于下面的数据定义,三条指令分别汇编成什么?TABLEA DW 10 D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论