文档库 最新最全的文档下载
当前位置:文档库 › 汇编语言程序设计 知识点 V3.0

汇编语言程序设计 知识点 V3.0

汇编语言程序设计  知识点 V3.0
汇编语言程序设计  知识点 V3.0

第一章

1、什么是汇编语言?

2、汇编语言程序设计过程:编辑源程序,编译(汇编),连接,运行调试

3、汇编语言特点?与机器语言一一对应,直接操作硬件,高效率(空间和时间,运行速度快,目标代码短,占用存储空间少)

4、数制转换

第2章8086计算机组织结构

1、计算机硬件系统组成:CPU、存储器、输入输出设备。

2、CPU组成:运算器、控制器、寄存器,运算器和控制器由芯片设计时设计好,不可做任何改动,程序设计员仅能在程序里使用寄存器,寄存器都有相应的名字,如AX,能在程序里直接使用寄存器是汇编语言区别于高级语言的最重要特点,这样就可以直接控制硬件系统。

3、总线结构:数据总线、地址总线、控制总线。数据总线分8位、16位、32位和64位等,多少位机就是以数据总线来划分,比如8位机、32位机。8086机是16位机,但地址总线是20位,地址总线数量决定了内存寻址空间的大小,如8086有20位地址线,那么寻址空间是:220=210*1K=1M,8086最大寻址空间为1MB,即地址范围:00000H~FFFFFH。控制总线主要传送控制信息,如读写操作,读写操作的主体是CPU,读操作是指CPU从内存或外设读取数据,写操作是指CPU把数据写到内存或外设中。

4、存储器:存储器的最小单元是字节(Byte,由8个位组成),字节的多少就是存储器的容量。每一个字节单元都有一个唯一的编号,这个编号就是字节单元的地址,此地址就是物理地址,对于8086而言,编号的形式为:XXXXXH,如85421H。如果要读写存储器,必须知道某一个字节单元的地址。多个字节单元可以组合成更大的单元(数),比如2个字节单元组合成一个字(Word),4个字节单元组合成一个双字(Double Word)等,规定:这个组合后的大单元是以最小字节单元地址为自己的地址。如85421H字节单元内容为12H,85422H 字节单元内容为34H,那么以85421H地址的字单元的内容就是3412H。

地址取最小字节单元的地址为大单元的地址。

内容排序按照“高高低低”原则:高字节放在高地址里,低字节放在低地址里。

详细请参看2.3节(P30页)

5、8086CPU寄存器

(1)通用类:AX(AH,AL)、BX(BH,BL)、CX(CH,CL)、DX(DH,DL)

(2)段寄存器类:CS、DS、ES、SS

(3)与偏移地址相关类:SI、DI、SP、BP

(4)特殊类:IP、FLAGS

所有寄存器都是16位大小,通用类的16位又可看成2个8位的寄存器组成,区分为高8位(High)和低8位(Low),因此取名为AH和AL,其他类似。

CS:存放代码段段地址,DS:存放数据段段地址,SS:存放堆栈段段地址,ES:存放数据附加段段地址,一般作为DS的辅助使用,比如在一段程序里需要用到2个不同数据段的数据时,其中一个数据段段地址存放在DS中,另一个存放在ES中。

SI、DI:一般用于变址寻址方式,如[BX+SI]、[BX+DI],

SP:堆栈段中堆栈栈顶的偏移地址,不可修改,由SS:SP逻辑地址始终指向堆栈的栈顶。

详细参看2.3.2,P32页

BP:一般也用于堆栈,可以作为SP的备份,通常也是用SS:BP逻辑地址表示,BP可以随意修改,因此通过SS:BP可以访问堆栈的任何地方。此外,BP还与BX一样,可以作为基地址

方式进行寻址,比如[BP+SI]、[BP+DI],但此时访问的数据是指堆栈段里的,如果要访问数据段的必须明显写出DS,如DS:[BP+SI]、DS:[BP+DI]

IP:指令指针,有CS:IP逻辑地址始终指向下一条即将执行指令的地址,如果要使程序进行跳转,必须改变CS和IP的值,但CS和IP寄存器不能直接修改(比如用MOV),只能通过跳转指令来修改,如JZ、JMP、LOOP等。

FLAGS:标志位寄存器,记录CPU运算器的状态,可以进行位操作,

CF:进位标志,ZF:运算结果0标志,SF:运算结果符号标志,OF:溢出标志,其他的暂时不需要记。

6、分段机制

8086的数据线为16位,地址线为20位,寄存器也是16位的,由于读写存储器(内存)单元时,需要知道存储器单元的地址,如XXXXXH,这个地址如何在16位的数据线上传输,传输到寄存器(XXXXH)里,如何在寄存器里保存,用一个寄存器是保存不了的,必须用2个寄存器,第一个寄存器存放的地址XXXXH,我们称为段地址,放在CS、DS、ES和SS中。

物理地址=段地址*10H+偏移地址(H,全部用十六进制表示)

物理地址:xxxxxH,

逻辑地址:xxxxH:xxxxH,逻辑地址表示方法,冒号前面的叫做段地址,后面的叫偏移地址。简单换算方法:逻辑地址转物理地址方式是将段地址后面加个0,与偏移地址相加即可

第三章指令系统与寻址方式

1、指令格式:

如Tab:Mov ax,bx;注释

Tab是标号,标号后必须紧跟一个冒号,标号代表当前指令在内存中的位置,编译成二进制代码后,标号就不存在了;Mov是操作码,表示当前指令的作用、功能;ax是目的操作数,bx是源操作数,两者表示参与指令操作的数,目的操作数存放最后指令操作的结果;分号后边的是注释,说明当前指令的过程,方便程序的阅读。

因此可以写成:“标号:操作码目的操作数,源操作数;注释”

“标号,注释”不一定每条指令都有,操作数也可能有一个,也可能没有,也可能有两个。

2、提供操作数的方式:(1)立即数;(2)通过寄存器(一般指通用寄存器);(3)通过内存(必须要提供或者能计算出内存的地址)

目的操作数不能是立即数,源操作数和目的操作数不能同时为内存操作数。

3、寻址方式:将操作数来自于不同的地方进行分类:立即数寻址、寄存器寻址、内存寻址(1)立即数寻址:操作来自立即数,即立即数寻址,如mov ax,1234H,1234H为立即数。(2)寄存器寻址:操作数来自于寄存器,如上述指令中的ax,即为寄存器寻址。

(3)内存寻址:操作数来自于内存,需要给出或者计算出内存的地址,根据获得这个地址的方式不同,又分为以下几种方式:

1)直接寻址:直接给出内存地址(一般是偏移地址),如mov ax,[1000H],1000H就是内存地址。

2)寄存器间接寻址:内存地址事先放在寄存器里,要通过取出寄存器里的值才能得到地址,如mov ax,[bx],内存的地址在bx里,假设bx里的值是1200H,那么指令首先通过bx得到1200H,再去内存找到1200H地址。存放间接地址的寄存器只能是:bx,bp,si,di

3)寄存器相对寻址:在寄存器间接寻址的基础上有个常数偏移量,如mov ax,[bx+1000H],假设bx里的值是1200H,那么指令首先通过bx得到1200H,再去内存找到1200H,然后基于这个1200H地址,向后再偏移1000H,才能得到真正要的数,所以实际上的地址是1200H +1000H。常量对应的是“相对”。有多种写法:[bx+1000H]、1000H[bx]、[bx]+1000H,都可以,使用的寄存器也只能是:bx,bp,si,di

4)基址变址寻址方式:在寄存器相对寻址里的“相对常量”放在另一个寄存器里,如mov ax,[bx+1000H],如果事先将1000H放在SI寄存器里,那么指令就变成:mov ax,[bx+si],这就是基址变址寻址方式,前面的bx表示基地址,si表示变化的地址,把两个寄存器的值相加才是要的内存地址,也可以写成mov ax,[bx][si],经常采取这种方式来遍历内存数据,因为只要改变si的值即可。基地址只能用bx、bp,变地址只能用si、di。

5)相对基址变址寻址方式:在基址变址寻址方式的基础上,再加一个常量即可,如mov ax, [bx+si+2000H],把两个寄存器的值和常量相加才是要的内存地址,也可以写成mov ax, 2000H[bx+si]或者mov ax,2000H[bx][si],基地址只能用bx、bp,变地址只能用si、di。

4、无条件转移指令:jmp标号

标号表示目的地址,标号表示对应指令在内存中的地址,一般由CS和IP组合表示,如CS:IP,CS是代码段寄存器,IP是指令指针寄存器。

如果转移不涉及到CS的变化,表示段内转移,如果CS必须改变,就是段与段之间的转移。如果代表指令地址的标号的值事先放在寄存器或者某一个内存(一般通过寄存器间接表示)里,也可以用寄存器或内存地址代表标号,如jmp bx,执行jmp指令后,IP寄存器的值就等于bx的值了,如jmp[bx],先通过bx找到内存,再从内存中取出值来才是要转移的地址。如果要从内存中取出4个字节来改变CS和IP,那么需要在前面加DWORD PTR,如jmp DWORD PTR[bx]。

5、指令系统

(1)数据传送类:mov push/pop xchg LEA(offset)

(2)算术运算类:ADD,ADC,INC,SUB,SBB,DEC,NEG,CMP,MUL,IMUL,DIV,IDIV,CBW,CWD

(3)逻辑运算类:AND,OR,NOT,XOR,TEST

(4)移位指令类:SAL,SAR,SHL,SHR,ROL,ROR,RCL,RCR

(5)条件转移类:JZ,JNZ,JC,JNC,JS,JNS,

JA,JB

JG,JL

第四章程序结构

1、完整段定义程序框架

2、伪指令

常量定义:常量名EQU表达式,如X EQU100,常量不占数据段内存地址

变量定义:变量名类型初始值,如Y db1,2,3,类似高级语言中的数组定义,初始值可以是数字、表达式、字符、字符串等。

类型有:DB,DW,DD

初始值可以是?

$,?

SEG,OFFSET,TYPE,LENGTH,SIZE,PTR(BYTE,WORD,DWORD)

第五章顺序、分支与循环程序设计

1、分支:二分支结构,多分支结构

用条件转移指令实现程序的分支,用跳转表法实现多分支结构

构造条件指令:CMP

转移指令:JC,JNC,JZ/JE,JNZ/JNE,

无符号数比较大小(Above,Below,Equal):JA,JB

有符号数比较大小(Great,Less,Equal):JG,JL

2、循环:Do-While结构,While-Do结构

包括:循环初始化,循环体,循环控制三部分

循环控制指令:LOOP,用于明确知道循环次数的应用,类似于高级语言的FOR语句

循环次数事先放在CX里,每次执行LOOP时,首先让CX=CX-1,然后再检测CX是否等于0,如果等于0就停止循环,不等于0就继续循环。

以下问题是否都搞清楚了?

1、汇编语言特点、优势,汇编语言指令的组成?

2、编码及其含义,比如一个数01000010B可以有多种解释,比如96H也有种描述;压缩BCD 码、非压缩BCD码、及其转换。

3、补码概念和计算,如01111110B与10000001B哪个大?数制的转换,如64.8H=D= B,数表示范围(八位、十六位、有符号数、无符号数等)。

4、计算机结构:由CPU、内存、输出输出接口组成,通过总线相连。CPU由运算器、控制器和寄存器三部分组成。

5、14个寄存器:(AX、BX、CX、DX)、(SI、DI、SP、BP)、(CS、DS、ES、SS)、(IP,FLAGS),每个寄存器的作用,特殊情况是什么?比如偏移地址只能是BX、BP、SI、DI来给出。

6、内存数据存放方式,“高高低低”原则,比如(30200H)=12H,(30201H)=34H,(30202H)=56H,(30203H)=78H,如果从30201H地址取一个字是:5634H,给出数据,会画出内存数据的存放示意图。

7、物理地址与逻辑地址概念与转换,物理地址:5位的十六进制数表示,如12345H,逻辑地址为2个4位十六进制数表示,如1000:1234H,转换:如段地址3421H,偏移地址5641H,那么物理地址是:39851H,此物理地址还可以表示为3900:0851H或者3000:9851H等等,那么如何选取段地址?(段地址的选取必须是物理地址的最后一位为0(十六进制))。

8、寻址方式,7类寻址方式(其实就是3大类),比如Mov ax,[bx+10]源操作数的寻址方式是什么?

9、基本指令功能,比如MOV及运行结果,比如给出了数据段段地址和内存数据,要求根据MOV指令,给出某个特定寄存器里的值,如P92的第4题。再比如:移位指令,左移右移(相当于乘除法)等,乘除法指令的理解与应用。

10、逻辑运算,AND,OR,NOT,XOR,TEST,CMP,比如AND AX,BX,0AH与50H,AAH与55H特点。逻辑位运算,比如设置、清除、变反某个特定的位,寄存器清零、奇偶数检测与获得,XOR,OR等。

11、比较运算,CMP,TEST,比如TEST BX,0203H含义。

12、DUP伪指令应用,EQU定义常数(立即数)

13、字符及字符串定义方式DB(DW),string db“Hello World”,一般不用DW来定义

14、JMP跳转,跳转JZ\JC\JS,“JMP标号”,“JMP寄存器”,等方式

15、比较指令:有符号数比较大小,无符号数比较大小

16、堆栈基本应用,SP指示的地址计算,结合子程序的堆栈传递参数,堆栈平衡方法“RET N”。

17、子程序应用,传递参数方法(寄存器传递、存储器传递、堆栈传递、地址表传递),程序段功能分析,入口参数与出口参数分析,子程序与宏汇编的异同等。

18、宏汇编应用:宏定义、调用、展开,宏展开方法,带参数及其参数分析。

19、中断概念,中断服务程序、中断矢量、中断矢量表、地址计算等。

20、基本运算:求和、求平均值,找最大最小值,遍历内存空间比较,显示字符串方法等,多位数(32位)的运算(如移位、加减)。字符串读取与显示,字符进行转换(大小写转换),数值统计等。

实验四-循环结构汇编语言程序的设计实验报告

循环结构汇编语言程序设计实验报告

实验四循环结构汇编语言程序设计 一、实验目的 1、学习循环结构的汇编语言程序的设计和调试。 2、学习通过直接对8086计算机的寄存器和存的直接访问,编写更高效简洁的汇编程序。 3、加深掌握计算机整体的工作过程。 3、加深对排序算法的理解。 二、实验任务 编写程序求出数组A中(20个元素)的最大值和最小值(数组没有排序)。 要求至少采用二种不同的排序算法来实现。( 快速排序,归并排序、堆排序、Shell排序、插入排序、冒泡排序、交换排序、选择排序、基数排序……) 三、实验容 为了更好地实现老师所布置的实验任务,我们根据情况选取以下两种方式实

验。 1、利用冒泡排序的方式求解数组A中元素的最大值最小值。设计流程图如 下所示: 2、利用选择排序的方式求得数组A中元素的序列。设计流程图如下所示:

四、实验环境 PC机: winXP/win7(32位)/win7(64位)+winxp 虚拟机 汇编工具:Masm.exe+Link.exe。 五、实验步骤 1)建立和生成的文件 (1)编写的源程序,源程序名为abc、扩展名为.asm (2)源程序经汇编程序Masm.exe汇编(翻译)后生成二进制目标程序,文件名为abc.obj (3)目标程序需要经Link.exe连接生成可执行程序,文件名为abc.exe 2)汇编环境 最基本的汇编环境只需要两个文件:Masm.exe和Link.exe。将这两个文件拷入到已经建好的文件夹(例如 huibian)中,并将文件夹huibian放在硬盘根

目录C :\>下 3)上机步骤 进入DOS窗口中执行。 4)调试程序 进入DEBUG后,调试程序 5)调试成功后重新汇编、连接并生成可执行代码 6)执行程序,并对运行结果截图。 利用冒泡排序求得数组A中元素的最大值最小值的实验结果如下图所示:(说明:输入数据为:13,0,59,900,587,1,657,234,34,48) 利用选择排序对数组A中元素排序得到的序列得实验结果如下图所示:(说明:输入数据为13,0,59,900,587,1,657,234,34,48)

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

《汇编语言程序设计》课程教学大纲 二、课程简介 汇编语言是计算机能够提供给用户使用的最快最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而,对程序的空间和时间要求很高的场合及需要直接控制硬件的应用场合,汇编语言的应用是必不可少三、课程目标 汇编语言课程是计算机专业的一门专业选修课。通过本课程的学习,应使学 生系统地了解计算机组成原理与内部的运行机理,掌握汇编语言程序设计及相关 知识,为学习本专业后继课程和进行与硬件有关的技术工作打下良好基础。通过 上机实验,使学生受到软硬件实验的初步训练,并培养学生分析问题和解决问题 的能力。 四、教学内容及要求 第一章基础知识 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系统功能调用

汇编语言程序设计实验教程

汇编语言程序设计实验教程

目录 第一章上机过程 (4) 1.1编辑源程序 (4) 1.2 汇编源程序 (5) 1.3连接目标程序 (6) 1.4运行程序 (7) 第二章DEBUG命令祥解 (8) 2.1 DEBUG程序使用 (8) 2.2 DEBUG的常用命令 (8) 第三章汇编语言程序设计实验 (13) 3.1实验一顺序与分支程序设计 (13) 3.2 实验二循环与子程序程序设计 (15) 3.3 实验三算术运算与代码转换程序设计 (16) 3.4 实验四字符串的匹配与替换程序设计 (18) 3.5 实验五输入输出程序设计 (19) 第四章部分实验参考答案 (21)

第一章上机过程 1.1编辑源程序 汇编语言源程序:用汇编语句编写的解决应用问题的程序。 汇编程序:将汇编语言源程序翻译成机器语言程序的系统。 汇编:将汇编语言程序翻译成机器语言程序的过程。 在编辑汇编语言源程序时,对计算机硬件工作环境无特殊要求,对软件工作环境要求也很简单,只需用建立ASCII码文本文件的软件即可。 (1)编辑软件 编辑软件:EDIT、QE、WORD、NOTEPAD等。 当输入、建立和修改源程序时,可任选一种编辑软件,不要用格式控制符,要求编辑完成的文件扩展名一定是.ASM。 (2)汇编程序 有汇编ASM.EXE、宏汇编MASM.EXE及TASM等,一般使用宏汇编MASM.EXE,因它比ASM.EXE功能强。TASM适用于8086/8088~Pentium系列指令系统所编写的汇编语言程序,是比较先进的汇编工具。 (3)连接程序 用连接程序LINK.EXE或TLINK.EXE,将MASM.EXE产生的目标代码程序(.OBJ)文件连接成可执行程序.EXE,TLINK比LINK更先进。 (4)辅助工具程序(.EXE) 进行汇编语言程序调试和文件格式转换的程序有: https://www.wendangku.net/doc/0715739214.html, 动态调试程序 EXE2BIN.EXE文件格式转换程序

汇编语言学习知识程序设计实验

目录 目录 (1) 实验一利用DEBUG熟悉常用指令的使用 (2) 一、实验目的 (2) 二、示例 (2) 三、实验题 (2) 实验二汇编程序和连接程序的使用 (6) 一、实验目的。 (6) 二、示例。 (6) 三、实验题。 (8) 实验三顺序结构程序设计 (11) 一、实验目的 (11) 二、示例 (11) 三、实验题 (12) 四、实验报告 (15) 实验四循环结构程序设计 (16) 一、实验目的 (16) 二、示例 (16) 三、实验题 (18) 实验五分支结构程序设计 (21) 一、实验目的 (21) 二、示例 (21) 三、实验题 (22) 实验六子程序设计 (29) 一、实验目的 (29) 二、实验题 (29)

实验一利用DEBUG熟悉常用指令的使用 一、实验目的 熟悉指令系统,掌握常用指令的用法;通过实验加深对各种寻址方式的理解;能熟练使用DEBUG中的命令对指令进行反汇编,观察并了解机器代码。 二、示例 请分别用一条汇编语言指令完成如下功能:(过程略)。 1.用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。 ADD AL,[BX][SI] 2.用位移量为0520H的直接寻址方式把存储器中的一个字与3412H相加,并把结果送回该存储单元。 ADD WORF PTR [0520H],3412H 三、实验题 1.调试、验证下列指令的结果,已知(DS)=2000H,(BX)=0100H,(SI)=0002H,(BP)=0200H,(SS)=2300H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(21202)=B7H,(21203)=65H,(23204)=88H,说明各指令执行完后AX寄存器的内容。要求输入指令,相应存储单元的内容要事先设置,单步 P执行,观察执行结果。 (设置存储器的值)

80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著)

80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著) 《计算机操作系统原理》 《Inside Windows 2000》(微软出版社,我看的是E文版的,中文的书名想必是Windows 2000 技术内幕之类吧)。 《数据结构和算法》——这门课程能够决定一个人程序设计水平的高低,是一门核心课程。我首选的是清华版的(朱战立,刘天时) 《软件工程》——这门课程是越到后来就越发现它的重要,虽然刚开始看时就象看马哲一样不知所云。我的建议是看《实用软件工程》(黄色,清华) 《Windows 程序设计》——《北京大学出版社,Petzold著》我建议任何企图设计Windows 程序的人在学习VC以前仔细的学完它。而且前面的那本 建议:你还可以在CSDN上阅读到许多书评。这些书评能够帮助你决定读什么样的书 关于编程的网站 计算机编程 郭新明-FTP服务器体验式学习课程(张孝祥监制) https://www.wendangku.net/doc/0715739214.html,/so/so138.aspx?id=3997 https://www.wendangku.net/doc/0715739214.html,快速开发新闻系统在线播放 https://www.wendangku.net/doc/0715739214.html,/so/so138.aspx?id=4708 数字电路基础[宁波电大] https://www.wendangku.net/doc/0715739214.html,/so/so138.aspx?id=774 计算机组成与汇编语言程序设计(赵丽梅)宁波电大 https://www.wendangku.net/doc/0715739214.html,/so/so138.aspx?id=1242 操作系统(陈访荣)宁波电大(在线播放) https://www.wendangku.net/doc/0715739214.html,/so/so138.aspx?id=4708 计算机网络(马敏飞)宁波电大 https://www.wendangku.net/doc/0715739214.html,/so/so138.aspx?id=1243 https://www.wendangku.net/doc/0715739214.html, 2.0快速入门(12)-https://www.wendangku.net/doc/0715739214.html, 2.0网站快速导航 https://www.wendangku.net/doc/0715739214.html,/so/so138.aspx?id=2501 Internet和Intranet应用(薛昭旺)宁波电大 https://www.wendangku.net/doc/0715739214.html,/so/so138.aspx?id=1245 2004年电脑硬件安装调试维修视频教学讲授 https://www.wendangku.net/doc/0715739214.html,/so/so138.aspx?id=4825 https://www.wendangku.net/doc/0715739214.html, 高级排错技巧 https://www.wendangku.net/doc/0715739214.html,/so/so138.aspx?id=768 SQL Server 2000管理专家系列课程 https://www.wendangku.net/doc/0715739214.html,/so/so138.aspx?id=4832 开心三人行系列(2):使用Atlas 构建AJAX应用 https://www.wendangku.net/doc/0715739214.html,/so/so138.aspx?id=2564 Visual Basic 2005开发技巧系列课程(4): 在Visual Basic 2005中使用.NET Framework 2.0新增功能 https://www.wendangku.net/doc/0715739214.html,/so/so138.aspx?id=2526 SQL Server 2005 系列课程-使用ADO https://www.wendangku.net/doc/0715739214.html,开发SQL Server 2005 OLAP应用 https://www.wendangku.net/doc/0715739214.html,/so/so138.aspx?id=2535

51汇编语言程序设计

第四章MCS-51汇编语言程序设计 重点及难点: 单片机汇编语言程序设计的基本概念、伪指令、单片机汇编语言程序的三种基本结构形式、常用汇编语言程序设计。 教学基本要求: 1、掌握汇编语言程序设计的基本概念; 2、掌握伪指令的格式、功能和使用方法; 3、掌握顺序结构、分支结构和循环结构程序设计的步骤和方法; 4、掌握常用汇编语言程序设计步骤和方法。 教学内容 §4.1汇编语言程序设计概述 一、汇编语言的特点 (1)助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用存储空间小,运行速度快,因此汇编语言能编写出最优化的程序。 (2)使用汇编语言编程比使用高级语言困难,因为汇编语言是面向计算机的,汇编语言的程序设计人员必须对计算机硬件有相当深入的了解。 (3)汇编语言能直接访问存储器及接口电路,也能处理中断,因此汇编语言程序能够直接管理和控制硬件设备。 (4)汇编语言缺乏通用性,程序不易移植,各种计算机都有自己的汇编语言,不同计算机的汇编语言之间不能通用;但是掌握了一种计算机系统的汇编语言后,学习其他的汇编语言就不太困难了。 二、汇编语言的语句格式 [<标号>]:<操作码> [<操作数>];[<注释>] 三、汇编语言程序设计的步骤与特点 (1)建立数学模型 (2)确定算法 (3)制定程序流程图 (4)确定数据结构 (5)写出源程序 (6)上机调试程序 §4.2伪指令 伪指令是程序员发给汇编程序的命令,也称为汇编命令或汇编程序控制指令。 MCS- 51常见汇编语言程序中常用的伪指令:

第四章MCS-51汇编语言程序设计91 1.ORG (ORiGin)汇编起始地址命令 [<标号:>] ORG <地址> 2.END (END of assembly)汇编终止命令 [<标号:>] END [<表达式>] 3.EQU (EQUate)赋值命令 <字符名称> EQU <赋值项> 4.DB (Define Byte)定义字节命令 [<标号:>] DB <8位数表> 5.DW (Define Word)定义数据字命令 [<标号:>] DW <16位数表> 6.DS (Define Stonage )定义存储区命令 [<标号:>] DW <16位数表> 7.BIT位定义命令 <字符名称> BIT <位地址> 8.DA TA数据地址赋值命令 <字符名称> DATA <表达式> §4.3单片机汇编语言程序的基本结构形式 一、顺序程序 [例4-1]三字节无符号数相加,其中被加数在内部RAM的50H、51H和52H单元中;加数在内部RAM的53H、5414和55H单元中;要求把相加之和存放在50H、51H和52H单元中,进位存放在位寻址区的00H位中。 MOV R0 ,# 52H ;被加数的低字节地址 MOV R1 ,# 55H ;加数的低字节地址 MOV A ,@ R0 ADD A ,@ R1 ;低字节相加 MOV @ R0 , A ;存低字节相加结果 DEC R0 DEC R1 MOV A ,@ R0 ADDC A ,@ R1 ;中间字节带进位相加 MOV @ R0 , A ;存中间字节相加结果 DEC R0 DEC R1 MOV A ,@ R0 ADDC A ,@ R1 ;高字节带进位相加 MOV @ R0 , A ;存高字节相加结果 CLR A

新版汇编语言程序设计习题答案(钱晓捷主编)电子教案

新版汇编语言程序设计习题答案(钱晓捷主 编)

新版汇编语言程序设计习题答案(钱晓捷主编) 第一章汇编语言基础知识 1.1、简述计算机系统的硬件组成及各部分作用 1.2、明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB 1.3、什么是汇编语言源程序、汇编程序、目标程序? 1.4、汇编语言与高级语言相比有什么优缺点? 1.5、将下列十六进制数转换为二进制和十进制表示 (1)FFH (2)0H (3)5EH (4)EFH (5)2EH (6)10H (7)1FH (8)ABH 1.6、将下列十进制数转换为BCD码表示 (1)12 (2)24 (3)68 (4)127 (5)128 (6)255 (7)1234 (8)2458 1.7、将下列BCD码转换为十进制数 (1)10010001 (2)10001001 (3)00110110 (4)10010000 (5)00001000 (6)10010111 (7)10000001 (8)00000010 1.8、将下列十进制数分别用8位二进制数的原码、反码和补码表示 (1)0 (2)-127 (3)127 (4)-57 (5)126 (6)-126 (7)-128 (8)68 1.9、完成下列二进制数的运算 (1)1011+1001 (2)1011-1001 (3)1011×1001 (4)10111000÷1001 (5)1011 ∧~1011 (8)1011 ⊕ 1001 1001(6)1011 ∨1001(7) 1.10 数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码为0dh、0ah对应的是什么字符? 1.11、计算机中有一个“01100001”编码,如果把它认为是无符号数,它是10进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符? 1.12、简述Intel 80x86系列微处理器在指令集方面的发展。 1.13、什么是DOS和ROM-BIOS? 1.14、简述PC机最低1MB主存空间的使用情况。 1.15、罗列8086CPU的8个8位和16位通用寄存器,并说明各自的作用。 1.16、什么是标志,它有什么用途?状态标志和控制标志有什么区别?画出标志寄存器FLAGS,说明各个标志的位置和含义。

2位数计算器程序-汇编语言课程设计

信息学院课程设计题目:2位数计算器程序设计 __ 姓名: __ _____ 学号: ____ ___ 班级: 课程:汇编语言 ________ 任课教师:侯艳艳 ____ 2011年12月

课程设计任务书及成绩评定

目录 摘要 (2) 1.设计目的………………………………………………………………………………………………?2 2.概要设计………………………………………………………………………………………………?3 2.1系统总体分析…………………………………………………………………………?3 2.2程序流程图 (3) 3.详细设计......................................................................................................? (4) 3.1主程序及子程序说明 (4) 3.2程序代码编写 (4) 4.程序调试 (6) 4.1运行界面分析 (6) 4.2算法的分析 (6) 4.3调试过程及分析 (6) 5.心得体会 (7) 5.1设计体会...................................................................................................? (7) 5.2系统改进...................................................................................................? (7) 参考文献 (8)

汇编语言程序设计实验报告

微机原理实验报告 实验名称汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH, 97H,64H,BBH,7FH,0FH,D8H。编程并显示结果:如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H 的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD 码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再 将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 第1页

99223344H = xxxxxxxxH 四、实验代码及结果 实验代码见代码附录 1.1程序运行结果 图1 无符号最大值结果截图 1.1 程序运行结果

图2 有符号最大值截图2.0 程序运行结果

图3 BCD码显示3.0 程序运行结果

图4 ASCII码显示4.0 程序运行结果

图5 移动次数显示5.0 程序运行结果

汇编语言程序设计(钱晓捷)课后答案

汇编语言程序设计(第二版) 钱晓捷习题答案 第二章(01) 2.1 (1)AX=1200h (2)AX=0100h (3)AX=4C2Ah (4)AX=3412h (5)AX=4C2Ah (6)AX=7856h (7)AX=65B7h 2.2(1) 两操作数类型不匹配 (2) IP指令指针禁止用户访问 (3) 立即数不允许传给段寄存器 (4) 段寄存器之间不允许传送 (5) 两操作数类型不匹配 (6) 目的操作数应为[ BP ] (7) 源操作数应为[BX+DI] (8) 立即数不能作目的操作数 2.3 lea bx,table ;获取table的首地址,BX=200H mov al,8 ;传送欲转换的数字,AL=8 xlat ;转换为格雷码,AL=12H 2.4 堆栈是一种按“先进后出”原则存取数据的存储区域。 堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。 2.5 mov ax,8057h push ax mov ax,0f79h push ax pop bx ;bx=0f79h pop [bx] ;DS:[0f79h]=8057h 2.6 AL=89h CF ZF SF OF PF AL=12h 1 0 0 1 1 AL=0afh 0 0 1 0 1 AL=0afh 1 0 1 0 1 AL=00h 0 1 0 0 1 AL=0ffh 0 0 1 0 1 AL=00h 0 1 0 0 1 2.7 W=X+Y+24-Z

2.8 (1)ADD DX,BX (2)ADD AL,[BX+SI] (3)ADD [BX+0B2H],CX (4)ADD WORD PTR [0520H],3412H (5)ADD AL,0A0H 2.9;为了避免与操作数地址混淆,将题中X,Y,Z,V 字操作数改为A,B,C,D mov ax,X ;ax=A imul Y ;dx,ax = A*B (将操作数看作符号数,以下同) mov cx,ax mov bx,dx ;bx,ax <-- dx,ax =A*B mov ax,Z ;ax = C cwd ;dx,ax =C (扩展符号后为双字) add cx,ax adc bx,dx ;bx,cx <-- bx,cx+dx,ax=A*B+C sub cx,540 sbb bx,0 ;bx,cx<-- A*B+C-540 mov ax, V ;ax= D cwd ;dx,ax= D (扩展符号后为双字) sub ax, cx sbb dx, bx ;dx,ax = dx,ax - bx,cx = D-(A*B+C-540) idiv X ;运算结果:[D-(A*B+C-540h)]/A ;ax存商,dx存余数 2.10;(1)xchg的操作数不能是立即数 (2不能对CS直接赋值 (3)两个操作数不能都是存储单元 (4)堆栈的操作数不能是字节量 (5)adc的操作数不能是段寄存器 (6)没有确定是字节还是字操作 (7)in不支持超过FFH的直接寻址 (8)out只能以AL/AX为源操作数 第二章(02) 2.11; 指令AX的值CF OF SF ZF PF Mov ax,1407h1470h----- And ax,ax1470h00000 Or ax,ax1470h00000 Xor ax,ax000011 Not ax0ffffh----- Test ax,0f0f0h0ffffh00101 注意: 1. mov, not指令不影响标志位 2. 其他逻辑指令使CF=OF=0, 根据结果影响其他标志位。

汇编语言程序设计实验篇emu

1.汇编语言程序设计实验篇 1.1.汇编系统软件简介 Emu8086-Microprocessor Emulator是集源代码编辑器、汇编/反汇编工具以及debug 的模拟器。它能模拟一台"虚拟"的电脑运行程序,拥有独立的“硬件”,避免访问真实硬件。该软件兼容Intel的下一代处理器,包括PentiumII、Pentium4。利用该软件提供的调试工具,能够单步跟踪程序,观察程序执行过程中寄存器、标志位、堆栈和内存单元的内容。 1.1.1创建程序 https://www.wendangku.net/doc/0715739214.html, TEMPLATE程序 本章与指令相关的实验都是用COM TEMPLATE类型的程序完成的。打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。 在“choose code template”对话框中,选择“COM template-simple and tiny executable file format, pure machine code.”后,单击按钮。

在如所示的编辑界面中,在“;add your code here”部分输入相应的指令,第一条指令默认的偏移地址为100h。 输入全部指令后,单击按钮,保存相应的程序段。 2.EXE TEMPLATE程序 本章与DOS功能调用和汇编源程序相关的实验都是用EXE TEMPLATE程序完成的。打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。

在“choose code template”对话框中,选择“EXE template-advanced executable file.header: relocation, checksum.”后,单击按钮。 在如图所示的编辑界面中,已经可以给出了源程序的框架,包含数据段、堆栈段和代码段的定义以及必要的功能调用等,在“add your data here”和“;add your code here”部分可以分别输入相应的变量定义和指令。

大工19秋《汇编语言程序设计》大作业题目及要求

学习中心: 专业: 年级:年春/秋季 学号: 学生: 题目: 1.谈谈你对本课程学习过程中的心得体会与建议 2.《汇编语言程序设计》课程设计,从以下5个题目中任选其一作答。 《汇编语言程序设计》课程设计 注意:从以下5个题目中任选其一作答。 总则:只能使用汇编语言进行编制,不能选用C/C++等高级语言 作业提交: 大作业上交时文件名写法为:[姓名奥鹏卡号学习中心](如:戴卫东浙江台州奥鹏学习中心[1]VIP) 以附件word文档形式上交离线作业(附件的大小限制在10M以内),选择已完成的作业(注意命名),点提交即可。如下图所示。

注意事项: 独立完成作业,不准抄袭其他人或者请人代做,如有雷同作业,成绩以零分计! 题目一:进制转换程序 要求:(1)撰写一份word文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。 (2)算法思路:比如可设计二进制转化十六进制的算法, 简单介绍该算法的基本思想,100字左右即可。 (3)算法程序框图:绘制流程图或原理图,从算法的开始 到结束的程序框图。 (4)主要函数代码:列出算法的具体代码。 (5)列出算法中使用指令的含义,比如解释MOV指令的 含义,ADD指令的含义,至少撰写十个指令。 总则:只能使用汇编语言进行编制,不能选用C/C++等高级语言! 题目二:冒泡排序算法 要求:(1)撰写一份word文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。 (2)算法思路:简单介绍冒泡排序算法的基本思想,至少 100字。 (3)算法程序框图:绘制流程图或原理图,从算法的开始 到结束的程序框图。

汇编语言程序设计教程(第3版 卜艳萍)参考答案

汇编语言程序设计教程(第3版) 习题参考答案 第1章汇编语言基础知识 思考与练习 1.计算机系统分哪几个层次?简述计算机系统的硬件结构。 1)数字逻辑层 2) 微体系结构层 3) 指令系统层 4) 操作系统层 5) 汇编语言层 6) 高级语言层 7) 应用层 硬件系统是指构成计算机系统的物理实体或物理装置。它由控制器、运算器、存储器、输入设备和输出设备等部件构成。 2.简述用汇编语言进行程序设计的必要性。 1)程序要具有较快的执行时间,或者只能占用较小的存储容量。例如,操作系统的核 心程序段,实时控制系统的软件,智能仪器仪表的控制程序等。 2)程序与计算机硬件密切相关,程序要直接、有效地控制硬件。例如,I/O接口电路 的初始化程序段,外部设备的低层驱动程序等。 3)大型软件需要提高性能、优化处理的部分。例如计算机系统频繁调用的子程序、动 态连接库等。 4)没有合适的高级语言或只能采用汇编语言的时候。例如,开发最新的处理器程序时, 暂时没有支持新指令的编译程序。 5)汇编语言还有许多实际应用,例如分析具体系统尤其是该系统的低层软件、加密解 密软件、分析和防治计算机病毒等。 3.汉字编码主要分哪几类?每类的功能如何? 汉字编码主要分为四类:汉字输入码、汉字交换码、汉字机内码和汉字字形码。 1)为了能直接使用西文标准键盘进行输入,就必须为汉字设计相应的编码方法,即用 西文标准键盘上的字母数字串表示汉字的编码。目前,汉字输入编码方法主要有三 种:数字编码、拼音编码和字形编码。 2)汉字交换码:在不同汉字信息处理系统间进行汉字交换时所使用的编码,就是国标 码。无论采用哪种方法输入汉字,一旦输入到计算机中,必须采用统一的国标码标 识每个汉字。 3)汉字机内码是汉字在设备或信息处理系统内部最基本的表达形式,是在设备和信息 处理系统内部存储、处理、传输汉字用的编码。 4)字形编码也称为字模码,是用点阵表示的汉字字形代码,它是汉字的输出形式。4.计算机的字长是怎么定义的,试举例说明。 计算机能同时处理二进制信息的位宽定义为计算机的字长。如8086能同时进行16位二进制数据的运算、存储和传输等操作,该机器的字长为16位。 5.在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值? 用相应进制的数值加上进制标记即可。

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)解析

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社) (沈美明,温冬蝉著) 第二章 1.解答:有256个 2.解答:如下图.第一个络子为000B0H字单元,注意,是字单元,第五个格子为000B3H字单元 E5 1E 3C 2A 3.解答: 30022H字节单元内容: ABH 30024H字节单元内容: EFH 30021H字单元内容: AB34H 30022H字单元内容: CDABH 4.解答: 这三个物理地址都是3017AH,说明了不同的段地址和偏移地址对应同一物理地址 5.解答: CS+IP 第一个字的物理地址为: 0AAA40H 6.解答: 条件标志OF,SF,ZF,CF,的值依次为:0,0,0,0 7.下列操作可使用那些寄存器? (1)加法和减法AX,BX,CX,DX,当然,还有这几个通用寄存器的高低位了,如AH ,AL等(2)循环计数 CX (3)乘法和除法DX,AX,AH,AL (4)保存段地址CS ,DS,ES,SS (5)表示运算结果为O FLAGS (6)将要执行的指令地址IP (7) 将要从堆栈取出数据的地址BP,SP,SS 8.可以用来指示存储器地址的寄存器有:BX,SP,BP,DI,CS,DS,SI,ES,SS,IP 9.一一对应; 5--A 4--B 2--C 3--D 12--E 9--F 11--G 10--H 13--I 8--J 7--K 6---L 1--M 15--N 14--O 第三章 1.(1)立即寻址没有 (2)直接寻址7237H (3)使用BX的寄存器寻址没有 (4)使用BX的间接寻址 637DH (5)使用BX的寄存器相对寻址0D5B4H (6)基址变址寻址8E18H (7)相对基址变址004FH 2.根据下列要求,写出相应的汇编指令。 (1)ADD DX,BX (2) ADD AL,[BX][SI] (3) ADD [BX][0B2H], CX (4) MOV AX,2A59H ADD [0524H] ,AX (5) ADD AL ,0B5H

2013年汇编语言程序设计课程设计

2013年汇编语言程序设计课程设计 一、作业题目 2013年汇编语言程序设计大型作业给出了3道题目,供大家凭自己的兴趣自由选择其中之一完成。这3道作业题目如下: 1.通用进制转换程序 2.两位数加减乘除程序 3.高精度乘法程序 二、交付的文档材料 1.程序系统说明书 内容包括: (1)程序系统总体的功能模块调用图及模块功能说明。 (2)程序系统的详细框图(每个子程序的流程图)。 (3)程序界面图。 (4)程序清单。 2.设计和实现的技术特点、不足和改进的建议 3.课程设计的体会。 4.程序源程序和可执行程序 三、评分说明 独立完成:60分,雷同或抄袭者不及格; 设计技术及技巧使用:25分; 文档质量:10分; 按时完成:5分。 可以自主扩充功能,有创新加分。 四、参考书 1.课本 2.《IBM-PC汇编语言程序设计》清华大学出版社 五、交付时间:第十八周的周五。

题目一通用进制转换程序 一、题目要求 实现不同进制之间的相互转换。(常用进制二、八、十、十六进制) 程序功能: 1.能通过键盘输入任一种进制,有相应的提示信息。 例如please input a Binary data: 2. 输入的数据要有容错检测。 例如:输入的二进制数据为1200,则应该出现错误信息提示。(因为2在二进制中是不允许的 3.输出的数据要有进制选择。 例如:请选择输出数据的进制(0: 二进制,1: 八进制……) 二、重点考察 1.用汇编实现简单的算法。 2.用汇编实现简单的数据结构。 3.可执行程序的参数使用。 4.INT 21H系统功能调用中有关显示与输出的操作 5.综合解决问题的能力。

新版汇编语言程序设计习题答案(钱晓捷主编)

新版汇编语言程序设计习题答案(钱晓捷主编) 第一章汇编语言基础知识 1.1、简述计算机系统的硬件组成及各部分作用 1.2、明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB 1.3、什么是汇编语言源程序、汇编程序、目标程序? 1.4、汇编语言与高级语言相比有什么优缺点? 1.5、将下列十六进制数转换为二进制和十进制表示 (1)FFH (2)0H (3)5EH (4)EFH (5)2EH (6)10H (7)1FH (8)ABH 1.6、将下列十进制数转换为BCD码表示 (1)12 (2)24 (3)68 (4)127 (5)128 (6)255 (7)1234 (8)2458 1.7、将下列BCD码转换为十进制数 (1)10010001 (2)10001001 (3)00110110 (4)10010000 (5)00001000 (6)10010111 (7)10000001 (8)00000010 1.8、将下列十进制数分别用8位二进制数的原码、反码和补码表示 (1)0 (2)-127 (3)127 (4)-57 (5)126 (6)-126 (7)-128 (8)68 1.9、完成下列二进制数的运算 (1)1011+1001 (2)1011-1001 (3)1011×1001 (4)10111000÷1001 (5)1011 ∧~1011 (8)1011 ⊕1001 1001(6)1011 ∨1001(7) 1.10 数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码为0dh、0ah对应的是什么字符? 1.11、计算机中有一个“01100001”编码,如果把它认为是无符号数,它是10进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符? 1.12、简述Intel 80x86系列微处理器在指令集方面的发展。 1.13、什么是DOS和ROM-BIOS? 1.14、简述PC机最低1MB主存空间的使用情况。 1.15、罗列8086CPU的8个8位和16位通用寄存器,并说明各自的作用。 1.16、什么是标志,它有什么用途?状态标志和控制标志有什么区别?画出标志寄存器FLAGS,说明各个标志的位置和含义。

西安交通大学17年3月课程考试《汇编语言程序设计》作业考核试.

西安交通大学17年3月课程考试《汇编语言程序设计》作业考核试题 一、单选题(共30 道试题,共60 分。 1. 8086∕8088 CPU中可用作寄存器间址的寄存器是(。 A. BX、SI、DI B. BX、BP、SI、DI C. BX、IP、SI、DI D. BX,DX,SI,DI 正确答案: 2. 8位有符号二进制数能表示的最大十进制数是(。 A. 256 B. 255 C. 128 D. 127 正确答案: 3. 假定(DS=4000H,(DI=0100H,(401OOH=55H,(40101H=AAH,试问执行指令LEA BX,[DI]后,(BX= ( A. 0100H B. 55AAH C. AA55H

D. 4100H 正确答案: 4. A. B. C. D. 正确答案: 5. 4B的字长是(。 A. 8位 B. 16位 C. 32位 D. 64位 正确答案: 6. 若(AX=10101101B,为了使其内容变为01010010B,下列( 指令执行一次即可完成此操作 A. NOT指令 C. AND指令 D. XOR指令

正确答案: 7. 循环指令LOOPNZ终止循环的条件是(。 A. CX=0,且ZF=0 B. CX=0,或ZF=1 C. CX<>0,且ZF=0 D. CX<>0,或ZF=1 正确答案: 8. 8086∕8088微处理器可访问的I ∕O地址空间大小为(。 A. 1KB B. 64KB C. 1MB D. 16MB 正确答案: 9. 8位的微型计算机系统是以16位来表示地址,则该微机系统有(个地址空间。 A. 255 B. 65535 C. 65536 D. 1048576 正确答案:

汇编语言程序设计

《汇编语言程序设计》课程教学大纲 学时:32 学分:2 理论学时:24 实验学时:8 面向专业:电科、电信、通信课程代码:B2700009 先开课程:C语言程序设计课程性质:必修 执笔人:王艳春审定人:陈龙猛、张金政 第一部分:理论教学部分 一、说明 1、课程的性质、地位和任务 本课程属于专业基础课,是电科、电信和通信专业学生必修的核心课程之一,是进一步学习微机原理、操作系统等课程的基础。掌握它有助于提高学生对计算机系统的设计、研究、开发和应用能力。汇编语言是一种面向机器、实践性很强的程序设计语言,必须结合一种实际的计算机来组织教学。因此,本课程选择最广泛使用的IBM PC作为具体的机型来介绍。通过课堂教学和上机实践,培养学生用汇编语言进行编程的思路、方法,养成良好的程序设计习惯,并了解底层I/O 驱动软件的编程方法,熟悉源程序汇编、链接和调试运行的步骤和方法,掌握dos、BIOS功能的调用方法及使用debug工具的调试手段,为后续课的学习打下扎实的基础。 2、课程教学和教改基本要求 课程的目的与教学基本要求:本课程主要介绍汇编语言和宏汇编的基本概念,80X86CPU的指令系统和寻址方式;介绍汇编语言程序格式、伪操作和上机全过程。通过实际例子,详细叙述顺序、分支、循环、子程序等基本程序结构以及程序设计的基本方法和技巧。学习这门课程,应达到以下几个要求: ①掌握汇编语言的基本理论知识和有关概念;掌握用汇编语言编写源程序的基本原则、方法和技巧; ②具有阅读,分析汇编语言程序的能力; ③通过上机实践,能够熟练地掌握汇编语言程序的编辑、汇编、连接、运行 过程及debug工具的调试手段。

《汇编语言程序设计课程设计》课程设计报告模板

课程设计 2013~ 2014学年第二学期 设计题目汇编语言程序设计课程设计-打字练习程序的设计 院(系)计算机科学与信息工程学院 专业计算机科学与技术 班级学号 学生姓名 设计时间2014年 6 月 30 日——2014年7 月 5日 指导教师 提交日期 2014年7月5日

上海应用技术学院课程设计任务书 指导教师(签名):教研室主任(签名):杨晶鑫2014年6 月25 日2014年6 月25 日

目录 上海应用技术学院课程设计任务书..................................................... i错误!未定义书签。目录............................................................................................................................................ i ii 1概述. (1) 1.1基本功能 (1) 1.1.1三级标题 (1) 1.1.2代码的格式 (1) 1.2拓展功能 (2) 1.3其他功能 (4) 2详细设计说明 (5) 2.1原“TYPETEST.ASM”程序结构 (5) 2.2已经实现的功能(修改的、新编写的)程序结构 (5) 2.3欲穷千里目 (5) 2.4更上一层楼 (5) 3对该“打字练习程序”的进一步设想 (6) 3.1春眠不觉晓 (6) 3.2处处闻啼鸟 (6) 3.3夜来风雨声 (6) 3.4花落知多少 (6) 4课程设计总结 (7) 4.1故人西辞黄鹤楼 (7) 4.2烟花三月下扬州 (7) 4.3孤帆远影碧空尽 (7) 4.4惟见长江天际流 (7) 5软件使用说明 (8) 5.1长风破浪会有时 (8) 5.2直挂云帆济沧海 (8) 参考文献 (9) 附录 (10)

相关文档
相关文档 最新文档