当前位置:文档之家› 《汇编语言》模拟试卷

《汇编语言》模拟试卷

《汇编语言》模拟试卷
《汇编语言》模拟试卷

2015-2016-1_14级《汇编语言》模拟试卷

一、基础知识题(每题8,共40分)

1.若DS=2030H,SS=1A00H,SP=6742H,SI=0020H, BX=0400H,内存单元DS:440H=01H,DS:441H=02H,DS:442H=04H,DS:443H=03H,寄存器AX的内容为7788H。

(1)给出DS所指数据段的起始物理地址和结束物理地址。

(2)执行指令MOV AL, [BX+SI+20]后,AX的内容是什么?访问的内存物理地址是什么?

(3)执行POP CX后,CX的内容是什么?SP的内容是什么?

2.判断下列指令是否正确,若不正确请说明原因。

(1)ADC [SI+DI],AX

(2)AND [AX],DL

(3)MOV CS,0123H

(4)PUSH 5566H

3.某程序数据段DATA如下:

DATA SEGMENT

DBUF DB ‘MOUSE_MEM!’

DBUFA DW 1020H

DB ‘TERMINER’

DB 300

DATA ENDS

试求:

(1)数据段中DBUF+12单元的存储内容。

(2)DBUFA相对于数据段地址(DS)的偏移地址。

(3)一处数据定义错误的伪指令。

4.写出能完成下列操作的指令序列。

(1)将AX的D5~D9位清零,其他位不变。

(2)将CL的D2、D4、D6位置1,其他位不变。

(3)用两种方法将AL、BL的内容互换。

(4)将DL的高4位和低4位互换。

5.写出下面每条指令执行后,ZF、PF、SF、CF、OF等标志位的值。

sub cl,cl

mov bl,10H

add bl,90H

mov bl,80H

add bl,80H

mov bl,05H

sub bl,0faH

二、程序分析题(每题8分,共24分)

1. 一内存的逻辑地址为5000H:100H,存储的内容如下:

00H,11H,22H,33H,44H,55H,66H,77H,88H,99H,0AAH

分析下列程序段执行后,寄存器(AX)= ,(BX)= ,(CX)= ,(DI)= 。

MOV AX,5000H

MOV DS,AX

MOV BX,100H

MOV SI,2

MOV AX,[BX+SI]

INC SI

MOV CX,[BX+SI]

INC SI

MOV DI,SI

ADD CX,[BX+DI]

2.分析下列程序段,回答问题。

ASSUME CS:CODE,DS,DATA

DATA SEGMENT

DB 1,3,5,‘B’,‘H’,‘W’,‘A’,‘T’,7,‘*’,0,‘#’,‘$’,‘-’DATA ENDS

CODE SEGMENT

START: MOV AX,DATA

MOV DS,AX

MOV BX,0

MOV CX,14

MOV AL,‘W’

S0: CMP AL, [BX]

JZ S1

INC BX

LOOP S0

S1: MOV DI,BX

MOV AX,4C00H

INT 21H

CODE ENDS

END START

(1)程序完成何功能?

(2)程序运行后,(CX)=,(DI)=。

3.下列程序段执行后,寄存器(AX)=,(SP)= ,(DX)=,(CX)= 。

代码段逻辑地址存储的指令

6010H:3000H MOV AL,0

3002H MOV AX,CS

3004H MOV SS,AX

3006H MOV SP,30H

3009H MOV DX,5050H

300CH PUSH DX

300DH CALL,3700H

3010H ADD CX,DX

3012H HLT

6010H:3700H POP CX

RET

三、完善、改错程序题(每题10分,共20分。一个空只能填一条指令)

1.下面的程序实现将CODE段中MEMA处的10个数据累加,结果存储到RESUB处的双字中。完善程序。

ASSUME CS:CODE

CODE SEGMENT

AA DW 00H,11H,22H,33H,44H,55H,66H,77H,88H,99H

BB DD 00H

START: MOV SI,0

MOV CX,10

SS: MOV AX,

ADD ,AX

ADC ,0

ADD SI,

LOOP SS

MOV AX,4C00H

INT 21H

CODE ENDS

END START

2.下列程序将DATASEG段中每个单词改为小写字母。找出程序中的错误,改正实现程序功能。

ASSUME CS:CODESEG,DS:DATASEG

DATASEG SEGMENT

DB 'FOX'

DB 'PRO'

DB 'VAX'

DB 'SET'

DATASEG ENDS

CODESEG SEGMENT

START: MOV AX, DATASEG

MOV DS, AX

MOV BX,0

MOV CX,4

S0: MOV SI,0

MOV CX,3

S1: MOV AL,[BX+SI]

AND AL,11011111b

MOV [BX+SI],AL

INC SI

LOOP S1

INC BX

LOOP S0

MOV AX,4C00H

INT 21H

CODESEG ENDS

END START

四、应用设计题(1题,共16分)

编程,在屏幕中间显示英文字母A~Z,要求用5ch中断例程完成loop指令的功能。

汇编语言基础练习题目

、填空 1. 在8086/8088的计算机中,存储单元的20位物理地址由两部分组成,即16 位的 段地址 和16位的 偏移地址,物理地址=段地址X 10H+偏移量。 2. 段的起始地址必须是某小段的首地址,它能被 10H 整除。 3. 已知01020H 字单元的内容为6A58H 请分别写出它的两个字节单元的地址和 内容: (01020H =58H, ( 01021H =6AH 4. 指令执行后,若标志寄存器的ZF=0,则表示结果不为0;若SF=0,则表示结 果的符号是正号,即结果为正数。 5. 控制器从存储器取出一条指令后,指令指针寄存器IP 的内容是 将要执行的下 一条指令开始的偏移地址。 6. 段地址和偏移地址为1000: 127B 的存储单元的物理地址是1127BH 解:由物理地址=段地址X 10H+偏移量的公式可得 物理地址=1000HX 10H+127BH=10000H+127BH=1127BH 、选择 1. 与CS 寄存器组合才能形成代码段的物理地址的寄存器是 解:16K 个字单元,即为32K 个字节单元。由于2的15次方为32K,因此至 少需要15位二进制数才能表示16K 个字单元。 3. 已知一数据段的段地址是0100H,这个段的第6个字单元的物理地址是(B ) o 解:由于一个字单元占用两个字节,第一个字单元的偏移地址为 0000H,因 此第一个字单元的物理地址为 01000H 。以后每一个字单元的地址在前一个的基 C )。 A. SP 寄存器 B. BP 寄存器 C. IP 寄存器 D. BX 寄存器 2.如果存储器分段时, 的二进制数至少是( 一个段最多允许16K 个字单元,那么表示该段内偏移地址 A )o A.15 位 位 B.16 位 C.17 位 D.18 A. 01010H B. 0100AH C.01012H D.01006H

汇编语言程序设计练习题

汇编语言程序设计练习题 一、字符与串处理类 1.逆序输出字符串“BASED ADDRESSING”。 2.试编写一段程序,要求对键盘输入的小写字母用大写字母显示出来。 3.编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。 4.从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示计数结果。 5.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。)放在STRING中,试编制一个程序测试字符串中是否存在数字。如有,则把CL的第5位置1,否则将该位置置0。 6.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。),将其中的小写英文字母变换为大写英文字母,其他字符保持不变。然后将变换后的字符串显示出来。 7.试编制一个程序:从键盘输入一行字符,要求第一个键入的字符必须是空格符,如不是,则退出程序;如是,则开始接收键入的字符并顺序存放在首地址为buffer的缓冲区中(空格符不存入),直到接收到第二个空格符时退出程序。 8.试编写一段程序,要求比较两个字符串string1和string2所含字符是否相等,如相等则显示“MATCH”, 若不相同则显示“NO MATCH”。 9.试编写一段程序,要求输入两个字符串,如两个字符串相等则显示“MATCH”, 否则显示“NO MATCH”。 10.试编写一段程序,要求在长度为100H字节的数组中,找出大于61H的无符号数的个数并存入字节单元UP中,找出小于2FH的无符号数的个数并存入字节单元DOWN中。 11.在内存区域0B800:0000-0B800:0FFFF(都是16进制数)内查找首地址为SOURCE的串(SOURCE的首字节为串长度),如果找到,则把AL的第0位置0,否则将该位置置1。 12.已知数组A包含15个互不相等的整数,数组B包含20个互不相等的整数。试编制一个程序,把既在A中又在B中出现的整数存放于数组C中。 13.在附加段中,有一个首地址为LIST和未经排序的字数组。在数组的第一个字中,存放着该数组的长度,数组的首地址已存放在DI寄存器中,AX寄存器中存放着一个数。要求编制一个程序:在数组中查找该数,如果找到此数,则把它从数组中删除。 二、数字输入输出类 1. 试编制一个程序,把BX寄存器内的二进制数以十六进制数的形式在屏幕上显示出来。 2. 试编制一个程序,把BX寄存器内的二进制数以八进制数的形式在屏幕上显示出来。 3. 试编制一个程序,把BX寄存器内的二进制数以十进制数的形式在屏幕上显示出来。 4.从键盘上输入2个一位数,求出它们的和(假设和不超过1位)。 5.试编写一段程序,从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数。 6.试编写一段程序,从键盘接收一个0-65535间的十进制无符号数,并在终端上显示与它等值的二进制数。 7.试编写一段程序,从键盘接收一个-32768-32767间的十进制有符号数,并在终端上显示与它等值的二进制数。 8.编写一个程序,从键盘输入一个0~65535之间的10进制无符号数,然后以16进制

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

汇编语言复习题(带答案) 汇编语言期末复习题 第1章:基础知识 1、在汇编语言程序的开发过程中使用宏功能的顺序是(C)。DX A、宏定义,宏调用 B、宏定义,宏展开 C、宏定义,宏调用,宏展开 D、宏定义,宏展开,宏调用 2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句 中不可省略的项是(B)。DX A、名字项 B、操作项 C、操作数项 D、注释项 3、可屏蔽中断就是它的请求是否被CPU响应要受(IF)的控制。DX 4、使用LINK连接命令,执行后可生成文件的扩展名为(EXE)。DX 5、在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在段中,段地址 在SS寄存器中。TK 6、注释项用于说明程序段或是一条和几条指令的功能,一般用;(或分号)表示注释 的开始。TK 7、DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送AH寄存器后执行INT21H。TK 8、通常主程序和子程序间参数传送的方法有三种:用寄存器传递、用存储单元传递、用堆栈传递(顺序可调换)。TK 9、CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。在此,称引起紧急事务的事件为中断源。TK 10、在字符串操作指令中,DS∶SI指向源串,ES∶DI指向目的串。TK 11、计算机系统通过接口与外围设备通信。TK 12、键盘I/O、显示I/O和打印I/O分别对应、和号中断。TK 13、字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。每个字的第一个字节 为显示字符的ASCII码,第二个字节为显示字符的属性。TK 14、简述上机运行汇编语言程序的过程。JD

汇编语言程序设计教学大纲

《汇编语言程序设计》课程教学大纲 二、课程简介 汇编语言是计算机能够提供给用户使用的最快最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而,对程序的空间和时间要求很高的场合及需要直接控制硬件的应用场合,汇编语言的应用是必不可少三、课程目标 汇编语言课程是计算机专业的一门专业选修课。通过本课程的学习,应使学 生系统地了解计算机组成原理与内部的运行机理,掌握汇编语言程序设计及相关 知识,为学习本专业后继课程和进行与硬件有关的技术工作打下良好基础。通过 上机实验,使学生受到软硬件实验的初步训练,并培养学生分析问题和解决问题 的能力。 四、教学内容及要求 第一章基础知识 1.教学内容 (1) 为什么要用汇编语言编写程序 (2) 进位计数制与不同基数的数之间的转换 (3) 二进制数和十六进制数运算 (4) 计算机中数和字符的表示 (5) 几种基本的逻辑运算 2.基本要求 了解机器指令、代码指令、机器语言、汇编指令、汇编语言、汇编语言源程 序、汇编程序、汇编等概念;掌握进位计数制与不同基数的数之间的转换及

运算;计算机中数和字符的表示;“与”、“或”、“非”、“异或”等几种基本的逻辑运算; 第二章80X86计算机组织 1.教学内容 计算机系统概述、存储器、中央处理机和外部设备。 2.基本要求 理解计算机的硬件和软件系统及其关系。掌握计算机的基本结构及总线;存储器的内容、地址及存储器的分段;中央处理机的组成、80X86系列CPU工作寄存器构成和功能,特别是段寄存器和标志寄存器;外设接口、端口和8086/8088的端口地址范围和访问方法。 第三章80X86的指令系统 1.教学内容(重点内容) IBM PC机的寻址方式、IBM PC机的指令系统。 2.基本要求 熟练掌握IBM PC机寻址方式及物理地址的计算;数据传送、算术、逻辑、串处理、控制转移和处理机控制指令六组中的所有指令的格式、操作、及影响的标志位。了解机器语言的指令组成; 第四章汇编语言程序格式 1.教学内容 汇编程序功能、伪操作、汇编语言程序格式、汇编语言程序的上机过程。 2.基本要求 掌握DEBUG程序和命令及能用DEBUG 程序调试和运行简单小程序;汇编语言上机步骤、汇编程序的功能;数据定义及存储器分配、表达式赋值“EQU”和“=”、段定义、程序开始和结束、对准、基数控制等六类伪操作;汇编语言程序格式中的名字、操作、操作数和注释等项。 第五章循环与分支程序设计 1.教学内容 程序设计的一般步骤和基本结构、循环程序设计和分支程序设计 2.基本要求 掌握汇编语言程序的编制步骤和结构化程序设计的三种基本结构;循环的设计方法和多层循环的设计;分支程序的设计方法,并能编制相应的程序。第六章子程序结构 1.教学内容 子程序的设计方法、嵌套与递归子程序、子程序举例和DOS系统功能调用

完整word版,汇编语言期末考试试题及

汇编语言模拟试题及答案 一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分) 1.指令JMP FAR PTR DONE属于参考答案为:C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 [解析]略 2.下列叙述正确的是参考答案为:C A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS 指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP 指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用 JAE/JNB指令 [解析]对于无符号数和有符号数的比较都采用CMP指令; CMPS指令是串比较指令; 对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转移指令应是:JGE、JNL、JLE、JNG。

3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是参考答案为:C A.12CSBH B.12B6BH C.12C59H D.12BFEH [解析]末字与首字相隔(128-1=)127个字,且每个字占用2个字节,因此末字单元的物理地址应为: 首字单元的物理地址+(128-1)×2 即12ABH×10H+00ABH+(128-1)×2=12C59H。 4.在下列指令的表示中,不正确的是参考答案为:C A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL [解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C 中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如 DEC BYTE PTR [BX]或DEC WORD PTR [BX] 但是在题目的选项C中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。5.在进行二重循环程序设计时,下列描述正确的是参考答案为:AA.外循环初值应置外循环之外;内循环初值应置内

汇编语言练习题

一、单项选择题(共20题) 1.对于有符号的数来说,下列哪个值最大() A:0F8H B:11010011B C:82 D:123Q 2.下列有关汇编语言中标号的命名规则中,错误的是()A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符 C:?和$不能单独作为标号 D:.号不可位于标号首 3.设A=0.4H,B=0.8H,C=0.4,D=0.4Q,它们之间的关系是( )。 A.C+D=B B.A+D=B C.B=D D.A>C>D 4.下列四个寄存器中,可作为十六位寄存器的是( ) A.DL B.CL C.BP D.EBX 5.8088/8086存储器分段,每个段不超过() A.64K个字 B. 32K个字节 C.1兆个字节 D.64K个字节6.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式() A:寄存器寻址B:相对基址变址寻址 C:变址寻址D:基址变址寻址 7.连接程序把汇编语言源程序生成的目标文件(.OBJ文件)转换成( )。 A..OBJ文件B..EXE文件

C..LST文件D..CRF文件 8.在程序运行过程中,确定下一条指令的物理地址的计算表达式是( )。 A. (CS)×16+(IP) B. (DS)×16+(DI) C. (SS)×16+(SP) D.(ES)×16+(SI) 9.若AX= - 15要得到AX=15应执行的指令是(A ) A.NEG AX B.NOT AX C.INC AX D.DEC AX 10.8086/8088系统执行传送指令MOV时() A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 11.执行下列程序后,(AL)=( )H。 DATA SEGMENT TAB DB ‘0123456789’ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX, DATA MOV DS, AX MOV BX, OFFSET TAB MOV AL, 04 XLAT TAB …

《微机原理与接口技术》教学大纲-48学时

《微机原理与接口技术》课程教学大纲 一、课程说明 二、学时分配表 三、教学目的与要求 1.本课程总体教学目的和要求 通过本课程的学习、上机操作,使学生较熟练地掌握微机的基本结构、基本工作原理,初步掌握汇编语言程序设计及微机接口技术,具有微机应用系统设计开发能力,并为其它后续课程奠定基础。

教学要求是通过课堂教学与演示,课后习题练习等环节,掌握微型计算机的基本组成与工作原理的基础知识,包括理解计算机硬件原理,能够设计或调试基本的微机硬件接口及驱动程序等多方面的技能。 2.各章教学要求和知识考核点 第1章微型计算机概述 目的和要求:主要了解微型计算机系统的构造及微型计算机工作过程。 重点:微型计算机的基本组成 难点:微型计算机工作过程 第2章微处理器 目的和要求:掌握8086/8088 CPU寄存器结构、作用、CPU引脚功能、存储器分段与物理地址形成、最小/最大模式的概念和系统组建、系统总线形成;理解存储器读/写时序;了解微处理器的发展。 重点:Intel x86CPU微处理器的基本结构,寄存器、堆栈,引脚及其功能;最小/最大模 式下系统总线形成;存储器分段与物理地址形成 难点:Intel x86CPU的内部结构、典型时序分析 第3章寻址方式和指令系统 目的和要求:掌握有关寻址的概念;8086的6种基本的寻址方式及有效地址的计算;掌握8086指令系统 重点:掌握寻址方式;掌握常用指令的功能和用法 难点:区别指令的正确与错误。 第4章汇编语言程序设计 目的和要求:了解汇编语言特点、汇编程序功能、汇编语言结构;掌握汇编语言中的表达式、伪指令、宏定义的含义和用法;掌握DOS功能调用基本I/O,返回DOS方法,了解文件管理;理解顺序程序、分支程序、循环程序、含子程序的程序设计的基本方法,能编写、运行、调试简单的汇编语言程序。 教学重点:汇编的概念及其方法, 掌握汇编程序的基本格式,常用运算符的使用方法,汇编的步骤;顺序程序、分支程序、循环程序、含子程序的程序设计的基本方法。 教学难点:伪指令、宏定义的用法;程序设计算法与流程图。 第5章输入输出接口 目的与要求:掌握输入/输出的基本概念;I/O的编址方法、特点;CPU与外设数据传递的方式及接口技术;理解程序控制传送方式、中断传送方式;掌握8086CPU I/O特点。 重点: I/O的编址方法、译码电路及CPU与外设数据传递的方式;掌握8086CPU I/O特点。难点:程序控制、中断、DMA方式特点及其应用场合 第6章存储器系统 目的与要求:了解存储器的作用、分类、结构及性能指标,了解存储器系统的多层结构;掌握静态RAM、动态RAM及EPROM的特点、基本结构、地址形成方法及典型芯片;了解DRAM 刷新;掌握存储器芯片的扩充的常用方法. 重点:存储器的分类、性能指标;读写存储器RAM、只读存储器ROM、存储器扩展及其与CPU的连接 难点:存储器的位/字扩充方式的方法及连接 第7章中断系统 目的与要求:掌握中断基本概念;深刻理解中断类型码、中断矢量和中断向量表的概念,以及如何对中断服务程序寻址;了解8259A的编程结构,理解8259A工作方式、有关命令和初始化编程及其在PC机中应用

汇编语言习题-测验题答案

汇编语言各章习题、测试题答案 习题一 分别将下列二进制数作为无符号数和带符号数转换为十进制和十六进制数 01110111 00101111 十六进制运算 1A52H+4438H 3967H-2D81H 37H×12H 1250H×4H 将十进制数变为8位补码并做运算(结果用二进制、十六进制、十进制表示) 29+53 73-24 -66+82 -102-15 用压缩BCD码计算(结果用二进制、BCD码、十进制表示) 29+53 73-24 66+18 132+75 符号位扩展(字节扩展为字,字扩展为双字) 20A3H 94H 3456H 7FH EC00H 若机器字长为16位,其无符号数表示范围是多少带符号数表示范围是多少分别用十进制和十六进制表示。 写出下列十六进制数所能代表的数值或编码: (1)38H (2)FFH (3)5AH (4)0DH 将下列十进制数分别转换为二进制、十六进制、二进制补码、压缩BCD码和ASCII码: (1)108 (2)46 (3)-15 (4)254 写出下列算式的8位二进制运算结果,标志位CF、SF、ZF、OF分别是什么值 (1)56+63 (2)83-45 (3)-74+29 (4)-12-37 查表,指出ASCII码0DH、0AH、07H、1BH、20H、60H、50H、70H对应的控制字符。 测验一 单选题: 1.已知X=76,则[X]补= 。 A. 76H B. 4CH 2.已知[X]补=80H,则X= 。 A. 80H B. 0 C. 0FFH D. -80H 3.已知[X]补=98H,则[X]补/2= 。 A. 0CCH C. 49H D. 31H 4.已知X=78,Y=-83,则[X+Y]补= 。 A. 0F5H B. 0A1H C. 0FBH D. 65H 5.将124转换成十六进制数的结果是 A. 7CH B. 7DH C. 7EH D. 7BH 6.将93H看成一个压缩BCD码,其结果是 A. B. C. D. 7. 45转换成二进制数是 A. C. 00101101 D. 8.6CH转换成十进制数是 A. 118 B. 108 C. 48 D. 68 9.将93H扩展为字的结果是 A. FF93H B. 0093H C. 1193H D. 1093H

汇编语言复习题

汇编语言复习题 第2章8086CPU寄存器的结构及使用 1.8086CPU由指令执行部件EU和总线接口部件BIU两部分组成。其中EU的功能是控制和执行指令,主要由算术逻辑部件ALU、EU控制部件、8个16位寄存器和一个标志寄存器FLAGS组成。BIU的功能是从存储器预取指令和数据,以及所有EU需要的总线操作,实现CPU与存储器和外设间信息传递。BIU由指令队列、指令指针寄存器、段寄存器、地址加器组成。 2.Intel 8086CPU共有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中存储器的编址原则是按字节编址即每一个字节单元是一个存储器地址,在源程序中用常用十六进制数或符号来表示一个存储单元的地址。任何相邻的两个字节地址可以构成一个字地址,约定用较小的那个地址来表示字地址。程序员在编程时所用的地址称为逻辑地址,CPU访问的地址称为物理地址。物理地址与逻辑地址的关系是:物理地址=段基值*16+偏移地址。如有下列存储器的结构请按要求回答问题: ① 0002H的字节地址的内容是多少? ② 0002H的字地址的内容是多少? ③若该存储地址所在的数据段的段基值是0F3BH,则逻辑地址 为0004H的物理地址是多少?该物理地址的字单元内容是多少? ④物理地址是0F3B1H的字节单元内容是多少?

微机原理与汇编语言教学大纲

《微机原理与汇编语言》课程教学大纲一、课程基本信息 二、教学目标和要求 本课程是计算机专业的专业主干课。课程以当今主流微处理器80X86为结合点,分析它的结构特点、操作原理、指令系统以及汇编语言设计的基本方法,为后续课程打下必要的基础。通过本课程的学习,要求学生掌握微型计算机的基本

工作原理、汇编语言程序设计基本方法、微型计算机接口技术、建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力。应能掌握计算机的基本工作原理及汇编语言编程的技能和技巧,养成良好的程序设计风格,为今后的工作打下必要的技术基础。 三、教学难点 重点是8086CPU内部结构,引腿信号及功能,指令系统;汇编语言程序设计;接口的基本技术,接口芯片的内部结构和工作原理。难点是CPU操作时序,各种接口芯片的控制字,模式字的设置及其含义,接口与外设子系统的硬件设计及软件编程。 四、教学内容及基本要求 第一章微型机算计概述 (2学时) 教学目标和要求:理解微型机的分类和发展概况;掌握微处理器、微型计算机和微型机系统的差别;掌握CPU的功能和组成部件;掌握计算机的基本结构。 教学重点和难点:无。 教学方式:(课堂讲授) 第一节微型计算机的特点和发展 一、微型计算机的特点 二、微型计算机的发展 第二节微型机的分类 一、微型计算机的分类 第三节微处理器、微型计算机和微型计算机系统 一、微处理器 二、微型计算机 三、微型计算机系统 第四节微型机算机的应用 一、微型计算机的应用 复习思考题: 1. 微处理器、微型计算机和微型计算机系统之间有什么不同?

2. 微型计算机采用总线结构有什么优点? 3. 数据总线和地址总线在结构上有什么不同之处? 第二章 16位和32位微处理器 ( 6学时 ) 教学目标和要求: 1、掌握:8086微处理器的编程结构,常用引腿信号的功能,8086的中断系统,总线操作及时序; 2、理解:80386的体系结构,三种工作方式,指令流水线和地址流水线,虚拟存储机制和片内两级存储管理;Pentium采用的先进技术,原理结构,技术发展。 教学重点和难点:8086微处理器的结构,内部寄存器的功能,主要的引脚信号及功能,中断响应过程,存储器组织和I/O组织。 教学方式:(课堂讲授6学时) 第一节 16位微处理器8086 (2学时 ) 一、8086的编程结构 总线接口部件和执行部件的组成及各自功能,8086总线周期的概念。 二、8086的引腿信号和工作模式 1. 最小模式和最大模式的概念 为了适应各种应用场合,在设计8086/8088CPU芯片时,使它们可以在两种模式下工作,及最小模式和最大模式。 2. 8086/8088的引腿信号和功能 8086/8088CPU有40条引腿,这里介绍在两种模式下公用的32条引腿和他们的传递方向及有效跳变。 3. 最小模式 讲述8086在最小模式下的典型配置及有关引腿信号。 4. 最大模式 讲述8086在最大模式下的典型配置及有关引腿信号。 三、8086的操作和时序 1. 系统复位和启动操作 8086/8088复位时各内部寄存器的值,复位时序,总线信号状态。

汇编语言期末考试试题及答案

汇编语言模拟试题及答案 一,单项选择题 (在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20 分) 1.指令JMP FAR PTR DONE 属于参考答案为:C A .段内转移直接寻址 B ?段内转移间接寻址 C .段间转移直接寻址 D ?段间转移间接寻址 [解析]略 2.下列叙述正确的是参考答案为:C A ?对两个无符号数进行比较采用CMP 指令,对两个有符号数比较用CMPS 指令 B ?对两个无符号数进行比较采用CMPS 指令,对两个有符号数比较用CMP 指令 C .对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令 D .对无符号数条件转移采用JGE/JNL 指令,对有符号数条件转移用JAE/JNB 指令 [解析]对于无符号数和有符号数的比较都采用CMP 指令; CMPS 指令是串比较指令; 对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转 移指令应是:JGE、JNL、JLE、JNG。 3.一个有128个字的数据区,它的起始地址为12ABH:00ABH ,请给出这个数 据区最末一个字单元的物理地址是参考答案为:C A . 12CSBH B . 12B6BH C. 12C59H D . 12BFEH [解析]末字与首字相隔(128- 1 =) 127个字,且每个字占用2个字节,因此末字单元的物理地址应为: 首字单元的物理地址+( 128 —1) >2 即12ABHX 10H + OOABH +( 128 —1) X2 = 12C59H。 4.在下列指令的表示中,不正确的是参考答案为:C A . MOV AL ,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D . MUL CL [解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的 [BX] ,没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DEC BYTE PTR [BX] 或DEC WORD PTR [BX] 但是在题目的选项C 中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。 5.在进行二重循环程序设计时,下列描述正确的是参考答案为:A A .外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B ?外循环初值应置外循环之内;内循环初值应置内循环之内 C ?内、外循环初值都应置外循环之外

汇编语言期末复习题库

一、填空题 1.中央处理器包括运算器、控制器、寄存器组。 2.物理地址是指实际的20 位主存单元地址,每个存储单元对应唯一 的物理地址。 3.用二进制代码书写指令和程序的语言,称为机器语言。 4.计算机中的指令由操作码和操作数两部分组成。 5.把A和B两个寄存器的内容进行异或运算,若运算结果是0 ,那么 A、B寄存器的内容必定相同。 6.AL,BL中存放着压缩的BCD数,(AL)=18H,(BL)=47H,执行如下 两条指令ADD AL,BL 和DAA后,(AL)=65H 。 7.当指令“SUB AX,BX”执行后,CF=1,说明最高有效位有借位; 对有符号数,说明操作结果溢出。 8.FLAG状态标志寄存器中,AF为辅助进位标志,CF为进位标志, SF为符号标志,ZF为零标志,OF为溢出标志,PF为奇 偶性标志。 9.指出下列指令源操作数的寻址方式: MOV AX,ARRAY[SI] 变址寻址 MOV AX,ES:[BX] 寄存器间接寻址 MOV AX,[200H] 直接寻址 MOV AX,[BX+DI] 基址变址寻址 MOV AX,BX 寄存器寻址 MOV AX,1200H 立即数寻址

MOV AX,20[BX+SI]基址变址寻址 MOV AX,[DI+20] 变址寻址 10.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H, (20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21023H)=65H,下列指令执行后填入AX寄存器的内容: (1)MOV AX,1200H;(AX)= 1200H (2)MOV AX,BX;(AX)=0100H (3)MOV AX,[1200H];(AX)= 4C2AH (4)MOV AX,[BX];(AX)= 3412H (5)MOV AX,1100[BX];(AX)= 4C2AH (6)MOV AX,[BX][SI];(AX)= 7856H (7)MOV AX,1100[BX][SI];(AX)= 65B7H 11.已知‘A’的ASCII是41H,那么‘E’的ASCII是45H 。 12.Ends 是段定义结束伪指令,与Segment配套使用。 13.逻辑地址由段基值和偏移量组成。将逻辑地址转换为物理地址的公 式是段基值*16+偏移量。其中的段基值是由段寄存器存储。 14.一个有16个字的数据区,它的起始地址为70A0:0100H,那么该数据 区的最后一个字单元的物理地址为70B1E H。 15.DEBUG命令中,显示内存命令 D ,显示寄存器命令R,汇编命令 A ,执行命令G 。

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

汇编语言复习题 注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。在此文档最后最后附有课 后四、六章的答案,大家抓紧时间复习哦! 一、选择题 1. 把要执行的程序与库文件连接起来形成可执行文件的系统程序是(B )。 A. 汇编程序 B. 连接程序 C. 机器语言程序 D.源代码程序 2. 在8088/8086的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是 (C )。 A..SS 和SP B.DS 和DI C.CS 和IP D.ES 和SI 3. 为了使主机访问外设方便起见,外设中的每个寄存器给予一个(C )。 A.物理地址 B. 逻辑地址 C. 端口地址 D. 段地址 4. MOV AX, 3064H,该指令中源操作数采用的寻址方式是(A )。 A.立即 B. 直接 C. 寄存器相对 D. 寄存器间接 5. 换码指令的助记符是(C )。 A. XCHG B. LEAS C.XLAT D. MOV 6. 如果A> B (A、B有符号数)发生转移,应选择的条件转移指令是(JGE )。 7. 下列符号中,可用作标识符的是(C )。 A.MOV B.AX C.MSG1 D.1ABC 8. X DB 10H DUP (1 , 2)内存变量定义语句拥有了( A )个字节的存储空间。 A.20D B.10D C.20H D.10H 9. 当DF=0时,执行串操作指令MOVSB变址寄存器SI、DI的值将(C )。 A.不变 B. 减1 C. 加1 D. 无法确定 10. 如下指令可将AX寄存器内容改变的是(A )。 A. AND AX , BX B . TEST AX , BX C. CMP AX , BX D . XCHG AX , AX 11.16位CPU支持的I/O 地址范围是(D )。 A. 0~0FFFFFH B. 0~0FFFFH C. 0~0FFFH D. 0~0FFH 12. MUL CL指令实现的功能是(A )。 A.无符号乘法:AX AL X CL B.有符号乘法:AX AL X CL C.无符号乘法:DX AL X CL D .有符号乘法:DX AL X CL 13. DOS系统功能调用(INT 21H )中,显示字符串的功能号是(D )。 A.01H B.02H C.08H D. 09H 14. 在16位CPU读取指令时,需要用到的寄存器对是(C )。 A.SS 和SP B.DS 和DI C.CS 和IP D.ES 和SI 15. 下列指令中,源操作数(既第2操作数)属于基址加变址寻址方式是(B )。 A.MOV AX,23H B. MOV AX,[BX+SI] C.SUB AX,[BX] D. ADD AX,BX 16. 有内存变量定义语句:VAR DW 10 DUP(1 , 2), 1234H, VAR的属性TYPE LENGTH和

汇编语言课程教学大纲

《汇编语言》课程教学大纲 一、课程的性质和任务 《汇编语言》是计算机及相关专业的一门专业必修课。 本课程教学应达到的基本要求是: 1、加深对于微机结构及其内部运行过程的理解。 2、掌握Intel80x86汇编语言的语法、程序结构,能读懂和编写汇编语言程序。 3、了解BIOS、MS—DOS的功能调用方法,并掌握和运用主要的功能调用。 4、了解PC机主要外设的工作原理及简单编程方法。 5、掌握汇编语言的编程、调试技术,能够以汇编语言为工具,解决一些实际问题。 二、课时分配 本课程教学总时数为72学时,4学分,具体课时分配见课时分配表。 课时分配表 三、 课题一:基础知识 数制及数制间的转换(二进制、八进制、十进制、十六进制数概念及相互转换);二进制数的算术、逻辑运算;计算机中数和字符的表示(数值数据:原码、补码、反码的表示,字符数据的表示,数据类型等)。 重点:进位计数制及转换,ASCII码表示,数值数据表示等。 课题二:IBM PC 计算机组织 微型计算机系统基本结构(硬件、软件);中央处理器(组成、寄存器组);存储器等。

重点:8086CPU内容结构、寄存器组,存储器的地址和内容,内存地址的分段。 难点:逻辑地址和物理地址。 课题三:寻址方式与指令系统 寻址方式、指令格式、8086/8088指令系统(数据传送、算术运算、逻辑运算和移位运算、控制指令等)。 重点内容:1、掌握8086/8088CPU的寻址方式。 2、掌握8086/8088的常用指令。 了解内容:8086/8088指令系统的特点。 课题四:汇编语言程序格式 程序结构(分段式、简化式);伪操作;汇编语言程序格式;汇编、连接和运行;程序的调试与DEBUG。 课题五:分支与循环程序设计 顺序程序设计;分支程序设计;循环程序设计;串处理。 重点内容:顺序、分支和循环程序基本方法,能编写、运行、调试简单的汇编语言程序。 课题六:子程序与宏指令 子程序的设计方法;子程序嵌套;子程序举例;宏汇编。 课题七:输入与输出程序设计 输入与输出指令;输入输出控制方式;中断控制方式;中断处理程序举例。 课题八:BIOS和DOS中断 BIOS中断调用;DOS中断调用;键盘I/O调用;显示器I/O调用;其它调用(发声和时间中断等调用);显示方式;字符显示缓冲区的组织;图形方式下的编程。 重点内容:掌握DOS和BIOS中断方法。 四:说明 1、教材与参考书:教材选用《汇编语言》人民交通出版社 参考书选用《IBM PC 汇编语言程序设计》清华大学出版社 2、其它要求: (1)、该课程平时作业以课后习题为内容,由任课教师自行选择,次数在五次以上。 (2)、根据实验内容,填写实验报告8次,实验成绩计入课程总评分中。 3、预修课程:《C语言程序设计》、《计算机电路基础》 《汇编语言》课程实验教学大纲 一、实验教学目的

(完整版)汇编语言复习题

汇编语言程序设计复习题 一、单项选择题 1.假设(AL)=0FFH依次执行ADD AL,0FH指令后,标志位ZF和SF的状态分别为(A ) A. 0和0 B. 0和1 C. 1和0 D. 1和1 2.假设V AR为变量,指令MOV BX,V AR 的寻址方式是( A ) A.直接寻址B.间接寻址C.立即寻址D.存储器寻址 3.下列指令中,不影响标志位的是 ( C ) A.SUB BX,BX B.ROR AL,1 C.JNC Lable D.AND AL,CL 4.假定(DS)=4000H,(DI)=0100H,(40100H)=55H,(40101H)=0AAH,试问执行指令MOV BX, [DI]后,(BX)= ( C ) A.0100H B.55AAH C.AA55H D.4100H 5.执行下列哪一条指令后,就能用条件转移指令判断AL和BL寄存器中的最高位是否相同?(D ) A. TEST AL BL B. CMP AL BL C. AND AL BL D. XOR AL BL 6.堆栈中当前出栈的存储单元地址是 (A ) A. SS*10H+SP B. SS*10H+BP C. SS*10+SP D. SS*10+BP 7.已知V AR DW l,2,$+2,5,6 若汇编时V AR分配的偏移地址是0010H,则汇编后0014H单元的内容是( D ) A.6H B.14H C.5H D.16H 8.循环控制指令REPNZ继续执行循环的条件是(B ) A. CX≠0且ZF=1 B. CX≠0且ZF=0 C. CX≠0或ZF=1 D. CX≠0或ZF=0 9.设NUM=11011011B,指令“MOV AL,NUM SHL 3”执行后AL中的值是(B ) A.11011011000B B.11011000B C.00011011B D.00011011011B 10.下面XCHG指令语句中,语法正确的是(B) A. XCHG AX,DS B. XCHG BL,[BX] C. XCHG AL,OFH D. XCHG [SI],[DI] 11.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是( A ) A。目的操作数最高位是0 B.目的操作数最高位是1 C.目的操作数为任何情况D.无论什么情况都不可能相同 12.设AL=04H,BL=0F8H,执行IMUL BL 指令后,结果是(D) A.AX=0032H B.AX=00EOH C.AX=03EOH D.AX=OFFEOH 13.指令的操作数中,允许出现表达式,例如BUFl与BUF2均为变量名,下面指令中语法正确的是( D ) A.MOV AX,BUF1*BUF2 B.MOV AX,BUF1/BUF2 C.MOV AX,BUF1+ES:BUF2 D.MOV AX,BUF2-BUF1 14.下面指令中,操作数的寻址方式为寄存 器间接寻址的指令是( C) A.INC WORD PTR [BX+S1] B.INC CX,[SI+COUNT] C.NEG BYTE PTR [BX] D.ADD AX,B 15.NUM EQU 80H DA DB 34H AND DA,NUM 上述语句执行后,DA中的内容是 ( D ) A,0B4H B;80H C,34H D.0 16.在同一程序段中,定义有下面的伪指令, 使用正确的是(B ) A.PORT1 EQUAL PORTl EQU 2000H B.PORT2 = 3500H AND 0FFH C.PORT3 DD ‘ABCD’ D.PORT4 PROC ...RET ENDP 17.语句DA1 DB 2 DUP(3,5,7)汇编后, 该语句可等同于的语句是(D ) A.DA1 DB 3,5,7 B.DA1 DB 2,3,5,7 C.DA1 DB 3,5,7,2 D.DA1 DB 3,5,7,3,5,7 18.MOV AL,80H MOV CL,2 SAR AL,CL 上述指令执行后,结果是(D ) A.AL=40H B.AL=20H C.AL=0COH D.AL=0E0H 19.下面是实现将AL内容加1的压缩型BCD 码加法程序段,其中错误的指令序列是(A ) A.INC AL B.ADD AL,1 C.ADD AL,1 D.STC DAA DAA AAA DAA 20.DABY1 DB 12H,34H,56H,78H DB $-DABY1 DABY2 DB 8 DUP(1,2,3) ... MOV DL,SIZE DABY2 ADD DL,DABYl+2 上述指令序列执行后,DL的内容是 ( C ) A.3CH B.80H C.5EH D.1AH 21、下列寄存器组中在存储器操作数寻址时可 用于提供偏移地址的是(D) A、AX,BX,CX,DX B、SP,BP,SI,DI C、CS,ES,DS,SS D、BX,BP,SI,DI 22、执行NEG指令时,要设置标志位CF。设 置CF的正确说法是(C) A、对正数求补时,CF置0 C、对全0数据求补时,CF置0 23、要使BL中的低四位变反,高四位不变, 应执行指令(D) A、NOT BL C、AND BL,0FH 24、在8086/8088的立即数寻址方式中,对寄 存器的使用下列说法正确的是(D) A、使用AX,BX,CX,DX C、使用任一个通用寄存器 25、MOV AL,-1 NEG AL XOR AL,65 上述指令执行后,AL的值是(B) A、01H C、61H 26、在查错程序DEBUG中,为查看或修改内 存单元的内容,使用的命令是(A) A、D或E C、R 或E 27、指令MOV CL,55H XOR 0F0H执行后 CL中的值是(C) A、05H C、0A5H 28、对CS段寄存器赋段地址的方法是(B) A、MOV AX,CODE MOV CS,AX C、END 起始地址 29、X DW 1234H,0A9BH Y DB 7EH,8DH ┇ MOV BH,TYPE X MOV BL,TYPE Y 执行后BX的内容是(D ) A、0102H C、1234H 30、条件转移指令JBE产生转移的条件是(A) A、CF=1 OR ZF=1 C、CF=1 OR ZF=0 31、某存储单元的段地址是0AB90H,偏移地 址是1234H,该存储单元的物理地址是(B) A、0BDC4H C、0AD134H 32、设DF=1,每次执行CMPSW指令时,SI 和DI均要分别(B) A、减1 C、加1 33、设(AL)=07H,要使(AL)=-07H应执 行的指令是(C) A、OR AL,80H C、NEG AL 34、下列指令执行时操作数在数据段的是(D) A、MOV AX,32768H C、NEG BX 35、设SP=4AH,执行段内返回指令RET 4后, SP的值是(A) A、50H 1

相关主题
文本预览
相关文档 最新文档