寻址方式及指令系统习题与解答

合集下载

汇编语言设计复习题(第2章:8086的寻址方式和指令系统)

汇编语言设计复习题(第2章:8086的寻址方式和指令系统)

1、下列指令属于基址加变址寻址方式的是( MOV DX,DS:[BP][SI] )。

DX2、当程序顺序执行时,每取一条指令语句,IP指针增加的值是( D )。

DXA.1 B.2 C.3 D.由指令长度决定的3、下列属于合法的指令是( D ) DXA.MOV DS,ES B.MOV [SI],[DI] C.MOV AX,BL D.MOV [DI],BL4、若AX=349DH,CX=000FH。

则执行指令AND AX,CX后,AX的值是( 000DH )。

DX5、设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( 85B92H ) DX6、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( B ) DXA、AX,BX,CX,DXB、BX,BP,SI,DIC、SP,IP,BP,DXD、CS,DS,ES,SS7、对寄存器AX的内容乘以4的正确指令序列是( SHL AX,1 SHL,AX,1 )。

DX8、执行INC指令除对SF、ZF有影响外,还要影响的标志位是( OF,AF,PF )。

DX9、设DH=10H,执行NEG DH指令后,正确的结果是( DH=0F0H CF=1 )。

DX10、下列传送指令中有语法错误的是( A )。

DXA、MOV CS,AXB、MOV DS,AXC、MOV SS,AXD、MOV ES,AX11、下面指令执行后,改变AL寄存器内容的指令是( D )。

DXA、TEST AL,02HB、OR AL,ALC、CMP AL,BLD、AND AL,BL12、执行除法指令后,影响的标志位是( AF,CF,OF,PF,SF,ZF都不确定 )。

DX13、执行下面指令序列后,结果是( AX=0FF82H )。

DXMOV AL,82HCBW14、与MOV BX,OFFSET VAR指令完全等效的指令是( D )。

DXA、MOV BX,VARB、LDS BX,VARC、LES BX,VARD、LEA BX,VAR15、在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是( PARA )。

第4章 指令系统和寻址方式

第4章 指令系统和寻址方式
操作码 MOD REG R/M* DISP-L DISP-H DATA-L DATA-H
4
第4章 8086CPU指令系统 4.1.4 操作数的寻址方式
在指令中,指定操作数或操作数存放位置的方法称为寻址方 式。 8086/8088CPU指令系统的操作数的来源有以下4种:立即数、 寄存器操作数、存储器操作数、端口操作数。 微机系统中除端口操作数外,有七种基本的操作数寻址方式: 立即寻址方式、寄存器寻址方式、直接寻址方式、寄存器间接 寻址方式、寄存器相对寻址方式、基址加变址寻址方式、相对 基址加变址寻址方式,后五种寻址方式是确定存储器操作数有 效地址的计算方法。
第4章 8086CPU指令系统
5. 寄存器相对寻址(Register Relative Addressing)
操作数的有效地址EA 是8位或16位的位移量 (DISP8/16)与基址寄存器BX或基址指示器BP或某个变
址寄存器(DI或SI)之和,即
EA=(BX或BP或SI或DI)+DISP8/16。 MOV AX,[BX+10H]指令操作示意图如图4.6所示。
7
第4章 8086CPU指令系统
在存储器操作数的五种寻址方式中,数据都存放于存储单元
中,在指令操作过程中需要 BIU 通过一个总线周期的访问,才 能获得操作数。因此,存储器操作数的寻址方式是怎么根据给 出的操作数地址因子,计算出操作数的有效地址 EA(Effective Address)。有效地址EA是以下三个地址因子的组合,由CPU的 执行单元EU计算出来。
13
第4章 8086CPU指令系统
代码段 10000H 1000H:0000H
操作码 BX 20H 00H 操作码
1000H:0100H

作业习题 寻址方式和指令

作业习题 寻址方式和指令

寻址方式和指令习题一、选择题1、MOVX A,@DPTR指令中源操作数的寻址方式是()(A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址2、ORG 0003HLJMP 2000HORG 000BHLJMP 3000H当CPU响应外部中断0后,PC的值是()(A)0003H (B)2000H (C)000BH (D)3000H3、执行PUSH ACC指令,MCS-51完成的操作是()(A)SP+1 SP (ACC)(SP)(B)(ACC)(SP)SP-1 SP(C)SP-1 SP (ACC)(SP) (D)(ACC)(SP)SP+1 SP4、LCALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=()(A)2000H (B)2001H (C)2002H (D)2003H5、51执行完MOV A,#08H后,PSW的哪一位被置位()(A)C (B)F0 (C)OV (D)P6、下面条指令将MCS-51的工作寄存器置成3区()(A)MOV PSW,#13H (B)MOV PSW,#18H(C)SETB PSW.4 CLR PSW.3 (D) SETB PSW.3 CLR PSW.47、执行MOVX A,@DPTR指令时,MCS-51产生的控制信号是()(A)/PSEN (B)ALE (C)/RD (D)/WR8、MOV C,#00H的寻址方式是()(A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址9、ORG 0000HAJMP 0040HORG 0040HMOV SP,#00H当执行完上面的程序后,PC的值是()(A)0040H (B)0041H (C)0042H (D)0043H10、对程序存储器的读操作,只能使用()(A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令二、判断题1、MCS-51的相对转移指令最大负跳距是127B。

()2、当MCS-51上电复位时,堆栈指针SP=00H。

微机原理与接口技术:08第3章 寻址方式和指令系统3.3 习题3

微机原理与接口技术:08第3章 寻址方式和指令系统3.3 习题3

交通信息与控制工程系教案(理论教学用)课程名称微机原理与接口技术第 8 次第 4 周 2 学时上课教室WM1310 课程类型专业基础课授课对象自动化专业章节名称第三章寻址方式和指令系统(3.3)教学目的和要求1.掌握8086的基本指令,如逻辑运算和移位指令、串操作指令、程序控制指令等。

讲授主要内容及时间分配1.逻辑运算和移位指令;(35min)2.串操作指令;(20min)3.程序控制指令;(25min)4.处理器控制指令。

(10min)教学重点与难点重点:1.逻辑运算和移位指令的基本功能和格式;2.串操作指令的基本功能和格式;3.程序控制指令的基本功能和格式。

难点:逻辑运算和移位指令的基本功能和格式。

要求掌握知识点和分析方法1.逻辑运算和移位指令的格式、功能及应用方法;2.串操作指令的格式、功能及应用方法;3.程序控制指令的格式、功能及应用方法。

启发与提问1.逻辑移位和算术移位指令的区别?教学手段多媒体+板书作业布置思考题:1.远跳转和近跳转的区别?3.2, 3.53.9, 3.113.12, 3.14主要参考资料备注讲授内容三、逻辑运算和移位类1.逻辑运算逻辑运算指令对操作数的要求大多与MOV指令相同。

逻辑运算是按位操作的,它包括AND(与)、OR (或)、NOT(非)、XOR(异或)和TEST(测试)指令。

除“非”运算指令外,其余指令的执行都会使标志位OF=CF=0,AF位无定义,SF、ZF和PF 根据运算结果设置。

“与”运算指令格式:AND OPRD1,OPRD2操作:两操作数相“与”,结果送目标地址。

【例】要屏蔽AL中的高4位。

AND AL,00001111B【例】AND AL,AL此指令执行前后,(AL)无变化,但执行后使标志位发生了变化,即CF=0,OF=0。

“或”运算指令格式:OR OPRD1,OPRD2操作:两操作数相“或”,结果送目标地址【例】(AL)=0FH,OR AL,10000000B(AL)=8FH【例】OR AL,AL指令执行前后,(AL)不变,但执行后标志位发生了变化,即CF=0,OF=0。

寻址方式和指令优化习题

寻址方式和指令优化习题
四、
有一个Cache—主存层次:主存分8块(0~7),Cache为4块(0~3)。采用全相联映象。已知页面地址流为2,7,4,2,0,1,5,4,1,2,6,5,6,0,2。试用FIFO、LRU和OPT替换算法,分别画出替换示意图、求出命中率H、指出替换几次。
答案:
一、
1、计算机系统结构:机器语言程序员所看到的传统机器级所具有的属性,它包括概念性结构和功能特性两个方面。
(2)在森林F中选出两棵根结点的权值最小的树作为一棵新树的左右子树,且置新树的附加根结点的权值为其左右子树上根结点的权值之和;
(3)从F中删除这两棵树,同时把新树加入F中;
(4)重复2)和(3),直到F中只含有一棵树为止。此树便是哈夫曼树。
3*(0.25+0.2+0.15+0.1+0.08+0.08+0.05)+7*(0.04+0.03+0.02)=3.36
四、
一、名词解释
1、计算机系统结构
2、透明性
3、模拟
二、
假设系统某一部件的处理速度加快9倍,但该部件的原处理时间仅为整个运行时间的45%,则采用加快措施后能使整个系统的性能提高多少?如果部件改进后获得的加速比变为SP=5.5,问改进前的执行时间占改进前执行时间的百分比是多少?
三、
某机器有10条指令,频度分别为:0.25、0.2、0.15、0.1、0.08、0.08、0.05、0.04、0.03、0.02、。要求写出等长二进制编码、Huffman编码、3/7扩展编码,求出三种编码的平均码长。?
2、透明性:在计算机技术中,本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性
3、模拟:是指用软件方法在一台现有的计算机上实现另一台计算机的指令系统。

微机原理习题解答:4

微机原理习题解答:4

微机原理习题解答:4习题四1.8086语言指令的寻址方式有哪几类?用哪一种寻址方式的指令执行速度最快?答:数据操作数的寻址方式有七种,分别为:立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对基址变址和相对基址变址寻址。

其中寄存器寻址的指令执行速度最快。

2.若DS=6000H,SS=5000H,ES=4000H,SI=0100H,BX=0300H,BP=0400H,D=1200H,数据段中变量名NUM的偏移地址为0050H,试指出下列源操作数的寻址方式和物理地址是多少?(1)MOV AX,[64H]答:寻址方式为直接寻址;PA=60064H(2)MOV AX,NUM 答:寻址方式为直接寻址;PA=60005H (3)MOV AX,[SI]答:寻址方式为寄存器间接寻址;PA=60100H (4)MOV AX,[BX]答:寻址方式为寄存器间接寻址;PA=60300H (5)MOV AX,[BP]答:寻址方式为寄存器间接寻址;PA=50400H (6)MOV AL,[DI]答:寻址方式为寄存器间接寻址;PA=61200H (7)MOV AL,[BX+1110H]答:寻址方式为寄存器相对寻址;PA=61410H (8)MOV AX,NUM[BX]答:寻址方式为寄存器相对寻址;PA=60305H (9)MOV AX,[BX+SI]答:寻址方式为基址变址寻址;PA=60400H(10)MOV AX,NUM[BX][DI]答:寻址方式为相对基址变址寻址;PA=61505H3.设BX=637DH,SI=2A9BH,位移量为C237H,试确定由这些寄存器和下列寻址方式产生的有效地址。

(1)直接寻址答:有效地址为EA=C237H(2)用BX的寄存器间接寻址答:有效地址为EA=637DH(3)用BX的相对寄存器间接寻址答:有效地址为EA=125B4H (4)基址加变址寻址答:有效地址为EA=8E18H(5)相对基址变址寻址答:有效地址为EA=1504FH其中,(3)和(5)中产生进位,要把最高位1舍去。

楼第4章指令系统习题解答

楼第4章指令系统习题解答

楼第4章指令系统习题解答习题解答:1.什么是寻址模式?8086/8088 CPU的寻址模式是什么?答:指令的寻址方式就是指获得操作数所在地址的方法。

8086/8088cpu指令的寻址方式可分为8种,为立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、基址变址相对寻址、隐含寻址。

2.指示源操作数和目标操作数在以下指令中的寻址方式(1)movax,[si]源操作数:寄存器寻址目的操作数:寄存器间接寻址(2)movdi,100源操作数:寄存器寻址目的操作数:立即寻址(3)mov[bx],al源操作数:寄存器间接寻址目的操作数:寄存器寻址(4)mov[bx+si],cx源操作数:基址变址寻址目的操作数:寄存器寻址(5)adddx,106h[si]源操作数:寄存器寻址目的操作数:寄存器相对寻址3.阅读以下说明(1)sti对(2)call1000h错(3)divax,dl错(4)shlal,4错(5)popax对(6)inal,[30h]错(7)inccs错(8)out40h,al对4.地址是根据已知的物理条件计算的。

已知:SS=1000h,ES=2000h,DS=3000h,CS=4000H,BX=5000h,di=1200h,BP=2300h(1)(2)(3)(4)(5)5.将SP的初始值设置为2400h,ax=4000H,BX=3600h,然后在执行pushax指令后,SP=?,执行pushbx和popax后,SP=?答:则执行指令pushax后,sp=2400h-2=23feh,再执行pushbx和popaxMovax,[2300h]计算公式:DS×16+2300hmov[BX][di],ax计算公式:DS×16+BX+diaddax,es:[2100h]计算公式:es×16+2100hsubdx,[BP+6]计算公式:SS×16+BP+6movax,[di]计算公式:DS×16+di后sp=23feh。

汇编语言第3章 指令系统和寻址方式

汇编语言第3章 指令系统和寻址方式

5.寄存器相对寻址方式(register relative addressing)
EA=基址(base) 或变址( index)+偏移量 (displacement)
基址寄存器有:BX,BP 变址寄存器有:SI,DI 注:默认段是数据段和堆栈段
(SI) 物理地址=(DS)*16+(BX)+displacement
(DI) =(SS)*16+(BP)+ (SI)+displacement (DI)
例:mov AX,ARRAY[BX][DI] (DS)=1000H,(BX)=1200H, (DI)=1000H, ARRAY=1000H 物理地址=DS*16+(BX)+(DI)+ARRAY =DS*16+1200+1000+1000=13200H 若:(13200)=34H,(13201)=12H 则,(AX)=1234H 允许段超越。 例:mov AL,ES:ARRAY[BX][DI] 用途:处理成组数据(举例说明)
2.段内间接寻址(intrasegment indirect addressing) (IP)新=EA=寄存器或存储单元的内容 寄存器:所有寄存器寻址方式可用的寄存器 存储单元:所有存储单元寻址方式均适用 例:JMP SI (IP)=(SI) JMP WORD PTR VAR或简写JMP VAR (DS)=1000H,VAR=2000H 存储单元的物理地址=(DS)*16+VAR=12000H (12000H)=1234H 则,(IP)新=1234H
4.寄存器间接寻址方式(register indirect addressing)
EA=基址(base) 或变址( index) 基址寄存器有:BX,BP 变址寄存器有:SI,DI 注:默认段是数据段和堆栈段 (SI) 物理地址=(DS)*16+(BX) (DI) =(SS)*16+(BP)

指令系统习题解答

指令系统习题解答

指令系统习题解答一、选择题1、变址寻址方式中,操作数的有效地址等于______。

〔C〕A 基值寄存器内容加上形式地址〔位移量〕B 堆栈指示器内容加上形式地址〔位移量〕C 变址寄存器内容加上形式地址〔位移量〕D 程序记数器内容加上形式地址〔位移量〕2、用某个寄存器中操作数的寻址方式称为______寻址。

〔C〕A 直接B 间接C 寄存器直接D 寄存器间接3、单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个常需采用______。

〔C〕A 堆栈寻址方式B 立即寻址方式C 隐含寻址方式D 间接寻址方式4、寄存器间接寻址方式中,操作数处在______。

〔B〕A. 通用寄存器B. 主存单元C. 程序计数器D. 堆栈5、程序控制类指令的功能是______。

〔D〕A 进行算术运算和逻辑运算B 进行主存与CPU之间的数据传送C 进行CPU和I / O设备之间的数据传送D 改变程序执行顺序6、堆栈寻址方式中,设A为通用寄存器,SP为堆栈指示器,M SP为SP指示器的栈顶单元,如果操作的动作是:〔A〕→M SP,〔SP〕- 1 →SP ,那么出栈的动作应是______。

〔B〕A 〔M SP〕→A,〔SP〕 + 1→SP ;B 〔SP〕 + 1→SP ,〔M SP〕→A ;C 〔SP〕 - 1→SP ,〔M SP〕→A ;D 〔M SP〕→A ,〔SP〕 - 1→SP ;7.指令周期是指______。

〔C〕A CPU从主存取出一条指令的时间;B CPU执行一条指令的时间;C CPU从主存取出一条指令加上CPU执行这条指令的时间;D 时钟周期时间;8、指令系统采用不同寻址方式的目的是______。

〔B〕A 实现存贮程序和程序控制;B 缩短指令长度,扩大寻址空间,提高编程灵活性;C 可直接访问外存;D 提供扩展操作码的可能并降低指令译码的难度9、指令的寻址方式有顺序和跳跃两种方式,采用跳跃寻址方式,可以实现______。

8051单片机指令系统的7种寻址方式解析

8051单片机指令系统的7种寻址方式解析

8051单片机指令系统的7种寻址方式解析寻址方式:寻址就是寻找操作数的地址。

绝大多数指令执行时都需要操作数,因此就存在如何确定操作数地址的问题。

所谓寻址方式就是通过什么途径获取操作数的方式。

根据指令操作的需要,计算机总是提供多种寻址方式。

一般来说,寻址方式越多计算机的寻址能力就越强,但指令系统也就越复杂。

8051指令系统有7种寻址方式:寄存器寻址,直接寻址,寄存器间接寻址,立即寻址,基址寄存器加变址寄存器间接寻址,相对寻址,位寻址,下面分别介绍。

寄存器寻址寄存器寻址:寄存器寻址就是操作数在寄存器中,因此指定了寄存器就得到了操作数。

采用寄存器寻址方式的指令都是一字节的指令,指令中以符号名称来表示寄存器。

例如:MOV A R1 这条指令的功能是把工作寄存器R1的内容传送到累加器A中,由于操作数在R1中,因此指令中指定了R1,也就得到了操作数。

寄存器寻址方式的寻址范围包括:工作寄存器组R0~R7,部分特殊寄存器ACC,B,DPTR 等。

直接寻址直接寻址:直接寻址就是在指令中直接给出操作数所在单元的真实地址。

这里给出的操作数直接地址为8位二进制地址。

程序中一般用十六进制数表示。

例如:指令MOV A,30H 把内部RAM单元30H中的数据传送给累加器A,指令中30H就是操作数的直接地址。

直接寻址方式的寻址范围包括:内部数据存储器低128单元,特殊功能寄存器。

特殊功能寄存器在指令的表示中除了可以以直接地址形式给出外,还可以以寄存器符号形式给出,如对累加器A,在指令中可使用其直接地址OEOH,也可使用其符号形式ACC。

立即寻址立即寻址:立即寻址方式就是实际操作数作为指令的一部分,在指令中直接给出,取指令时,可在程序存储器中直接取得操作数。

通常把出现在指令中的操作数称为立即数。

采用立即寻址方式的指令,在立即数前面加上。

寻址方式和指令系统

寻址方式和指令系统

寻址⽅式和指令系统《微机原理》复习思考题第3章 8086的寻址⽅式和指令系统3.1 8086汇编语⾔指令的寻址⽅式有哪⼏类?⽤哪⼀种寻址⽅式的指令执⾏速度最快?3.2 直接寻址⽅式中,⼀般只指出操作数的偏移地址,那么,段地址如何确定?如果要⽤某个段寄存器指出段地址,指令中应如何表⽰?3.3 在寄存器间接寻址⽅式中,如果指令中没有具体指明段寄存器,那么,段地址如何确定?3.4 ⽤寄存器间接寻址⽅式时,BX,BP,SI,DI分别针对什么情况来使⽤?这四个寄存器组合间接寻址时,地址是怎样计算的?举例进⾏说明。

3.5 设DS=2100H,SS=5200H,BX=1400H,BP=6200H,说明下⾯两条指令所进⾏的具体操作:MOV BYTE PTR [BP], 2000MOV WORD PTR [BX], 20003.6 使⽤堆栈操作指令时要注意什么问题?传送指令和交换指令在涉及内容操作数时分别要注意什么问题?3.7 下⾯这些指令中哪些是正确的?哪些是错误的?如果是错误的,请说明原因。

XCHG CS, AXMOV [BX], [1000]XCHG BX, IPPUSH CSPOP CSIN BX, DXMOV BYTE[BX], 1000MOV CS, [1000]3.8 8086系统中,当对SS和SP寄存器的值进⾏修改时,有什么特殊规定?这样做的原因是什么?[解答] 凡是遇到给SS寄存器赋值的传送指令时,系统会⾃动禁⽌外部中断,等到本条指令和下条指令执⾏之后,⼜⾃动恢复对SS寄存器赋值前的中断开放情况。

这样做是为了允许程序员连续⽤两条指令分别对SS和SP寄存器赋值,同时⼜防⽌堆栈空间变动过程中出现中断。

3.9 以下是格雷码的编码表0——0000 1——0001 2——0011 3——0010 4——01105——0111 6——0101 7——0100 8——1100 9——1101请⽤换码指令和其他指令设计⼀个程序段,实现格雷码往ASCII的转换。

第三章 8086的寻址方式和指令系统

第三章 8086的寻址方式和指令系统
习题 CH3 寻址方式和指令系统
计算机的指令通常包含 操作码 和 操作数 两部分。
设SP为0100H,SS为1000H,则执行PUSH AX 后,
00FE H,SS= 1000 H。 8086系统中,栈底在堆栈的 最高地址 (最高地址端、 最低地址端)。
如果VAL为数据段中0056H单元的符号名,其中存放
16
习题 CH3 寻址方式和指令系统
(6)MOV [SI],[BX] 源、目的操作数不能同时为存储单元 (7)MOV DS,0200H 立即数不能直接送给段寄存器 (8)IN BL,05H BL不能作为IN指令的目的操作数 (9)MOV AX,IP IP不能作为操作数 (10)MOV SI,[DX] DX不能进行寄存器间接寻址 (11)PUSH AL PUSH指令以字为操作单位
用单条指令或程序片段,实现下述功能
(1)将AX高8位取反,低四位置1,其余位不变。
XOR AX, 0FF00H
OR AX, 0FH (2)将AL的高四位与低四位互换。 MOV CL, 4 ROL AL, CL
(3)将BX、AX内容互换。
XCHG AX, BX
12
习题 CH3 寻址方式和指令系统
[BP+SI+4]源操作数的有效地址为
地址为 数的有效地址为
,物理 0214H 24514H 。指令MOV AX,[DI+100H]源操作
0306H,物理地址
为 24306H 。 设AX=2000H,BX=2002H,则在执行了指令CMP AX,
BX后,标志位CF为

1 , AX=
。 2000H
基址变址寻址
(5)MOV AX,10[BX][DI] 相对基址变址寻址

微机原理与接口技术习题答案-副本

微机原理与接口技术习题答案-副本

第3章8086/8088指令系统与寻址方式习题3.3 8086系统中,设DS=1000H,ES=2000H,SS=1200H,BX=0300H,SI=0200H,BP=0100H,VAR的偏移量为0600H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,计算它们的物理地址。

(1)MOV BX,12 ;目标操作数为寄存器寻址(2)MOV [BX],12 ;目标操作数为寄存器间址 PA=10300H(3)MOV ES:[SI],AX ;目标操作数为寄存器间址 PA=20200H(4)MOV VAR,8 ;目标操作数为存储器直接寻址 PA=10600H(5)MOV [BX][SI],AX ;目标操作数为基址加变址寻址 PA=10500H(6)MOV 6[BP][SI],AL ;目标操作数为相对的基址加变址寻址 PA=12306H(7)MOV [1000H],DX ;目标操作数为存储器直接寻址 PA=11000H(8)MOV 6[BX],CX ;目标操作数为寄存器相对寻址 PA=10306H(9)MOV VAR+5,AX ;目标操作数为存储器直接寻址 PA=10605H3.4 下面这些指令中哪些是正确的?那些是错误的?如果是错误的,请说明原因。

(1)XCHG CS,AX ;错,CS不能参与交换(2)MOV [BX],[1000] ;错,存储器之不能交换(3)XCHG BX,IP ;错,IP不能参与交换(4)PUSH CS(5)POP CS ;错,不能将数据弹到CS中(6)IN BX,DX ;输入/输出只能通过AL/AX(7)MOV BYTE[BX],1000 ;1000大于255,不能装入字节单元(8)MOV CS,[1000] ;CS不能作为目标寄存器(9)MOV AX,[SI][DI] ;SI、DI不能成为基址加变址3.7 设当前 SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶的地址为多少?当执行 PUSH BX 指令后,栈顶地址和栈顶2个字节的内容分别是什么?当前栈顶的地址=2FF00H当执行PUSH BX 指令后,栈顶地址=2FEFEH(2FEFEH)=57H(2FEFFH)=34H3.8 设DX=78C5H,CL=5,CF=1,确定下列各条指令执行后,DX和CF中的值。

第3章 8086 8088指令系统和寻址方式

第3章  8086 8088指令系统和寻址方式


第3章 指令系统和寻址方式
3.1 概述 3.2 数据寻址方式 3.3指令格式及指令执行时间 3.4 8088/8086 CPU的指令系统
3.1 指令系统概述
指令是计算机能够识别和执行的指挥计算机进行操作的命
令。指令系统是指微处理器能执行的各种指令的集合。
程序是指令的有序集合,指令是程序的组成元素,通常一
演示
3.2 数据寻址方式
2. 寄存器间接寻址方式
在计算机中通常将BX、BP称为基址寄存器,SI、DI称为
变址寄存器,寻址时操作数的地址被放在这些寄存器中。
寄存器间接寻址方式在汇编格式中表示为
[基址寄存器名或变址寄存器名]
【例】
MOV AX, [BX]
;AX←DS:[BX]
演示
3.2 数据寻址方式
直接寻址方式是指寻找的操作数的地址在指令中直接给出。 这种寻址方式在汇编格式中表示为 ● 操作码 地址表达式 (或[地址表达式]) ● 操作码 [数字表达式]
3.2 数据寻址方式
【例】
MOV AX, [2000H];AX←DS:[2000H] MOV AX, ES: [2000H] ;AX←ES:[2000H]
MOV AX, 0102H
;AX←0102H
演示
3.2 数据寻址方式
3.2.2 寄存器寻址方式
寄存器寻址是指寻找的操作数在某个寄存器中。 格式: 操作码 寄存器名
比如AL,BX,CX,DS、IP等等。 【例】
MOV AX, BX
;AX←BX
演示
3.2 数据寻址方式
3.2.3 存储器寻址方式
1. 直接寻址方式

若(CS)=5200H 时,物理转移地址为 B230H,则当CS 的内容被设定为7800H, 物理转移地址应为多少? =9230H 78000H +9230H=81230H。

单片机指令系统-第3讲寻址方式

单片机指令系统-第3讲寻址方式

单片机指令系统-第3讲寻址方式单片机指令系统第 3 讲寻址方式在单片机的世界里,指令系统就像是它的“语言规则”,而寻址方式则是这套规则中非常关键的一部分。

理解了寻址方式,我们就能更有效地编写单片机程序,让单片机按照我们的意愿准确地工作。

那么,什么是寻址方式呢?简单来说,寻址方式就是告诉单片机如何找到我们需要操作的数据或者指令的地址。

就好像我们要在一个大仓库里找到特定的物品,需要有明确的方法和路径一样。

单片机常见的寻址方式有好几种,下面我们来逐一了解。

首先是直接寻址。

这就好比我们知道物品就在某个特定的房间里,直接去那个房间就能找到。

在单片机中,直接寻址就是指令中直接给出操作数所在的存储单元地址。

比如说,指令“MOV A, 30H”,这里的“30H”就是直接给出的存储单元地址,单片机就会从这个地址中取出数据送到累加器 A 中。

接着是寄存器寻址。

想象一下,我们把常用的物品放在了几个固定的抽屉里,要找的时候直接打开对应的抽屉就行。

在单片机中,寄存器就是这样的“抽屉”。

比如指令“MOV A, R0”,就是把寄存器 R0 中的内容送到累加器 A 中。

因为寄存器的数量有限,所以这种方式通常用于频繁使用的数据操作,能够提高程序的执行效率。

然后是寄存器间接寻址。

这有点像我们知道物品在某个抽屉里,但抽屉里放的是一张纸条,纸条上写着物品真正存放的位置。

在单片机中,寄存器里存放的是操作数的地址,单片机需要先从寄存器中取出地址,再根据这个地址去找到真正的操作数。

例如,指令“MOV A, @R0”,就是先找到 R0 寄存器中的地址,然后根据这个地址去取数据送到累加器 A 中。

再来说说立即寻址。

这种方式就像是我们手里直接拿着要找的物品,不需要再去别的地方找。

在指令中,操作数直接包含在指令中。

比如“MOV A, 30H”,这里的“30H”就是操作数本身,单片机直接把这个数送到累加器 A 中。

变址寻址也是一种重要的方式。

可以把它想象成我们有一本索引手册,根据手册上的规则和当前的一些条件,就能找到我们要的东西。

单片机指令系统-第2讲寻址方式

单片机指令系统-第2讲寻址方式
MOVX
19
外部程序存储器ROM数据传送指令 MOVC A,@A+DPTR; A (A+DPTR) MOVC A ,@A+PC ;PC PC +1,A(A+PC)
专门用作查表,又称作查表指令。
20
外部数据存储器RAM数据传送指令
使用DPTR进行间接寻址 MOVX A,@DPTR MOVX @DPTR,A
2
MOVC A,@A+DPTR
程序存储区
A
DP TR
02 H
03H 00H


55 H
Σ

03 02H
03 02H
图3.5 变址寻址示意图
3
例3.6 MOVC A, @A+DPTR ;
00H
RAM
7FH DPL 00H DPH 24H
MOVC A, @A+DPTR
80H
2400H+0FH= 240FH
2) 源操作数与目的操作数不能相同(除 direct外);
3) 寄存器寻址与寄存器及其间址间不能相互传送。
数据传送类指令(28条)
(1)内部RAM数据传送指令(15条) (2)外部数据传送指令(7条)
(3)堆栈操作指令(2条)
(4)数据交换指令(4条)
(1)内部RAM数据传送指令(15条)
内部RAM是数据传送最为频繁的部分,这其中有 寄存器、累加器、RAM单元以及特殊功能寄存器之 间的相互数据传送。
17
内部RAM、SFR之间的传送MOV指令
Rn
dir
@Ri
MOV A , #data
dir
A
@Ri A
Rn,

寻址方式及指令系统习题与解答

寻址方式及指令系统习题与解答

寻址方式及指令系统习题与解答计算机科学与工程学院黄洪波2012年3月一、单项选择题1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为()。

A.5000H B.5008H C.23008H D.32008H2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理址为()。

A.13000H B.23000H C.33000H D.3000H3.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为()。

A.20200H B.30200H C.50200H D.200H4.指令MOV MEM[BX],AX中的MEM是()。

A.原码B.反码C.补码D.移码5.用来作为寄存器间接寻址的寄存器有()个。

A.8 B.6 C.5 D.46.指令MOV [BX+SI],AL中的目的操作数使用()段寄存器。

A.CS B.DS C.SS D.ES7.指令MOV BX,[BP+5]中的源操作数使用()段寄存器。

A.CS B.DS C.SS D.ES8.段内间接寻址只改变()中的内容。

A.CS B.IP C.CS和IP D.PSW9.段间间接寻址只改变()中的内容。

A.CS B.IP C.CS和IP D.PSW10.下述指令中不改变PSW的指令是()。

A.MOV AX,BX B.AND AL,0FHC.SHR BX,CL D.ADD AL,BL11.下述指令中不影响CF的指令是()。

A.SHL AL,1 B.INC CXC.ADD [BX],AL D.SUB AX,BX12.两个整数补码9CH和7AH相加运算后,会产生()。

A.无溢出且无进位B.无溢出但有进位C.有溢出且有进位D.有溢出但无进位13.指令JMP WORD PTR [BX]属于()寻址。

A.段内直接B.段内间接C.段间直接D.段间间接14.指令MOV AX,[BX+SI+8]的源操作数属于()寻址。

作业习题 寻址方式和指令

作业习题 寻址方式和指令

寻址方式和指令习题一、选择题1、MOVX A,@DPTR指令中源操作数的寻址方式是()(A)(A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址2、ORG 0003HLJMP 2000HORG 000BHLJMP 3000H 当CPU响应外部中断0后,PC的值是()(A)(A)0003H (B)2000H (C)000BH (D)3000H3、执行PUSH ACC指令,MCS-51完成的操作是()(A)SP+1 SP (ACC)(SP)(B)(ACC)(SP)SP-1 SP(C)SP-1 SP (ACC)(SP) (D)(ACC)(SP)SP+1 SP4、CALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=()(A)2000H (B)2001H (C)2002H (D)2003H5、51执行完MOV A,#08H后,PSW的一位被置位()(A)C (B)F0 (C)OV (D)P6、下面条指令将MCS-51的工作寄存器置成3区()(A)MOV PSW,#13H (B)MOV PSW,#18H(B)(B)SETB PSW.4 CLR PSW.3 (D) SETB PSW.3 CLR PSW.47、执行MOVX A,DPTR指令时,MCS-51产生的控制信号是()(A)/PSEN (B)ALE (C)/RD (D)/WR8、MOV C,#00H的寻址方式是()(A)(A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址9、ORG 0000HAJMP 0040HORG 0040HMOV SP,#00H当执行完左边的程序后,PC的值是()(A)(A)0040H (B)0041H (C)0042H (D)0043H10、对程序存储器的读操作,只能使用()(A)(A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令二、判断题1、MCS-51的相对转移指令最大负跳距是127B。

【免费下载】 微机原理习题解答:4

【免费下载】 微机原理习题解答:4

习题四1.8086语言指令的寻址方式有哪几类?用哪一种寻址方式的指令执行速度最快?答:数据操作数的寻址方式有七种,分别为:立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对基址变址和相对基址变址寻址。

其中寄存器寻址的指令执行速度最快。

2.若DS=6000H,SS=5000H,ES=4000H,SI=0100H,BX=0300H,BP=0400H,D=1200H,数据段中变量名NUM的偏移地址为0050H,试指出下列源操作数的寻址方式和物理地址是多少?(1)MOV AX,[64H] 答:寻址方式为直接寻址;PA=60064H (2)MOV AX,NUM 答:寻址方式为直接寻址;PA=60005H(3)MOV AX,[SI]答:寻址方式为寄存器间接寻址;PA=60100H (4)MOV AX,[BX]答:寻址方式为寄存器间接寻址;PA=60300H (5)MOV AX,[BP]答:寻址方式为寄存器间接寻址;PA=50400H (6)MOV AL,[DI]答:寻址方式为寄存器间接寻址;PA=61200H (7)MOV AL,[BX+1110H]答:寻址方式为寄存器相对寻址;PA=61410H (8)MOV AX,NUM[BX]答:寻址方式为寄存器相对寻址;PA=60305H (9)MOV AX,[BX+SI]答:寻址方式为基址变址寻址;PA=60400H(10)MOV AX,NUM[BX][DI]答:寻址方式为相对基址变址寻址;PA=61505H3.设BX=637DH,SI=2A9BH,位移量为C237H,试确定由这些寄存器和下列寻址方式产生的有效地址。

(1)直接寻址答:有效地址为EA=C237H(2)用BX的寄存器间接寻址答:有效地址为EA=637DH(3)用BX的相对寄存器间接寻址答:有效地址为EA=125B4H(4)基址加变址寻址答:有效地址为EA=8E18H(5)相对基址变址寻址答:有效地址为EA=1504FH其中,(3)和(5)中产生进位,要把最高位1舍去。

指令系统寻址方式

指令系统寻址方式

指令系统寻址方式
1.指出下列指令中原操作数的寻址方式。

(1)MOV SI,100
(2)MOV CX,DATA[SI]
(3)MOV [SI],AX
(4)ADD AX,[BX][DI]
2.指出下列指令是否非法,说明理由。

(1)MOV BX,AL
(2)MOV CS,2400
(3)OUT 260H,AL
(4)MOV 100,BL
3.若(SP)=2000H,(AX)=3355H,(BX)=4466H,试指出下列指令或程序执行后有关寄存器的内容。

(1)PUSH AX 执行后(AX)=? , (SP)=?
(2)PUSH AX
PUSH BX
POP DX
执行后,(AX)=?(DX)=?(SP)=?
(4)下面是一个对2个8字长的组合BCD码相加的程序,阅读程序并加以注释。

MOV SI,1000H
MOV DI,2000H
MOV CX,8
CLC
LOOP:MOV AL,[SI]
ADC AL,[DI]
DAA
MOV [DI],AL
INC SI
INC DI
DEC CX
JNZ LOOP
…….
(5)编写一段程序使0404H开始的256个单元清0。

(6)编写一段程序在40个元素构成的数组中寻找第一个非0元素。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

寻址方式及指令系统习题与解答计算机科学与工程学院黄洪波2012年3月一、单项选择题1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为()。

A.5000H B.5008H C.23008H D.32008H2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理址为()。

A.13000H B.23000H C.33000H D.3000H3.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为()。

A.20200H B.30200H C.50200H D.200H4.指令MOV MEM[BX],AX中的MEM是()。

A.原码B.反码C.补码D.移码5.用来作为寄存器间接寻址的寄存器有()个。

A.8 B.6 C.5 D.46.指令MOV [BX+SI],AL中的目的操作数使用()段寄存器。

A.CS B.DS C.SS D.ES7.指令MOV BX,[BP+5]中的源操作数使用()段寄存器。

A.CS B.DS C.SS D.ES8.段内间接寻址只改变()中的内容。

A.CS B.IP C.CS和IP D.PSW9.段间间接寻址只改变()中的内容。

A.CS B.IP C.CS和IP D.PSW10.下述指令中不改变PSW的指令是()。

A.MOV AX,BX B.AND AL,0FHC.SHR BX,CL D.ADD AL,BL11.下述指令中不影响CF的指令是()。

A.SHL AL,1 B.INC CXC.ADD [BX],AL D.SUB AX,BX12.两个整数补码9CH和7AH相加运算后,会产生()。

A.无溢出且无进位B.无溢出但有进位C.有溢出且有进位D.有溢出但无进位13.指令JMP WORD PTR [BX]属于()寻址。

A.段内直接B.段内间接C.段间直接D.段间间接14.指令MOV AX,[BX+SI+8]的源操作数属于()寻址。

A.直接 B.寄存器相对C.基址变址D.相对基址变址15.指令()不改变CF的内容。

A.DEC AL B.ADD AX,CXC.SUB [BX],CL D.SBB AL,DL16.十进制数字74所对应的压缩型BCD码的形式是()。

A.74 B.74H C.4AH D.4A17.十进制数字85所对应的非压缩型BCD码的形式是()。

A.0085 B.0085H C.0805 D.0805H18.设AL=67H,执行“CMP AL,76H”后,AL=()。

A.76H B.0DFH C.67H D.0019.设AL=65H,BL=29H,执行下列指令后,AL=()。

ADD AL,BLDAAA.8EH B.94 C.94H D.8E20.压栈操作是()位数的操作。

A.8 B.16 C.32 D.任意21.执行IMUL指令时,如果乘积的高位部分不是低位部分的符号扩展,则()。

A.OF=0、CF=0 B.OF=0、CF=1 C.OF=1、CF=0 D.OF=1、CF=1 22.设AX=3762H,CL=5,执行“SHR AX,CL”后,AX=()。

A.0376H B.01BBH C.01BB D.037623.若要在BUF缓冲区中寻找与AL中不相等的数据,应使用()SCASB串操作指令。

A.REPNE B.REP C.REPE D.REPNZ24.如果“JNC L”指令的操作码放在0040H,转移后在0020H处取下一条指令的操作码,那么该条指令的位移量是()。

A.20H B.1EH C.0DEH D.0E0H25.如果“JA P”指令的操作码放在0050H, 该指令的位移量为34H,执行完此条指令转移到取下一条指令的偏移地址为()A.0082H B.0084H C.0086H D.0088H26.若DS=1000H,BX=2000H,(12000H)=56H,(12001H)=78H,AX=10 00H,执行“ADD AX,[BX]”指令后,AX=()。

A.8856H B.6678H C.8800H D.6600H27.设AX、BX寄存器中存放的是有符号的二进制数据,若执行“CMP AX,BX”指令后,()L表示大于则转L。

A.JZ B.JA C.JGE D.JG28.执行“DIV BX”指令后,()寄存器中存放商。

A.AL B.AH C.AX D.DX29.执行“()AX,BX”指令不改变AX寄存器中的内容。

A.CMP B.ADD C.XOR D.OR30.若AX=1000H,执行“NEG AX”指令后,AX=()。

A.1000H B.0E000H C.0F000H D.1001H二、多项选择题1.在下列寻址方式中,用来访问内存的寻址方式有()。

A.寄存器寻址B.寄存器间接寻址C.寄存器相对寻址D.直接寻址2.用来作为寄存器间接寻址的寄存器有()。

A.AX B.BX C.BP D.CX3.在下列指令中,源操作数使用DS段寄存器进行寄存器相对寻址的有()。

A.MOV AX,[DI+4] B.MOV AX,ES:[SI+8]C.MOV AX,[BP+4] D.MOV AX,[BX+4]4.在下列指令中,源操作数的寻址方式是错误的有()。

A.MOV AX,[DI+BX] B.MOV AX,[SI+DI]C.MOV AX,[BP+BX]D.MOV AX,[DX]5.在下列指令中,属于段内转移指令的有()。

A.JMP SHORT A B.JMP [BX]C.JMP DWORD PTR [BX] D.JMP NEAR PTR [BX+SI] 6.在下列指令中,错误的指令有()。

A.SUB 5,AL B.ADD AL,BXC.INC [BX] D.SHR AX,67.执行“CMP AX,8003H”指令后,当AX中的无符号数高于8003H时,下列指令中有效的转移指令有()。

A.JNB L B.JA L C.JG L D.JNL L8.可与串操作指令“CMPSW”指令配合使用的重复前缀有()。

A.REP B.REPZ C.REPNZ D.REPE9.在下列的输入/输出指令中,正确的指令有()。

A.IN AX,80H B.OUT DX,AXC.IN AL,340 D.OUT DX,AL10.在下列的指令中,错误的指令有()。

A.PUSH AL B.MOV AL,BXC.PUSH 1000H D.CALL AX11.可以用下列指令代替“LOOP L”指令的有()。

A.DEC CX B.DEC CXJNZ L JNC LC.DEC CX D.DEC CXCMP CX,0 JE LJE L三.填空题1.在一条指令中,立即数只能作源操作数。

2.8086/8088 CPU形成的内存物理地址有20位。

3.指令“MOV AX,[BX+SI]”的源操作数在内存的 DS 段。

4.指令“MOV BX,[BP+DI]”的源操作数在内存的 SS 段。

5.指令“MOV AX,ES:[SI]”的源操作数在内存的 ES 段。

6.入栈指令使用的是 SS 段。

7.指令“ADD[BX+SI],AL”的目的操作数是基址 +变址寻址方式。

8.指令“SUB BX,A[SI]”的源操作数是寄存器相对寻址方式。

9.指令“JMP DWORD PTR [BX]”属于段间间接寻址方式。

10.可作为寄存器间接寻址的寄存器有 4 个。

11.堆栈是从高地址向低地址方向生长的。

其操作遵循 LIFO 的操作原则。

12.在进行弹栈操作时应该先将弹出的数据送目标地址,然后 SP+2 。

13.在进行多精度加法运算时,一般使用 ADC 指令。

14.通用的数据传送指令不影响 PSW 。

15.“INC AL” 指令不影响标志位的 CF 位。

16.若AL=11H,执行“NEG AL” 后,AL= 。

17.JMP指令的执行PSW寄存器中的各位。

18.两个无符号数进行比较时,可以根据标志位来判断大小。

在编写程序时可使用指令来实现。

19.若执行“DIV BX”,其被除数的高16位必须放在,低16位必须放在。

20.DAA指令只对寄存器中的内容进行调整。

21.若AL=84H,在执行CBW后,AL= 。

22.十进制数1234的压缩型BCD码为。

23.执行AND AL,0FHJNZ L指令,是检测AL中的位,当它为非零则转移。

24.若移位指令的移位位数大于1时,其移位位数必须放在中。

25.如果AL=85H,CL=4,执行“SAR AL,CL”时,AL= ,CF= 。

26.在串操作指令中,SI指向串,DI指向串。

27.如果要查找某串中与AL寄存器中有相同的字符(数),则在SCASB指令前应配合使用重复前缀。

28.转移指令“JNZ L ”的转移范围(十进制)是。

该指令的第二个字节为位移量,用形式表示。

29.段内调用指令改变中的内容。

30.段间调用指令改变中的内容。

四.判断题(判断下列指令是否正确,如果是错误的,请指出错误的原因)1.ADD AL,BX2.MOV [BX],SI3.SUB [BX],[SI]4.CMP 5,AL5.MOV CX,AX6.LEA BL,A7.SHR AL,68.MOV AL,[DI+SI]9.MOV BL,200H10.MOV AX,DATA11.INC [BX]12.CMP [BX],A ;A为变量13.MOV AX,‘+’14.MOV AX,[BP+BX]15.ADD AX,[CX]16.OUT 400,AL17.JNC P18.MOV BX,,OFFSET A19.LEA DI,A[SI]20.CMP AX,5五.改错题(按下列指令中的原意改正下列指令)1.DEC [SI]2.CMP AL,BX ;无符号数比较3.MOV [DX],AL4.MOV AL,300H5.MOV [BX],[DI] ;字节操作6.ADD AL,[CX+SI]7.ADD AL,BX ;有符号数相加8.PUSH AL9.CMP [BX],5 ;字节比较10.MOV DS,1234H六.简答题1.设BX=1000H,SI=2000H,位移量D=3000H,请指出下列各种寻址方式的有效地址是什么?(1)使用D的直接寻址(2)使用BX寄存器的间接寻址(3)使用BX寄存器的相对寻址(4)基址变址寻址(5)相对基址变址寻址2.请指出下列各条指令的源操作数的寻址方式是什么?(1)MOV AX,BUF(2)CMP AL,5(3)ADD [BX+5],AX(4)SUB AX,[BX+SI](5)ADC AH,A[SI](6)MOV BX,[SI](7)AND CX,B[BP+SI](8)JMP WORD PTR [BX](9)JMP P(10)JMP FAR PTR P3.设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,[BX+1100H](6)MOV AX,[BX+SI](7)MOV AX,[BX+SI+1100H]4.按下列各小题的要求写出相应的一条汇编语言指令。

相关文档
最新文档