欢迎来到天天文库
浏览记录
ID:13146536
大小:256.50 KB
页数:76页
时间:2018-07-20
《汇编语言程序设计简ppt培训课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章汇编语言程序设计(AssumablyLanguageProgramming)第3章汇编语言程序设计本章主要教学内容8086/8088寄存器组织寻址方式指令系统常用DOS系统功能调用汇编语言程序设计方法微处理器CPU存储器RAM接口电路时钟外存I/O设备接口电路存储器ROM数据总线(双向)地址总线(单向)控制总线3.1微型计算机的系统组成CPU的结构及工作原理数据缓冲器ATEMF指令译码器控制信号发生器地址缓冲器内部数据总线IR外来控制信号时钟地址总线A15~A0内部地址总线多路开关+/-1
2、电路PCSPALU调整电路控制信号通用寄存器组数据总线D7~D0把要运行的程序和数据存放在内存储器(内存或主存)中,根据PC(指定主存中的单元地址)值从主存中取出一条指令,pc+1pc,指令经DB送往IR,指令译码:操作码:指令的功能操作数:操作对象控制信号根据译码器的输出和时钟配合下,控制各部件动作。CPU的结构及工作原理微型计算机系统:地址译码器ARDR0000H0001H0002HFFFEHFFFFHABDB存储器的读/写读写过程读(R)地址ABAR译码选择存储单元D
3、RDB写(W)1.地址ABAR译码选择存储单元2.DBDR存储单元数据数据存储器的读/写物理地址形成过程逻辑地址段寄存器0000加法器20位物理地址偏移地址段地址8086CPU寄存器组织AHALBHBLCHCLDHDLAXBXCXDXCSDSESSSSPBPSIDIIPFLAGS通用寄存器指针与变址寄存器指令指针与标志寄存器段寄存器OFFLAGS(16bit)FLAGS标志寄存器DFCFIFTFSFPFZFAF9位有效位状态标志位6位控制标志位3位(TF、IF、DF)机器指令指令系统机器语言程序3
4、.2计算机语言基本概念汇编语言指令格式标号操作码(助记符)操作数注释labelopcodeoperand;comment汇编语言指令格式标号表示指令所在地址可作程序转入的引导符号可标识程序块的功能注:不允许多个地址用一个标号重复定义操作码注:以A、B、C、D、E、F开头的数,前面应加0作为引导操作数单操作数和双操作数注释注释内容在指令末尾用分号引出,起补充说明作用汇编语言指令格式寻址方式指令执行时首先要找到操作数,寻找操作数存放地址的各种方式称“寻址方式”物理地址、有效地址(逻辑地址或偏
5、移地址)、段地址寄存器和存储器操作数类型立即操作数:只能作源操作数寄存器操作数:作源操作数和目的操作数存储器操作数:作源操作数和目的操作数8086/8088的寻址方式七种寻址方式寄存器寻址寄存器间接寻址寄存器相对寻址基址变址寻址相对基址加变址寻址立即数寻址直接寻址8086/8088的寻址方式寄存器寻址操作数在寄存器中例:INCAXMOVAX,BX8086/8088的寻址方式寄存器间接寻址寄存器的内容为操作数的偏移地址EA,操作数存放在存储器中间接寻址的寄存器:SI、DI、BP、BX
6、1.若指令中寄存器是BX、DI或SI,则操作数在当前数据段中,此时PA=DS左移四位+EA2.若指令中寄存器是BP,则操作数在当前堆栈段中,此时PA=SS左移四位+EA8086/8088的寻址方式例:MOVAX,[BX]例:MOVAX,[BP]8086/8088的寻址方式寄存器相对寻址又称“直接变址寻址”,操作数的偏移地址EA是一个基址或变址寄存器的内容和指令中给出的8位或16位位移量之和。EA=8086/8088的寻址方式[SI]+X[DI]+X[BX]+X[BP]+XPA=DS左移四位
7、+EAPA=SS左移四位+EA注:X是8位或16位位移量例:MOVAX,NAME[BX]ADD5[BP],BX8086/8088的寻址方式基址变址寻址8086/8088的寻址方式[BX]+[SI][BX]+[DI][BP]+[SI][BP]+[DI]PA=DS左移四位+EAPA=SS左移四位+EAEA=例:MOVAX,[BX][DI]MOV[BX+SI],CX相对基址加变址寻址8086/8088的寻址方式[BX]+[SI]+X[BX]+[DI]+X[BP]+[SI]+X[BP]+[DI]+XPA
8、=DS左移四位+EA+XPA=SS左移四位+EA+XEA=例:MOVAX,80[BX+SI]MOV-6[BP+DI],AX注:X是位移量,其值是8位或16位二进制补码表示的有符号数立即数寻址8086/8088的寻址方式操作数直接放在指令中,是8位或16位二进制补码表示的常数操作数的存放地址就是指令操作码的下一单元例:MOVCX,100MOVDL,’A’注:双操作数指令中且作源操作数直接寻址8086/8088的寻址方式注:当需要对某个存放在存储器中的变量进行处理时,可以先用直接寻
此文档下载收益归作者所有