1、汇编语言程序设计汇编语言程序设计(Assembly Language Programming)主讲教师主讲教师 蒋永国蒋永国()(信息学院南楼信息学院南楼,B313室室)实验教师实验教师 徐惠敏徐惠敏()(信息学院南楼信息学院南楼,B420室室)第第2章章 80 x86计算机组织计算机组织 计算机系统计算机系统 存储器存储器 中央处理机中央处理机 外部设备外部设备1.计算机系统计算机系统硬件:硬件:中央处理机中央处理机 CPU总线控制 逻辑接 口接 口存储器存储器大容量存储器I/O设备I/O子系统子系统系统总线系统总线.软件:软件:系统软件 用户软件2.存储器存储器存储单元的存储单元的地址地址
2、和和内容内容:存储器以字节(8 bit)为编程单位 每个字节单元都有唯一的地址编码 地址用无符号整数来表示(编程用十六进制表示)一个字要占用相继的两个字节 低位字节存入低地址,高位字节存入高地址 字单元地址用它的低地址来表示 机器以偶地址访问(读/写)存储器存储器的逻辑地址与物理地址存储器的逻辑地址与物理地址 10011111 00100110 01001000逻辑地址逻辑地址段地址段地址:偏移地址偏移地址 1000:0000H 1000:0001H1000:0002H1000:0003H1000:0004H1000:0005H 物理地址物理地址10000H10001H10002H10003H
3、 10004H10005H 10000011 01011100 10100010字节内容(10000H)9FH;(10001H)26H字内容 (10000H)269FH;(10001H)4826H访问两次内存存储器的分段:存储器的分段:20 根地址线:地址范围 00000H FFFFFH(1MB)机器字长16位:仅能表示地址范围 0000H FFFFH (64KB)小段:每16个字节为一小段,共有64K个小段 小段的首地址 00000 H 0000F H 00010 H 0001F H 00020 H 0002F H FFFF0 H FFFFF H 段起始地址:小段首地址段的大小:64K 范围
4、内的任意字节存储器的存储器的逻辑逻辑分段:分段:存储器存储器64KB代码01500H42000H1CD00H0150H4200H1CD0H段寄存器段寄存器CSDSSSES64KB堆栈64KB数据 64KB附加数据B0000HB000H 存储器存储器 8KB代码 2KB数据 256堆栈02000H04800H04000H0200H0400H0480HCSDSSS优点优点:允许程序在存储器内重定位;允许程序在存储器内重定位;允许实模式程序在保护模式下运行;允许实模式程序在保护模式下运行;有利于程序和数据的分离。有利于程序和数据的分离。物理地址物理地址=16 段地址段地址+偏移地址偏移地址 16 位
5、 段 地 址 16 位 偏 移 地 址 0000+20 位 物 理 地 址例:(DS)=2100H,(BX)=0500H (PA)=21000H+0500H =21500H 3.中央处理器中央处理器8086/8088寄存器组:寄存器组:数据寄存器数据寄存器:指针及变址寄存器指针及变址寄存器:SP、BP、SI、DI段寄存器段寄存器:CS、DS、SS、ES控制寄存器控制寄存器:IP、FLAGSCPU组成:算术逻辑部件ALU、控制器、寄存器 AX BX CX DX AH AL BH BL CH CL DH DL 高8位 低8位标志寄存器标志寄存器(FLAGS/PSW)15 14 13 12 11 1
6、0 9 8 7 6 5 4 3 2 1 0 条件码标志:控制标志:OF 溢出标志 DF 方向标志 SF 符号标志 IF 中断标志ZF 零标志 TF 陷阱标志CF 进位标志AF 辅助进位标志PF 奇偶标志OF DF IF TF SF ZF AF PF CF例:ADD AX,BX JO/JC ERROR?寄存器与存储器的比较:寄存器与存储器的比较:寄寄 存存 器器 存存 储储 器器 在在CPU内部内部 在在CPU外部外部访问速度快访问速度快 访问速度慢访问速度慢容量小,成本高容量小,成本高 容量大,成本低容量大,成本低用名字表示用名字表示 用地址表示用地址表示没有地址没有地址 地址可用各种方式形成
7、地址可用各种方式形成4.外部设备外部设备 外部设备与主机(CPU 和存储器)的通信是通过外设接口(Interface)进行的,每个接口包括一组寄存器。数据寄存器:存放外设和主机间传送的数据状态寄存器:保存外设或接口的状态信息命令寄存器:保存CPU发给外设或接口的控制命令 外设中每个寄存器有一个端口(Port)地址,构成一个独立于内存的 I/O 地址空间:0000H FFFFH80 x86的寄存器结构的寄存器结构80 x86的程序可见寄存器组的程序可见寄存器组通用寄存器通用寄存器专用寄存器专用寄存器段寄存器段寄存器 AH AX AL AH AX AL BH BX BL BH BX BL CH C
8、X CL CH CX CL DH DX DL DH DX DL SP SP BP BP SI SI DI DI IP IP FLAGS FLAGS CS CS DS DS SS SS ES ES8086/8086/8088/8088/8028680286 寄寄 存存 器器EAXEAXEBXEBXECXECXEDXEDXESPESPEBPEBPESIESIEDIEDIEIPEIP EFLAGS EFLAGS FSFSGSGS 31 16 15 8 7 0OFOF DFDF IFIF TFTF SFSF ZFZF AFAF PFPF CFCF 8086/8088OFOF DFDF IFIF TFT
9、F SFSF ZFZF AFAF PFPF CFCF IOPLIOPLNTNT 80286 RFRF OFOF DFDF IFIF TFTF SFSF ZFZF AFAF PFPF CFCF IOPLIOPLNTNTVMVM 80386 RFRF OFOF DFDF IFIF TFTF SFSF ZFZF AFAF PFPF CFCF IOPLIOPLNTNTVMVMACAC 80486 RFRF OFOF DFDF IFIF TFTF SFSF ZFZF AFAF PFPF CFCF IOPLIOPLNTNTVMVMACACIDID VIPVIPVIFVIF31 30 29 28 27 26
10、 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0Pentium80 x86的标志寄存器的标志寄存器 (P.23)IOPL:I/O特权级特权级 VIP:虚拟中断未决标志:虚拟中断未决标志 NT:嵌套任务标志嵌套任务标志 VIF:虚拟中断标志:虚拟中断标志 RF:重新启动标志重新启动标志 VM:虚拟:虚拟8086模式位模式位 AC:对准检查方式位对准检查方式位 ID:标识标志标识标志 支持多任务处理功能支持多任务处理功能支持虚拟存储器特性支持虚拟存储器特性 保护模式下的保护模式下的80 x86保护模式下的存储器寻址保护模式下的存储器寻址 所选存储单元所选存储单元 描描 述述 符符64描述符表描述符表所选段所选段存存 储储 器器段基地址段基地址32选择器选择器16偏移地址偏移地址 32逻辑地址逻辑地址
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。