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

合集下载

汇编语言程序设计复习2(带答案)1

汇编语言程序设计复习2(带答案)1

汇编语言程序设计练习题2一、单项选择题(答案BDDBA BDADC CCAC CBBDA BDADA BCCB )1、使计算机执行某种操作的命令是( )A.宏指令B.指令C.伪指令D.语句2、某存储单元的物理地址是12345H,可以作为它的段地址有()。

A.2345H B.12345HC.12340H D.1234H3、8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4、计算机能直接识别并执行的语言是( )A.汇编语言B.机器语言C.高级语言D.低级语言5. 8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志6、以下各个指令中正确的是()。

A. MOV CS, DXB. MOV DS, BPC. IN 20H,ALD. MOV AH, BX7、下列对OUT指令的叙述正确的是()。

A. 实现从端口中读出数据B. 能直接访问的端口范围是0~1KBC. 能访问的端口为64KBitD. 只能用DX做为间接寻址的寄存器8、已有汇编语句“V AR EQU 1220H”,则语句“mov AX, V AR”中源操作数的寻址方式为()。

A. 立即寻址B. 直接寻址C. 寄存器间接寻址D. 基址寻址9、与MOV BX,OFFSET DATA1指令完全等效的指令是()。

A.MOV BX,DATA1B.LDS BX,DATA1C.LES BX,DATA1D.LEA BX,DATA110、下列指令中段默认为堆栈段的是()A.MOV AX,[BX+SI+10]B.ADD AX,ES:[SI]C.SUB BX,[BP][DI]D. MOV DX,[1000H]11、已知DS=2000H,ES=1000H, SI = 0800H,内存10880H开始的两个单元中存放5678H,内存20880H开始的两个单元中存放8765H,则语句“LEA BX,[SI+80H]”执行后BX 的值为()。

第二章8086习题答案

第二章8086习题答案

微机原理第二章习题与分析解答1.单项选择题(1)8086工作最大方式时应将引脚MN/MX接()A.负电源 B.正电源 C.地 D.浮空分析:8086规定工作在最小方式下MN/MX接+5V,工作在最大方式下MN/MX 接地。

答案:C(2)8086能寻址内存储器的最大地址范围为()A.64KB B.1MB C.16MB D.16KB分析:8086有A0~A1920条地址总线,220=1MB。

答案:B(3)在总线周期,8086CPU与外设需交换()A.地址信息 B.数据信息 C.控制信息 D.A、B、C分析在总线周期,CPU必须发出地址信息的控制信息以后,才能实现与外设进行交换数据。

答案:D(4)8086用哪种引脚信号来确定是访问内存还是访问外设()A.RD B.WR C.M/IO D.INTA分析:引脚信号M/IO是Memory or Input Output的缩写,当M/IO=0时,用以访问外设;当M/IO=1,用以访问外设。

答案:C(5)在8086指令系统中,下列哪种寻址方式不能表示存储器操作数()A.基址变址寻址B.寄存器寻址C.直接寻址D.寄存器间接寻址分析:8086指令系统共有七种寻址方式,只有立即寻址方式和寄存器寻址方式不是表示存储器操作数的。

答案:B(6)当CPU时钟频率为5MHz,则其总线周期()A.0.8 s B.500ns C.200ns D.200μs分析:时钟周期T=1/ƒ=200ns,而一个总路线周期通常由4个T状态组成,有4╳T=4╳200ns=0.8μs.答案:A(7)8086工作在最大方式下,总路线控制器使用芯片()A.8282 B.8286 C.8284 D.8288分析:在最大方式下,系统中主要控制信号是由总路线控制器产生,而只有芯片8288才有这方面的功能。

答案:D(8)取指令物理地址=()A.(DS)╳10H+偏移地址 B.(ES)╳10H+偏移地址C.(SS)╳10H+(SP) D.(CS)╳10H+(IP)分析:每当8086CPU取指令时,总是根据CS:IP的所指的存贮单元去取指令。

80X86汇编语言程序设计 第二章⑧.8086 8088指令系统(五)转移指令

80X86汇编语言程序设计 第二章⑧.8086 8088指令系统(五)转移指令

80X86汇编语言程序设计第二章8086/8088寻址方式和指令系统-(五)转移指令1.无条件转移指令(没有条件碰到就转)(1)无条件段内直接转移指令格式:JMP 标号这条指令使控制无条件地转移到标号地址处。

例如:NEXT:MOV AX,CX……JMP NEXT ;转到NEXT处……JMP OVER ;转到OVER处……OVER: MOV AX,1无条件段内直接转移指令格式如下:由操作码和地址差值构成。

指令的操作码| 地址差地址差:是程序中该无条件转移指令的下一条指令的开始地址到转移目标地址(标号所指定的开始地址)的差值。

因为,在执行无条件段内转移指令时,实际的动作是把指令中的地址差加到指令指针IP上,使IP之内容为目标地址,从而达到转移的目的。

段内无条件直接转移指令中的地址差可用一个字节表示,也可用一个字表示。

如果地址差只要用一个字节表示,就称为短转移;如果地址差要用一个字表示,就称为近转移。

段内短跳转:(-128~127)JMP SHORT QUEST段内近跳转:(64KB)JMP NEAR PTR PROG(2)无条件段内间接转移指令格式:JMP OPRD这条指令使控制无条件地址转移到由操作数OPRD的内容给定的目标地址处。

操作数OPRD可以是通用寄存器,也可以是字存储单元。

(3)无条件段间直接转移指令格式:JMP FAR PTR 标号这条指令使控制无条件地转移到标号所对应的地址处。

标号前的符号“FAR PTR”向汇编程序说明这是段间转移。

例如:JMP FAR PTR EXITEXIT是定义在另一个代码段中的标号。

无条件段间直接转移指令的具体动作时把指令中包含的目标地址的段值和偏移分别置入CS和IP。

这种在指令中直接包含转移目标地址的转移方式称为绝对转移。

(4)无条件段间间接转移指令格式:JMP OPRD这条指令使控制无条件地转移到由操作数OPRD的内容给定的目标地址处。

操作数OPRD必须是双字存储单元。

汇编语言复习重点

汇编语言复习重点

Ch1 汇编语言基础知识1.什么是汇编语言?2.汇编语言与机器语言的区别3.学习汇编语言的意义4.码制:不同进制、原码、反码、补码、BCD码表示,压缩BCD码Ch2 微型计算机体系结构1.8086是16位微处理器,它有16根数据线和20根地址线,寻址空间1MB。

2.8086中设置了一个6字节的指令预取队列,它的意义如何?3.8086分为EU和BIU两个部分。

说明它们的功能、作用和相互关系。

4.8086中有4个寄存器可以拆分为两个8位寄存器独立使用。

是那些寄存器?5.说明8086堆栈的特点。

指令指针寄存器IP、堆栈指针SP………6.指令对标志寄存器FLAGS的影响。

7.在8086中,当一个字存入存储器时,占有连续的两个字节空间。

存放时,低位字节存入低地址,高位字节存入高地址。

8.8086是采用存储器分段管理方式来解决寻址问题的。

即将1MB地址空间分为若干个逻辑段,段的大小按实际需要确定,最大为64KB。

9.8086对于1MB的物理存储空间,每一个存储单元都有一个20位的物理地址10.8086是采用存储器分段管理方式来解决寻址问题,指令中采用逻辑地址形式,逻辑地址表示格式为:段地址:偏移地址11.逻辑地址“段地址:偏移地址”转换为对应的物理地址的方法。

Ch3 指令系统1.在一般情况下,机器指令应包含两个部分内容,其一般格式为:操作码操作数。

2.什么是寻址方式?8086有哪些寻址方式?3.重点指令。

Ch4 伪指令与汇编语言程序结构设计1.汇编语言源程序由若干条语句组成,其语句分为两类:指令性语句和指示性语句。

2.合法的名字。

3.数据定义伪指令开始。

DB、DW、DUP等。

4.段定义Ch7 输入输出程序设计1. 接口与外设之间的信息。

2. I/O接口的功能。

3. 接口的基本组成。

4. 输入输出的控制方式的概念:无条件传送、查询式传送、中断传送。

5. 中断的基本概念、优点。

6. 什么是中断向量表、特点。

Ch8 高级汇编技术1. 什么是宏。

汇编语言程序设计(第四版)第2章【课后答案】讲解

汇编语言程序设计(第四版)第2章【课后答案】讲解

汇编语言程序设计第四版【课后习题答案】--囮裑為檤第2章8086的指令系统〔习题2.1〕已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 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]〔解答〕(1)AX=1200H(2)AX=0100H(3)AX=4C2AH ;偏移地址=bx=0100h(4)AX=3412H ;偏移地址=bx=0100h(5)AX=4C2AH ;偏移地址=bx+1100h=1200h(6)AX=7856H ;偏移地址=bx+si=0100h+0002h=0102h(7)AX=65B7H ;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h〔习题2.2〕指出下列指令的错误(1)mov cx,dl(2)mov ip,ax(3)mov es,1234h(4)mov es,ds(5)mov al,300(6)mov [sp],ax(7)mov ax,bx+di(8)mov 20h,ah〔解答〕(1)两操作数类型不匹配(2)IP指令指针禁止用户访问(3)立即数不允许传给段寄存器(4)段寄存器之间不允许传送(5)两操作数类型不匹配(6)目的操作数应为[ SI ](7)源操作数应为[BX+DI](8)立即数不能作目的操作数〔习题2.3〕已知数字0 ~ 9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。

第二章 80868088寻址方式和指令系统

第二章 80868088寻址方式和指令系统

(5)奇偶标志PF
用于反映运算结果中“1”的个数。如果“1”的个数为偶数,则OF被置1,否则OF被清0。
(6)辅助进位标志AF
在字节操作时,如发生低半字节向高半字节进位或借位;在字操作时,如发生低字节向高字 节进位或借位,则辅助进位标志AF被置1,否则AF被清0。
②状态控制标志
(1)方向标志DF
方向标志决定着串操作指令执行时,有关指针寄存器调整方向。 当DF为1时,串操作指令按减方式改变有关的存储器指针值, 当DF为0时,串操作指令按加方式 改变有关的存储器指针值。
其中:存储单元的物理地址是12345H, 标出的:两个重叠段的段值分别是:1002H和1233H, 在对应段内的偏移分别是2325H和0015H。
采用段值和偏移构成逻辑地址后,段值由段寄存器给出,偏移可由指令指针IP、堆栈指针SP 和其他可作为存储器指针使用的寄存器(SI、DI、BX和BP)给出,偏移还可直接用16位数给 出。
图中指令存放在代码段中,OP表示该指令的操作码部分 再例如: MOV AL,5 则指令执行后,(AL)=05H
MOV BX,3064H 则指令执行后, (BX)=3064H
2、寄存器寻址方式
操作数在CPU内部的寄存器中,指令指定寄存器号。
对于16位操作数数,寄存器可以是:
AX、BX、CX、DX、SI、DI、SP和BP等;
指令中不使用物理地址,而是使用逻辑地址,由总线接口单元BIU按需要根据段值和偏移自动 形成20位物理址。
3、段寄存器的引用
由于8086/8088CPU有四个段寄存器,可保存四个段值。所以可同时使用四个段值,但这四个 段有所分工。
在取指令的时候,自动引用代码段寄存器CS,再加上由IP所给出的16位偏移,得到要取指令 的物理地址。

寻址方式和指令系统

寻址方式和指令系统

寻址⽅式和指令系统《微机原理》复习思考题第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的转换。

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

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

第3章8086寻址⽅式和指令系统-题第3章8086寻址⽅式和指令系统⼀、单项选择题(共50⼩题)1、指令MOV AX,[3070H]中源操作数的寻址⽅式为()A、寄存器间接寻址B、⽴即寻址C、直接寻址D、变址寻址2、DS是()A、数据段寄存器B、代码段寄存器C、堆栈段寄存器D、附加数据段寄存器3、CF是()A、进位标志位B、辅加进位标志位C、符号标志位D、全零标志位4、SS是_()A、数据段寄存器B、代码段寄存器C、堆栈段寄存器D、附加数据段寄存器5、指令MOV [BX],AX中A、⽬的操作数是寄存器操作数B、源操作数是存储器操作数C、⽬的操作数是存储器操作数D、源操作数是⽴即操作数6、CS是()A、数据段寄存器B、代码段寄存器C、堆栈段寄存器D、附加数据段寄存器B、源操作数存于堆栈段C、⽬的操作数存于数据段D、⽬的操作数存于堆栈段8、BX是()A、8位通⽤寄存器B、16位通⽤寄存器C、16位段寄存器D、16位变址寄存器9、ZF是()A、进位标志B、⽅向标志C、符号标志D、零标志10、IP是()A、指令指针寄存器B、堆栈指针寄存器C、通⽤寄存器D、变址寄存器11、SI是()A、8位通⽤寄存器B、16位通⽤寄存器C、16位段寄存器D、指令指针寄存器12、DL是()A、16位段寄存器B、16位通⽤寄存器C、8位通⽤寄存器D、16位标志寄存器13、指令IDIV BX 的含义是()A、(AX)/(BX)B、(DX:AX)/(BX)C、(AL)/(BX)D、(AL)/(BL)B、DXC、BPD、DI15、设SS=2000H,执⾏下列程序段后SP=()MOV SP,2000HPUSH AXA、21FFEHB、20000HC、22000HD、22002H16、寄存器间接寻址⽅式中,操作数在( )中。

A、通⽤寄存器B、堆栈C、内存单元D、段寄存器17、JMP WORD PTR[DI]是( )A、段内间接转移B、段间间接转移C、段内直接转移D、段间直接转移18、堆栈指针SP的作⽤是( )。

汇编语言复习题(2)

汇编语言复习题(2)

汇编语⾔复习题(2)汇编语⾔复习题第2章8086CPU寄存器的结构及使⽤1.8086CPU由指令执⾏部件EU和总线接⼝部件BIU两部分组成。

其中EU的功能是控制和执⾏指令,主要由算术逻辑部件ALU、EU控制部件、8个16位寄存器和⼀个标志寄存器FLAGS组成。

BIU的功能是从存储器预取指令和数据,以及所有EU需要的总线操作,实现CPU与存储器和外设间信息传递。

BIU由指令队列、指令指针寄存器、段寄存器、地址加器组成。

2.Intel8086CPU共有14个16位寄存器,它们分别是通⽤寄存器8个即AX、BX、CX、DX、SP、BP、SI、DI,其中能⽤作寄存器间接寻址的寄存有BX、BP、SI和DI,控制寄存器2个即IP、PSW,段寄存器4个即DS、SS、CS和ES它们的含义分别是:其中在编程过程中程序的段基值由汇编程序装⼊的段寄存器是SS和CS,由编程者⽤汇编指令将段基值装⼊的段寄存器是DS 和ES,其具体指令是MOV AX,数据段段/附加数据段名,MOV DS/ES,AX,编程⼈员不能⽤指令去取其值或给其设置给定值的寄存器是IP,但是可以通过某些指令的执⾏⽽⾃动修改其内容,如JMP NEXT指令的功能是将⽬的地址的偏移量送⼊IP。

3.PSW是程序状态字寄存器⼜称为标志寄存器,⽤来反映微处理器在程序运⾏时的某些状态,其中的6个状态标志位分别是OF、SF、ZF、AF、PF和CF,反映了刚执⾏完算术或逻辑运算指令后的某些特征。

三个控制标志位是DF即⽅向标志、IF即中断标志位和TF陷阱标志。

如两个8位的⼆进制数相加其状态标志位中各标志的值是多少?10110101+10011011。

4.8086CPU数据总线16根地址总线是20根能访问的最⼤存储空间是1MB。

第3章存储器的分段1.在8086CPU中存储器的编址原则是按字节编址即每⼀个字节单元是⼀个存储器地址,在源程序中⽤常⽤⼗六进制数或符号来表⽰⼀个存储单元的地址。

微机原理第02章(寻址方式和传送指令)

微机原理第02章(寻址方式和传送指令)

有效地址由基址寄存器( BX 或 BP )的内容加上 变址寄存器(SI或DI)的内容构成: 有效地址=BX/BP+SI/DI 段地址对应 BX基址寄存器默认是 DS,对应BP基 址寄存器默认是SS;可用段超越前缀改变
MOV AX, [BX+SI] MOV AX, [BX][SI]
;AX←DS:[BX+SI]
段内偏移量为适应各种数据结构的需要,可以有几个部分组 成,所以也把它称为有效地址EA。
寻址方式不同EA的构成不同。归纳EA可有多种情况构成: 直接寻址,寄存器间接寻址,寄存器相对寻址,
基址加变址寻址,相对址加变址寻址。
寻址方式——如何寻找内存操作数。 不同寻址方式实质上是构成它段内的偏移量的方法不同。
34H 12H
堆 栈 段
...
寄存器间接寻址方式 MOV [BP], AX
3 、用 SI、DI、BX 、BP作为间接寻址允许段跨越
指令中可以指定段跨越前缀来取得其他段中的数据。
例:MOV ES:[DI], AX MOV DX, DS:[BP] 这种寻址方法可以用于表格处理。
第2章 (五)寄存器相对寻址方式(Register relative addressing)或变 址寻址 (Index Addressing)
8位位移量 PA=16d ×(SS)+ (BP) + 16位位移量
例: MOV AX, COUNT [BP] 或MOV AX, [COUNT+BP] 或MOV AX, COUNT+[BP]
AH AL 48H 存储器 OP OP 40H 20H 操 作 码 位移量 COUNT
COUNT为16位位移量。 指令执行前: (SS)=5000H, (BP)=3000H, COUNT=2040H, (AX)=1234H

汇编语言程序设计复习题

汇编语言程序设计复习题

围内。( )
A. -126~129
B. -128~127
C. -127~128 D. -129~126
23. 在循环次数已知的情况下,采用哪种方法控制循环程
序最方便。( )
A. 正计数法
B. 倒计数法
C. 寄存器终值法 D. 条件控制法
24. 当CX=0时,REP MOVSB执行的次数为。 ( )
A. 1次
3. 下面的子程序不完整,将它补充完整。
子程序的说明文件如下:
子程序名:FMAX
子程序功能: 从一组带符号的字节数据中找一个最大数
入口条件: DS:SI=数据的首地址, CX=数据的个数
出口条件: AL=最大数
FMAX PROC
FMAX1: MOV AL,[SI]
FMAX2: INC SI
DEC CX
A. BX的内容
B. SP+BX之和
B. IP+[BX]之和 D. BX指出的内存单元之内容
15.A≥B时转移的转移指令为(A、B为带符号数) ( )
A. JA
B. JAE
C. JG
D. JGE
16. 已知X,Y为带符号数, 两数比较后, 欲判断X≤Y发生
转移, 应使用指令 ( )
A. JBE
B. JL
B. 0,1
C. 1,0
D. 1,1
19. 条 件 转 移 指 令 的 转 移 目 标 距 该 指 令 的 距 离 范 围 为
()
A. -128~127
B. -126~129
C. -130~125
D. -127~128
20. NEXT是程序中标号,下述哪个程序段不能实现转移到
NEXT•语句执行 ( )

汇编语言 第二章 8086

汇编语言 第二章 8086

第二章 8086/8088的寻址方式和指令系统返回目录练习题一.单项选择题1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为( B )。

有效地址就是EA,EA=BX+SI+8=5008 A.5000H B.5008H C.23008H D.32008H 2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理址为( A )。

寄存器间接寻址,EA=BX=3000H,PA=DS*2^4+EA=13000HA.13000H B.23000H C.33000H D. 3000H 3.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为( B )。

目的操作数显式指定的附加数据段寄存器为ES,代替默认的DS,EA=SI=200H,PA=ES*2^4+EA=30200HA.20200H B.30200H C.50200H D.200H 4.指令MOV MEM[BX],AX中的MEM是( C )。

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

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

(以BP寻址PA,默认要用SS,以BX,SI,DI或变量来寻址PA,默认要用DS)A.CS B.DS C.SS D.ES 7.指令MOV BX,[BP+5]中的源操作数使用( C)段寄存器。

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

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

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

程序状态寄存器PSW是计算机系统的核心部件——运算器的一部分,PSW用来存放两类信息:一类是体现当前指令执行结果的各种状态信息,称为状态标志,如有无进位(CF位),有无溢出(OF位),结果正负(SF位),结果是否为零(ZF位),奇偶标志位(PF位)等;另一类是存放控制信息,称为控制状态,如允许中断(IF位),跟踪标志(TF位),方向标志(DF)等。

汇编语言期末复习题(2012)

汇编语言期末复习题(2012)

【王爽-汇编语言】第二章检测题分析第二章检测题分析一、下列关于8086CPU的工作原理的描述错误的是_____。

1、汇编程序员可以通过对各种寄存器中内容的修改实现对CPU的控制。

2、CPU在访问内存时,采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。

3、任意时刻,CS:IP指向的内容即是此刻CPU正在执行的指令。

4、传送指令能够更改所有通用寄存器的内容。

二、在DEBUG中,____选项中的命令可以修改内存单元的内容1、a2、d3、t4、u三、下列说法中正确的是:____1、一条指令被执行后,IP的值进行改变。

2、当CPU执行完当前指令返回debug后CPU就闲下来不再进行工作。

3、e命令可将所有内存单元中的数据进行改变。

4、CPU将CS:IP所指向的内存单元中的数据当作指令来执行。

四、下面哪个是错误的指令_____1、mov ax,bx2、add al,0f5H3、mov al,bh4、add al,100H五、16位结构的CPU 不一定具备的特性是:____1、运算器一次最多可以处理16位的数据2、寄存器的最大宽度为16位3、寄存器和运算器之间的通路为16位4、地址总线为16根六、下列说法中正确的是:____1、8086CPU采用“段地址*16+偏移地址=物理地址”的寻址模式,所以内存是由一个一个的段组成,每一个段有一个段地址。

2、物理地址为ffff0H的内存单元的偏移地址可能为ffffH。

3、一个段的大小可以是8Byte。

4、在一段没有任何跳转指令的程序中,超出64K的部分将不会被执行。

【王爽-汇编语言】第三章检测题分析1.能够只将al中的内容压入栈的指令序列是_____。

1、push al2、pop ax3、mov ah,0push ax4、mov ax,0push ax2.下列说法正确的是:____1、数据段和代码段的段地址不能相同。

2、指令mov ax,bx执行完后bx中的值为零。

第2章 指令系统及汇编语言程序设计 题库和答案

第2章 指令系统及汇编语言程序设计 题库和答案

第2章指令系统及汇编语言程序设计________________________________________一.选择题1.指令ADD CX,55H的源操作数的寻址方式是( )。

(A) 寄存器寻址(B) 直接寻址(C) 寄存器间接寻址(D) 寄存器相对寻址2.设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=( ) 。

(A) 113AH (B) 114AH (C) 1144H (D) 1140H3.若SI=0053H,BP=0054H,执行SUB SI,BP后,则( )。

(A) CF=0,OF=0 (B) CF=0,OF=1 (C) CF=1,OF=0 (D) CF=1,OF=14.已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,执行后,(BX)=( ) 。

(A) 0102H (B) 0201H (C) 245AH (D) 5A24H5.实模式下80486CPU对指令的寻址由( )决定。

(A) CS,IP (B) DS,IP (C) SS,IP (D) ES,IP6.使用80486汇编语言的伪操作指令定义: V AL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则在V AL存储区内前十个字节单元的数据是( )。

(A) 1,2,3,3,2,1,0,1,2,3 (B) 1,2,3,3,3,3,2,1,0,1(C) 2,1,2,3,3,2,1,0 (D) 1,2,3,3,3,1,0,1,0,17.下列四条指令都可用来使累加器清"0",但其中不能清"进位"位的是( ) 。

(A) XOR AL,AL (B) AND AL,0 (C) MOV AL,0 (D) SUB AL,AL8.若(AX)=96H,(BX)=65H,依次执行ADD AX,BX指令和DAA指令后,(AL)=( )。

汇编语言补充复习题(含答案)

汇编语言补充复习题(含答案)

汇编语言补充复习题(含答案)汇编语言补充复习题一、简答题1、8086的指令格式由哪些部分组成?什么是操作码?什么是操作数?什么是寻址方式?2、8086/8088中有关操作数的寻址方式有哪几种?3、汇编语言程序应该由哪些逻辑段组成?各段的作用是什么?4、写出以下结构类定义语句的格式。

过程定义:段定义:5、简述标志寄存器各位的定义。

6、写出具有下列功能的伪指令语句:在DAl为首地址的存储单元中连续存放字节数据:2个54,5个‘A’, 10个(3,5)。

7、解释段基地址、逻辑地址、偏移地址、有效地址、物理地址的含义。

物理地址如何计算?(P35)教材P57,1~6教材P112,7~14教材P140,6~9,11教材P198,9(1)~(5)二、选择题1、若(AX)=0122H,4个标志位CF,SF,ZF,OF的初始状态为0,执行指令SUB AX,0FFFH 后,这4个标志位的状态是A、(CF)=0,(SF)=0,(ZF)=0,(OF)=0B、(CF)=0,(SF)=0,(ZF)=1,(OF)=1C、(CF)=1,(SF)=1,(ZF)=0,(OF)=0D、(CF)=1,(SF)=1,(ZF)=1,(OF)=12、当运算结果为0时,不能转向标号L1处的指令为A、JE L1B、JGE L1C、JNZ L1D、JAE L13、当程序结束要退回DOS时,在系统功能调用中,INT 21H指令前,先必须执行的指令是()。

AMOV AH,01H B、MOV AH,4CHC、MOV AH,02HD、MOV AH,09H4、DOS功能调用的子功能号应存放在()寄存器中A、AHB、ALC、DHD、DL5、比较两个同长度的字符串,全相等则转移到ST2的是()。

A、REPE CMPSBB、REPNE CMPSBJZ ST2 JZ ST2C、REP MOVSBD、REPNE MOVSBJZ ST2 JZ ST26、设ALPHA DW 7435H,396,8321,AUl DB 10 DUP(?)BETA DD 9543HCNT EQU BETA-ALPHA,则CNT的值为()。

汇编语言复习题(附答案)

汇编语言复习题(附答案)

汇编语言复习题注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。

在此文档最后最后附有课后四、六章的答案,大家抓紧时间复习哦!一、选择题1.把要执行的程序与库文件连接起来形成可执行文件的系统程序是( B ) 。

A.汇编程序B.连接程序C.机器语言程序D.源代码程序2.在8088/8086的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是( C )。

A..SS和SPB.DS和DIC.CS和IPD.ES和SI3.为了使主机访问外设方便起见,外设中的每个寄存器给予一个( C )。

A.物理地址B. 逻辑地址C. 端口地址D.段地址4.MOV AX,3064H,该指令中源操作数采用的寻址方式是( A )。

A.立即B.直接C.寄存器相对D.寄存器间接5.换码指令的助记符是( C )。

A. XCHGB. LEASC.XLATD. MOV6.如果A≥B(A、B有符号数)发生转移,应选择的条件转移指令是 ( JGE )。

7.下列符号中,可用作标识符的是( C )。

A.MOVB.AXC.MSG1D.1ABC8.X DB 10H DUP(1,2)内存变量定义语句拥有了( A )个字节的存储空间。

A.20DB.10DC.20HD.10H9.当DF=0时,执行串操作指令MOVSB,变址寄存器SI、DI的值将( C )。

A. 不变B.减1C.加1D.无法确定10.如下指令可将AX寄存器内容改变的是( A )。

A.AND AX , BX B.TEST AX , BX C.CMP AX , BX D.XCHG AX , AX11.16位CPU支持的I/O地址范围是( D )。

A.0~0FFFFFH B.0~0FFFFH C.0~0FFFH D.0~0FFH12.MUL CL指令实现的功能是( A )。

A.无符号乘法:AX← AL×CL B.有符号乘法:AX← AL×CLC.无符号乘法:DX← AL×CL D.有符号乘法:DX← AL×CL13.DOS系统功能调用(INT 21H)中,显示字符串的功能号是( D )。

23 8086指令系统与汇编语言

23 8086指令系统与汇编语言

第2章 微处理器
5.控制转移指令
(1)转移指令,分为无条件转移指令和条件转 移指令;
(2)循环指令; (3)过程调用与返回指令; (4)中断与返回指令。
第2章 微处理器
6.处理器控制指令
主要包括标志处理指令7条和其他处理器控制指 令5条。详细内容同样参见指令一览表。
返回本节
第2章 微处理器
2.3.3 汇编语言程序设计
·
50000H

·
EA
·
数 据
·

52006H
78H
ABH
·
第2章 微处理器
(7)相对基址变址寻址方式
例如:MOV AH, [BX+DI+1234H] ; BX的内容加上DI的 内容再加上位移量 1234H 作 为 操 作 数 的有效地址。如图 2-17所示。
DS 4000H
BX 0200H
D I 0010H EA= 0200H+0010+
PROC_A
ENDP
···
;其他过程内容
CODE_SEG ENDS
END START
第2章 微处理器
图2-22 DOS下内存的分配示意图
返回本节
操作码 指

位移量

当前IP值
EA(有效转移地址)
第2章 微处理器
(2)段内间接方式
这种方式也是在段内,其转移的目标地址是寄存器或存 储单元的内容,即以寄存器或存储器单元内容来更新IP 的内容,所以是绝对偏移量,注意和段内直接方式的相 对偏移量的区别。若目标地址为存储单元内容,则该存 储单元本身可由上述与存储器操作数有关的任何寻址方 式寻址,只是它里面的内容为新的IP值。如图2-19所示。

汇编语言与接口技术复习要点总结及一些习题

汇编语言与接口技术复习要点总结及一些习题

要点总结第二章微型计算机结构1.8086的段式存储结构段地址+偏移量地址=存储单元的物理地址或者,段寄存器的值*16+偏移地址=存储单元的物理地址2.段寄存器,通用寄存器,指针与变址寄存器,标志寄存器3.寻址方式(1)寻址方式的概念(2)寻址方式的分类(3)各寻址方式中对于寄存器的限制(4)各类寻址方式的格式第三章汇编语言(参照课件)1.汇编语句格式:[标号] 操作符操作数[;注释] 2.标号的概念以及其三个属性3.伪指令:(1)符号定义伪指令:EQU(2)数据定义伪指令:DB,DW(3)段定义伪指令:SEGMENT、ENDS、ASSUME 4、运算符(1)分析算符:SEG,,OFFSET ,SIZE,LENGTH(2)组合算符:PTR5.指令语句与伪指令语句的区别6.数据段、堆栈段、代码段的用途第四章指令及汇编程序设计1.数据传送指令:MOV、PUSH、POP、XCHG、XLAT2.算数运算指令:ADD、ADC、INC、SUB、SBB、DEC、NEG、3.逻辑运算指令:CMP、TEST、OR、AND、NOT、XOR4.移位指令:逻辑左移/右移,算数左移/右移,循环左移/右移,带进位的循环左移/右移;以及移位指令对于CF、OF标志位的影响分支结构程序设计1.无条件转移指令2.有条件的转移指令(教材P102)3.分支程序编写循环结构程序设计1.循环控制指令LOOP、LOOPE/Z、LOOPNE/NZ以及他们的控制条件(对CF、ZF的判断)2.循环程序编写子程序设计1.子程序定义伪指令、调用指令、返回指令2.子程序设计中对于堆栈操作的要求第五章输入与输出中断1.中断向量表、中断向量的概念2.中断向量的修改3.中断的类型:软件中断、可屏蔽硬件中断、非屏蔽硬件中断;以及CPU队可屏蔽硬件中断和非屏蔽硬件中断的不同的响应条件4.8259的基本结构和工作原理5.8259的操作命令字:包括各个命令字的作用、格式、具体的操作6.软件中断与硬件中断的异同点第六章8254程序设计1.8254的基本结构和工作原理2.8254的命令字格式,以及对于8254各个计数器工作方式的设定8255程序设计1.8255的基本结构和工作原理2.8255的命令字格式,以及对于8255各端口的操作16550异步串行通信中,波特率的概念,数据帧的概念第七章简单外设LED的显示原理键盘的结构及扫描原理一些复习题习题一一、选择题1、8086CPU中程序计数器IP中存放的是。

8086汇编语言复习题解答

8086汇编语言复习题解答

8086/8088汇编语言习题解答第一章1.1、试根据自己使用计算机的经历,列举几个必须使用或最好是使用汇编语言编制程序的事例。

1.2、试完成下列数制间的转换⑴、十进制数转换为8位二进制数十进制:100 对应二进制:01100100B十进制:56 对应二进制:00111000B十进制:111 对应二进制:01101111B十进制: 120 对应二进制:01111000B十进制: 70 对应二进制:01000110B⑵、8位二进制数(无符号数)转换为十进制数二进制:01010101B 对应十进制:85二进制:10101010B 对应十进制:170二进制:11110000B 对应十进制:240二进制:00001111B 对应十进制:15⑶、十进制数转换为十六进制数十进制:40 对应二进制:00101000B十进制:80 对应二进制:01010000B十进制:105 对应二进制:01101001B十进制: 114 对应二进制:01101101B十进制: 207 对应二进制:11001111B1.3、试把下面用补码表示的二进制数转换为对应的十进制真值二进制补码:01111000 对应的十进制值数真值:+120二进制补码:11011001 对应的十进制值数真值:-39二进制补码:10000001 对应的十进制值数真值:-127二进制补码:10001000 对应的十进制值数真值:-120二进制补码:00100111 对应的十进制值数真值:+39二进制补码:11110000 对应的十进制值数真值:-161.4、由键盘输入字符通常都是以该字符的ASCII码形式表示的。

若现在从键盘上输入十六进制数0~F,那么应如何处理才能把十六进制转换为4位二进制数0000~1111.答:将键盘输入的数0~F的ASCII码,每输入一个字符,减去30H后,再存入内存,这样就完成了把从键盘上输入的十六进制ASCII码转换为4位二进制数0000~1111.1.5、试分别判断下列各组数据中哪个数据最大?哪个最小?①、A=0.101B B=0,101D C=0,101H②、A=1011B B=1011D C=1011H答:第①组:A=1×21-+1×23-=0.625B=0.101C=1×161-+163-=0.0625+0.00024414=0.06274414所以A最大,C最小第②组,B最大,A=B最小1.6、现有一个二进制数10110110.若将该数看着是无符号数、原码表示的带符号数、补码表示的带符号数,它对应的十进制数的真值是多少?答:10110110.的无符号数的十进制是:+182;10110110.的原码带符号数的十进制是:-5410110110.补码表示的带符号数的十进制是:+741.7、下列各组数据均为十进制数,先将各数据转换为补码表示的带符号数,然后用补码的加减运算分别完成下列各小题,并用十六进制数形式回答运算结果。

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

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 )。

DX16、MOV SP,3210HPUSH AX 执行上述指令序列后,SP寄存器的值是( 320EH )。

DX17、BUF DW 10H DUP(3 DUP(2,10H),3,5)上述语句汇编后,为变量BUF分配的存储单元字节数是( 100H )。

DX18、MOV AH,7896HADD AL,AH上述指令执行后,标志位CF和OF的值是( CF=1,OF=0 )。

DX19、完成将带符号数AX的内容除以2的正确指令是( SHR AX,1 )。

DX20、在汇编语言程序中,对END语句的叙述正确的是( C )。

DXA.END语句是一可执行语句 B.END语句表示程序执行到此结束C.END语句表示源程序到此结束 D.END语句在汇编后要产生机器码21、已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在(数据段中偏移量为3236H的字节)中。

DX22、下面指令序列执行后完成的运算,正确的算术表达式应是(y=x2-1)。

DXMOV AL,BYTE PTR XSHL AL,1DEC ALMOV BYTE PTR Y,AL23、已知(AX)=1234H,执行下述三条指令后,(AX)= (0000H)。

DXMOV BX,AXNEG BXADD AX,BXA.1234H B.0EDCCH C.6DCCH D.24、将DX的内容除以2,正确的指令是(C)。

DXA.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,125、有如下指令序列: DXORG 40HDA1 DW 0AB12H,8574H……MOV AX,DA1MOV BX,OFFSET DA1上述指令执行后,寄存器AX和BX的值分别为( AB12H,40H )。

26、下列数值表达式和地址表达式中,错误的是( D )。

DXA.MOV AL,8*14+4 B.MOV SI,OFFSET BUF+13C.MOV CX,NUM2-NUM1 D.MOV CX,NUM2+NUM127、数据段定义如下: DXX1 DB 10H,50,1X2 DW 10H,20,3X3 DD ?COUNT EQU X3-X1变量COUNT的值是( 9 )。

28、为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是( C )。

DXA、INC CX JZ MINUSB、SUB CX,OFFFFH JZ MINUSC、AND CX,OFFFFH JZ MINUSD、XOR CX,OFFFFH JZ MINUS29、AL和VAR字节单元中分别存放一个带符号数,执行CMP AL,VAR时,如AL>VAR,那么溢出位和符号位的关系是( OF=SF )。

DX30、下面是关于汇编语言程序中使用RET的描述,不正确的是( C )。

DXA.每一个子程序中允许有多条RET指令。

B.每一个子程序结束之前一定要有一条RET指令。

C.每一个子程序中只允许有一条RET指令。

D.以过程形式表示的代码段,一定有RET指令存在。

31、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是( CX=0或ZF=0 )。

DX32、用MOV指令将十进制64以组合型BCD码格式送入AX,正确使用的指令是( MOV AX,0604H )。

DX33、重复前缀指令REP的重复次数由 CX 决定。

TK34、DR1 DB 10H,30HDR2 DW 10H DUP(0,2 DUP(2))……MOV BL,LENGTH DR1MOV CL,LENGTH DR2 请问指令执行后,BL和CL的值分别为 1 和 10H 。

TK35、设(SP)=100H,(AX)=0FFFFHSTCPUSH AXADC AX,0PUSH AXPOP BX 上述程序段运行后,(BX)= 0 ,(SP)=0FEH 。

CXFX36、假设数据段定义如下:DA1 DW ’C’,’D’DA2 DB 18 DUP(?)DA3 DW $-DA2……MOV BX,DA3MOV AX,DA1上述指令执行后,BX寄存器中的内容是12H(或18),AH寄存器中的内容是 00H,AL寄存器中的内容是43H 。

CXFX37、现有如下数据段DATA SEGMENTARRAY1 DB 1,26,‘3456’ARRAY2 DW 7,89H,10VAL EQU ARRAY2-ARRAY1DATA ENDS请问:该数据段已占有 12(或0CH) 字节的存储空间。

CXFX38、当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是(④)。

DX①表示结果中含1的个数为偶数②表示结果中含1的个数为奇数③表示该数为偶数④表示结果中低八位含1的个数为偶数39、AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是( C ) DXA.指令XOR AX,AX执行后,AX内容不变,但设置了标志位B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0C.指令AND AX,OFH执行后,分离出AL低四位D.NOT AX,执行后,将AX清040、完成对CL寄存器的内容乘以4的正确操作是( C ) DXA.ROL CL,1 B.MUL 4ROL CL,1C.SHL CL,1 D.MOV CL,2SHL CL,1 SHL CL,CL41、下面各传送指令中,正确的是( C ) DXA.MOV [DI],[SI] B.MOV[DX+DI],AL C.MOV WORD PTR [BX],0100H D.MOV AL,BX42、要实现使BETA的值为56,应采用语句为(BETA EQU 56 ) DX43、REPZ CMPSW指令,重复执行的终止条件是(CX=0或ZF=0 ) DX44、下面程序段执行后,AL中的内容是(21H ) DXMOV AX,8833HADD AL,AHDAA45、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是(①)。

DX① MOV AL,00H ② AND AL,00H ③ XOR AL,AL ④ SUB AL,AL46、下列指令执行后总是使CF=0,OF=0的是( AND)。

DX47、完成同指令XCHG AX,BX相同功能的指令或指令序列是(④)。

DX① MOV AX,BX ② MOV BX,AX③ PUSH AXPOP BX④ MOV CX,AXMOV AX,BXMOV BX,CX48、设AH=0,AL=06H,BL=09H,执行指令ADD AL,BL AAA之后,其结果应是(AH=01,AL=05 )。

DX49、设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为(OF=1,CF=1 )。

DX50、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是(CX=0或ZF=0 )。

DX51、下面指令中,合理而有意义的指令是(④)。

DX① REP LODSB ② REP SCASB ③ REP CMPSB ④ REP MOVSB52、在下列串操作指令中,同时使用源串和目的串地址指针的指令是( D )DXA.STOSW B.LODSW C.SCASW D.CMPSW53、AL=0AH,下列指令执行后能使AL=05H的是( C ) DXA.NOT AL B.AND AL,0FH C.XOR AL,0FH D.OR AL,0FH54、DA1 DW‘AB’,‘CD’,‘EF’,‘GH’┇MOV AX,DA1+3指令执行后AX中的内容是(‘FC’)。

DX55、在汇编语言程序中,对END语句的叙述正确的是(③)。

DX① END语句是一可执行语句② END语句表示程序执行到此结束③ END语句表示源程序到此结束④ END语句在汇编后要产生机器码56、下面的数据传送指令中,错误的操作是(④)。

DX①MOV SS:[BX+DI],1000H ②MOV DX,1000H ③MOV WORD PTR[BX],1000H ④ MOV DS,2000H57、下面指令执行后,变量DAB中的内容是(0F5H )。

DXDAW DW2A05HDAB DB 0FAH:MOV AL,BYTE PRT DAWSUB DAB,AL58、执行下列指令后,正确的结果是(②)。

DXMOV AL,100MOV BL,-2① AL=100HBL=02H② AL=64HBL=0FEH③ AL=64HBL=82H④ AL=100HBL=0FEH59、设数据段中已有:DA1 DB 12H,34HDA2 DW 56H,78H下面有语法错误的语句是(②)。

相关文档
最新文档