汇编语言与接口技术复习要点总结及一些习题_第1页
汇编语言与接口技术复习要点总结及一些习题_第2页
汇编语言与接口技术复习要点总结及一些习题_第3页
汇编语言与接口技术复习要点总结及一些习题_第4页
汇编语言与接口技术复习要点总结及一些习题_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学习必备欢迎下载要点总结第二章微型计算机结构1 . 8086的段式存储结构段地址+偏移量地址=存储单元的物理地址或者,段寄存器的值*16+偏移地址=存储单元的物理地址2 .段寄存器,通用寄存器,指针与变址寄存器,标志寄存器3 .寻址方式(1)寻址方式的概念(2)寻址方式的分类(3)各寻址方式中对于寄存器的限制(4)各类寻址方式的格式第三章 汇编语言(参照课件)1 .汇编语句格式:标号 操作符 操作数 ;注释2 .标号的概念以及其三个属性3 .伪指令:(1)符号定义伪指令:EQU(2)数据定义伪指令:DB, DW(3)段定义伪指令:SEGMENT、ENDS、ASSUME4、运算符(1)分析算符:

2、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 .分支

3、程序编写循环结构程序设计1 .循环控制指令LOOP、LOOPE/Z、LOOPNE/NZ以及他们的控制条件(对CF、ZF的判断)2 .循环程序编写子程序设计1 .子程序定义伪指令、调用指令、返回指令2 .子程序设计中对于堆栈操作的要求第五章输入与输出中断1 .中断向量表、中断向量的概念2 .中断向量的修改3 .中断的类型:软件中断、可屏蔽硬件中断、非屏蔽硬件中断;以学习必备欢迎下载及CPU队可屏蔽硬件中断和非屏蔽硬件中断的不同的响应条件4 . 8259的基本结构和工作原理5 . 8259的操作命令字:包括各个命令字的作用、格式、具体的操作6 .软件中断与硬件中断的异同点第六章8254程序设计1.

4、 8254的基本结构和工作原理2. 8254的命令字格式,以及对于8254各个计数器工作方式的设定8255程序设计1. 8255的基本结构和工作原理2. 8255的命令字格式,以及对于 8255各端口的操作16550异步串行通信中,波特率的概念,数据帧的概念第七章简单外设LED的显示原理键盘的结构及扫描原理学习必备欢迎下载习题一选择题1、8086CPU中程序计数器IP中存放的是 。A、指令B、指令在现行代码段中的偏移地址C操作数D、操作数在现行代码段中的偏移地址2、Intel8086CPU内部的两大功能部件是 。A 标志寄存器及 ALU B BIU及EUC指令队列及 AIUD、地址加法器及 A

5、LU3、8086CPU有20根地址线,直接寻址内存的空间为 。A 64MBB 1MBC 4MBD 8MB4、Intel8086 堆栈是按 原则构造的。A先进先出B、后进后出C先进后出D、随机存取5、微型计算机主存储器的基本编址单元的长度是 。A 64 位B、32 位C 16位D、8位6、为使CPU识别不同的内存单元,需要为每个内存单元规定不同的 A符号BC数据D、状态7、指令指针IP与 组合使用,确定下一条指令存放单元的物理地址。A CSB、ESC SSD、DS8、堆栈指针SP与 组合使用,确定栈顶单元的物理地址。A CSB、ESC SSD、DS9、8086对内存进行分段管理,一个段的最大范围

6、是 。A 64KBB 128KBC 512MBD、1MB10、8086CPU用于存放当前数据段段基址的寄存器是 。A CSB、ESC SSD、DS11、为数据段基址寄存器A ASSUME DS:DATADS赋值得汇编语句正确的是B、SEGMENT DATAC MOV DS,DATAD MOV AX,DATAMOV DS,AX12、下列描述正确的是 BA、汇编语言只由指令语句构成B汇编语言语句包括指令语句和伪指令语句C 指令性语句和伪指令语句的格式是完全相同的学习必备欢迎下载D指令性语句和伪指令语句都能经过汇编程序翻译成机器代码13、8086/8088系统中,一个栈可使用的最大空间是 A 1MB

7、B、由SP初值决定C 64KBD 由SS初值决定14、若(AL) =10101101B,为了使其内容变为 01011101B,下列哪一种执行一次即可完成此操作? xor al,11110000bA NOT指令B AND旨令C XOR旨令DX OR旨令15、设(SS) =2000H, (SP) =0100H, (AX) =2107H,执行指令 PUSH AX后,存放数据 21H的物理地址为 。A 20102HB、200FEHC 20101HD、200FFH16、令 DF=1的指令是。A STDB、CLDC CLCD、STC17、将累加器 AX的内容清零,错误的指令为 。A AND AX,0B X

8、OR AX,AXC SUB AX,AXD、CMP AX,AX18、指令 MOVS中源串的逻辑地址为 。A DS:SIB、DS:DIC DS:DID、ES:DI19、有指令 MOV AX, 1234H,指令中的立即数 1234H是存储在 。A.数据段 B.代码段 C. 附加段 D. 堆栈段20、交换寄存器 SI , DI的内容,正确的程序段是 。A PUSH SIB、PUSH SIPUSH DIPUSH DIPOP SIPOP DIPOP DIPOP SIC MOV AX,SID> MOV AX,SIMOV DI,SIMOV BX,DIMOV SI,DIXCHG BX,AX21、假设ES段

9、中有一个字符串12FG3LM5C,其名为ARRAY下面程序段CLDLEA DI,ES:ARRAYMOV AL,' GMOV CX,9REPNE SCASB执行后,CX的值为。A 9B、5C 4D、022、下列串操作指令中,在 指令前加重复前缀指令 RE幅没有实际使用价值的。A MOVSBB、STOSBC CMPSBD、LODSB学习必备欢迎下载23、执行下面的程序段后,AL中的内容为BUF DW 2152H , 3416H, 5731H, 4684HMOV BX , OFFSET BUFMOV AL , 3XLATA 46HB、34HC 16HD、57H24、在汇编语言程序中,对ENM

10、句的叙述正确的是()。A ENM句是一可执行语句B ENM句表示程序执行到此结束C ENM句表示源程序到此结束D ENM句在汇编后要产生机器码25、下面的数据传送指令中,错误的操作是()。A MOV SS:BX+DI,AXB MOV DX,1000HC MOV WORD PTRBX,1000HD MOV DS,2000H26、伪指令VAR DD ?将在内存预留 字节的存储空间。A 1B、2C 4D、627、设X1和X2是用DB定义的变量,下列指令中正确的是 A MOV X1,20HB MOV AX,X1C MOV X1,X2D、MOV 20H,X228、执行下面的程序段后,AX中的内容为 。N

11、UM DW ? ,23NAME DW 10 DUP (?)NEQU 6LENEQU $-NUMMOV AX,LENA 18HB、1CHC 15HD、16H29、已知 VAR DW 1,2,$+2,5,6,若汇编时 VAR分配的偏移地址是0010H,汇编后0014H单元的内容是A 16HB、05HC 14HD、06H填空题学习必备欢迎下载1、若运算结果为 0,则标志寄存器中零标志位ZF=J。2、写出下列存储器地址的段地址,偏移地址和物理地址。(1) 2314:0035段地址为 ,偏移地址为 ,物理地址为 。3、设VAL是在数据段中定义的变量,试指出下列源操作数字段的寻址方式。(1) MOV AX

12、, 03FH (2) MOV AX,BX (3) MOV AX,BX (4) MOV AX,DS:100H MOV AX,ES:BX (6) MOV AX,BX+10 (7) MOV AX,VALBX (8) MOV AX,VALBXSI 4、DIV SRC执行字节除法时,运算后的商存放在AL中,余数存放在AH 中。5、执行下列执行后,AX寄存器的值为1E00H。TABLE DW 10,20,30,40,50ENTRY DW 3MOV BX,OFFSET TABLEADD BX,ENTRYMOV AX,BX6、执行下列指令序列后,BL寄存器的值为 。MOV CL,3MOV BL,0B3HROL

13、 BL,1RCR BL,CL7、设(BX) =0C6H变量VAL中存放的内容为 59H,确定下列各条指令单独执行后,BX寄存器的值。(1) XOR BX,VAL;(BX =(2) AND BX,VAL;(BX)=(3) OR BX,VAL;(BX =8、判断下列指令是否合法。(1) MOV SI,DI不合法不允许同为存储器数据(2) RCR DX,3不合法移位次数超过1,放到CL(3) PUSH AL不合法16位(4) MOV CS,AX 不合法,不允许对 CS赋值 INC BX不曰法,类型小匹配INC byte ptrbx(6) MOV AX,DX _不合法,dx不允许作为间接寻址寄存器 M

14、OV AL,1000 _不合法,1000超出8位数据表示的范围9、汇编语言源程序中表示结束的伪指令是END10、判断下列指令和伪指令的使用是否正确。(1) K1 DW 3412HK2 DB K1 不正确 K1类型应该为 DW(2) K1 EQU 1234H学习必备欢迎下载MOV K1,AX不正确,K1不分配内存单元(3) N EQU 2N EQU N+1 不正确EQU不允许对同一标号重复赋值11.已知数据段定义如下:DATA SEGMENTORG 100HBUF DW 'CD', 1,3 DUP(4, 2 DUP(8, 6)VRA DB 4AHDATA ENDS单独执行下列语句

15、LEA BX, BUF BX=_0100HMOV CX, VRA-BUF CX=_ 0022H (用十六进制数表示)。三、简述题1、8086系统中,设有一个包含8个字的数据区,数据区的起始地址为2100H: 2A10H,写出该数据区首末字单元的物理地址。23A10H23A1EH2、从内存地址34120H,依次存放3个数,它们分别是字数据27H,字节数据0F1H和字数据9145H。请用图表示出这些数在内存的存放情况。34120h27H34121h00H34122h0F1H34123h45H34124h91H3、将AL与BX中的两个无符号数相加,结果放入AXoXOR AH,AHADD AX,BX4

16、、将AL与BX中的两个带符号数相加,结果放入AXoCBWADD AX,BX5、将AL的高4位与低4位分别放入 BH与BL的低4位,且将BH与BL的高4位清0。MOV CH,ALMOV CL,4SHR CH,CLMOV BH,CHAND AL,0FHMOV BL,AL6、用一条逻辑指令将 AX寄存器清0。XOR AX,AX7、用一条逻辑指令将 DX寄存器的高3位为1 ,其余位不变。OR DX,0E000H8、试编写指令序列,将 DX AX中的32位无符号数乘以2,结果仍存放在 DX AX中。SHL AX,1学习必备欢迎下载RCL DX,19、定义一个数据段DATASG并且在该数据段中定义一个有5

17、个字节的字节数组 ARRB其值分另1J为 34H,12H,45H,26H,25H 。DATASG segmentARRB db 34H,12H,45H,26H,25HDATASG ends10、伪指令与指令的本质区别是什么?伪指令是不能够编译成二进制代码,不能够执行,帮助编译器正确识别指令,编译成二进制代码。指令语句能够编译成二进制代码,可以执行。11、编写数据段定义,在段中依次定义以下变量:V1为字节变量,初值是 90H;V2为字数组,初值依次为 2341H, 9813H, 0A213H;V3为字节型数组,初值为字符串Assembly Language 'V4为字节数组,有5个字节,

18、未定义初值。Data segmentV1 db 90hV2 dw 2341H , 9813H, 0A213HV3 db ' Assembly Language 'V4 db 5 dup (?)Data ends12、设数据段定义如下:DATA SG SEGMENTV1 DB 3 DUP (0)V2 DW 4 DUP (0)DATASG ENDS(1) 编写指令序列,将 1634H存入字节数组 V1的第0个字节和第1个字节(可以修改数据段)Mov bx , offset V1Mov word ptrbx,1634H(2) 编写指令序列,将 2AH存入字数组 V2的第0个字节和第2

19、个字节(可以修改数据段)。Mov si,offset V2Mov byte ptrsi,2AHMov byte ptrsi+2,2 AH学习必备欢迎下载习题二一、选择题:1 . 下 列 叙 述 正 确 的 是 ()(A)对两个无符号数进行比较采用CMP旨令,对两个有符号数比较用CMPS旨令(B)对两个无符号数进行比较采用CMPS旨令,对两个有符号数比较用CMP旨令(C)对无符号数条彳转移采用 JGE/JNL指令,对有符号数条件转移用JAE/JNB指令(D)对无符号数条彳转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令2 .已知 BX=2000H, SI=1234H,则指令 M

20、OV AX, BX+SI+2的源操作数在 中。()(A)数据段中偏移量为 3236H的字节(B)附加段中偏移量为 3234H的字节(C)数据段中偏移量为 3234H的字节(D)附加段中偏移量为 3236H的字节4 . 在下列指令的表示中,不正确的是 。()(A) MOV AL , BX+SI (B) JMP SHORT DONI(C) DEC BX (D) MUL CL5 .为了使执行串操作指令时,地址按减量方式处理应使用指令(A)CLI (B)STI (C)CLD(D) STD6 . 8086 CPU在基址加变址的寻址方式中,变址寄存器可以为()8.(A) BX 或 CX (B) CX伪指令

21、 VAR DD(A) 1(B) 2或SI(C) 2(C) DX在内存预下面指令序列执行后完成的运算,或SI(D) 4(D) SI 或 DI字节的存储空间。正确的算术表达式应是MOV AL BYTE PTR XSHL AL, 1DEC ALMOV BYTE PTR Y AL(A) y=x*2+1(B) x=y*2+1(C) x=y*2-1(D) y=x*2-110 .执行下面的程序段后,AL中的内容为()BUF DW 2152H , 3416H, 5731H, 4684HMOV BX , OFFSET BUF学习必备欢迎下载MOV AL , 2XLAT(A) 46H(B) 34H(C) 16H(

22、D) 57H11.汇编语言源程序每个语句可以由四项组成,如语句要完成一定功能,那么该语句中不可操作项(B)名字项(C)操作数项(D)注释项下歹U指 令执行 时出错 的略的项是)(A)是12(A) ADD BUF1, BUF2(B) JMP DWORD PTR DATBX(C) MOV AX , 10HBX (D) TEST AL13 . 已知 (AX ) =3456H , 执行下述三条指令后,(AX )MOVBX AXNEG BXADD AX, BX(A) 3456H(B) 0EDCCH (C) 6DCCH14 . 将 DX 的内容乘以 2(D) 0000H正确的指令是()(A) MUL 2(

23、B) MUL DX , 2 (C) SAR DX , 1二填空题:(D) SHL DX, 11、DIV SRC执行字节除法时,运算后的商存放在中,余数存放在 中。2、设(BX) =0D6H变量VAL中存放的内容为 77H,确定下列各条指令单独执行后,BX寄存器的值。(1) OR BX,VAL; ( BX) =(2) AND BX,VAL; ( BX) =3、存放指令有效地址的寄存器是 ,该寄存器与 段寄存器联合使用确定指令的物理地址;存放栈顶有效地址的寄存器是 ,该寄 存器与 段寄存器联合使用确定栈顶的物理地址4、在REPNZ SCASB旨令中,重复执行串搜索指令的条件是 5、指出下列指令中源

24、操作数的寻址方式(9) MOV BX 1000H MOV AX BX+SI + 100H 6、汇编语言源程序中表示结束的伪指令是 。7、在汇编语言中,通常用来存放循环次数的寄存器是 学习必备欢迎下载二、简述题:1、伪指令与指令的本质区别是什么?2、编写汇编程序应经历哪些步骤?3、指出能用于寄存器间接寻址及变址寻址的寄存器有哪些?它们通常与哪个段寄存器配合形成物理地址? BX SI DI-DSBPSS4、主程序与子程序的关系是什么?在程序中如何使用子程序?5、简述汇编语言相对高级语言的优点。四、程序分析题:A DW 3456HB DW 1234H .PUSH APUSH BPOP APOP B试

25、回答:(1)上述程序段执行后( A) = , (B) =(2)设执行前 SP= 1000H,执行后SP=。2.分析下面程序段,MOV AL, 100SAR AL, 1MOV BL, ALMOV CL 2SAR AL, CLADD AL, BL试问程序段执行后( BL) = (AL) =。学习必备欢迎下载3、已知 AX=0FF60H CF=1MOV DX 16HXOR DH 0FFHSBB AX, DX执行上述指令序列后,AX=, CF=4、执行下列程序段后,回答问题。ORG 100HNUM DW 12H MOV BX , OFFSET NUMMOV CL BYTE PTR NUM+1 MOV

26、CH TYPE NUMMOV AX NUM请问:(AX) = 0012H , (BX) = _0100H , (CX) =_0200Ho5、DATA SEGMENTS9 DB 0 , 1, 2, 3, 4, 5, 6, 7, 8, 9DATA ENDS LEA SI , S9LEA DI , S9+1MOV CX 5LOP MOV AL SIXCHG AL DIMOV SI , ALADD SI, 2ADD DI, 2学习必备欢迎下载LOOP LOP试说明该程序段的功能,并指出上述程序段运行后,S9开始的10个字节存储单元内容是什么?1, 0, 3, 2, 5, 4, 7, 6, 9, 86、

27、已知一段程序如下:DATA SEGMENTA1 DW 10,20A2 EQU 100A3 DB '1234'ORG 2A4 DW 1234HDATA ENDS画出该程序段的内存分配示意图(标明地址),并说明该数据段的,起始偏移地址和最终偏移地址。五、程序设计题:1、比较两个无符号数的大小,若A>B,则显示出A>B',否则显示B>A'。2、在数据区中存放着一组数:28, 18, 38, 48, 78, 58,数的类型为字节,要求用冒泡法对该数据区中的数据按递减关系排序。3、编程求1 + 2+3+-100。将结果存放在 RESUL仲元中。4、已知在

28、数据区 BUF1和BUF2分别存放'Hello , everybody''Hello , everyone '字节数据。编程检查两数据区中的数据是否相同。若完全一致,则将标志单元FLAG置FFH,否则置0,并将第一次出现的不同数据的地址分别存放在ADDR侏口 ADDR印元中。学习必备欢迎下载一、中断部分习题(3) 用3片8259A级联,最多可管理的中断数是 ()A.24 级 B.22 级C.23 级 D.21 级(4)从CPU的NMI引脚产生的中断叫做 非屏蔽中断,他的响应不受 _尸_的影响。(6)中断类型码为15H的中断,其服务程序的入口地址一定存放在_000

29、54H00057H四个连续的单元中,若这四个单元的的内容为:66H、50H、88H、30H ,则其服务程序的入口地址为 _3088H : 5066H。(7)设主片8259A的IR3上接有一从片,IR5上引入了一个中断申请。那么初始化时,主、从片的ICW3分别是_主:08H;从:03H。(9)中断类型码为9H的中断向量一定存放在 个连续单元中,若其入口地址 为3040H:2010H ,则这四个单元中的具体内容依次为 。(10)在一个8086CPU和单片8259A组成的系统中,试说明:1、8086CPU在响应可屏蔽中断的条件是什么?书上有。2、假如8259A已被编程,ICW2=0AH ,若连接在

30、8259A的IR3端的外设提出中断申 请,它的中断向量的存放地址是什么?0002cH0002FH3、软件中断和硬件中断的区别?书上有。(12)某一中断程序入口地址值填写在中断向量表的0080H 0083H存储单元中,则该中断对应的中断类型号一定是()A.1FH B.20HC.21HD.22H(14)已知中断类型号为18H ,则其中断服务程序的入口地址存放在中断向量表的 中。()A .0000H00072H-0000H:0075HB .0000H00072H-0000H:0073HC .0000H:00060H-0000H:0063HD .0000H:00060H-0000H:0061H二、定时器/计数器部分(1)试按如下要求分别编写82C54的初始化程序:己知 82C54的计数器0、1、2和控制字 I/O 地址依次为 104H、105H、106H、107H。1、使计数器1工作在方式0,仅用低8位作二进制计数,计数初值为128;Mov dx,107HMov al,01010000bOu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论