汇编语言部分概述(北航熊桂喜)(修订)

上传人:第*** 文档编号:53448118 上传时间:2018-08-31 格式:PPT 页数:33 大小:223KB
返回 下载 相关 举报
汇编语言部分概述(北航熊桂喜)(修订)_第1页
第1页 / 共33页
汇编语言部分概述(北航熊桂喜)(修订)_第2页
第2页 / 共33页
汇编语言部分概述(北航熊桂喜)(修订)_第3页
第3页 / 共33页
汇编语言部分概述(北航熊桂喜)(修订)_第4页
第4页 / 共33页
汇编语言部分概述(北航熊桂喜)(修订)_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《汇编语言部分概述(北航熊桂喜)(修订)》由会员分享,可在线阅读,更多相关《汇编语言部分概述(北航熊桂喜)(修订)(33页珍藏版)》请在金锄头文库上搜索。

1、计算机组成原理与汇编语言 (汇编语言部分概述),北航计算机学院 熊桂喜 Tel :82317605 email:,课程的总体安排教学内容,从指令级理解和实践计算机的基本组成和设计1. 基本组成: 以Intel 80x86为CPU的PC机2. CPU:Intel 80863. 存储系统:PC 内存的组织、寻址4. 指令系统设计:Intel 8086的指令系统5. I/O:PC机的I/O部分 汇编级的程序设计1. 指令、伪指令、汇编程序的基本结构2. 围绕CPU,内存系统间的基本编程技术:算术运算、逻辑运算代码转换、串处理3. I/O程序设计:I/O直接编程, 基本输入输出,中断程序设计文件系统的

2、底层编程,第一部分:基础知识,数制、代码与计算机输入/输出的基本过程 二进制、十进制、十六进制数在计算机中的作用 数值、代码在计算机中的作用 ASCII码和GB汉字编码 IBM-PC计算机组织 PC机的基本组成 Intel 8086 CPU 存储器的操作:寻址和堆栈操作,一、数制、代码与计算机输入输出的基本过程,数制:二进制(十六进制)、十进制 二进制数(值)是计算机进行处理、运算的数制,是和处理器、存储器密切相关的 十六进制是人看待机器中二进制数的数制,是系统软件常见的数制 十进制是人进行计算的数制,计算机一般不能直接进行十进制的运算 计算机中的“值”一般都是值二进制,或者说是十六进制的因此

3、,数值:255D,0FFH,11111111B,在计算机中都是二进制的,也不需要进行转换,只有在进行输入/输出,与人打交道时,才需要进行转换 数(值)与代码: 计算机中处理或运算时,需由“值”与“值”进行运算(二进制运算) 计算机从“人”那里输入(如从键盘)时,一般采用十进制,而且输入的是代码 计算机为“人”输出(如在显示器上显示运算结果)时,一般采用十进制,输出的是代码输入 运算(处理) 输出ASCII码 二进制值 ASCII码(十进制) (16位) (十进制),转换,转换,典型的 输入输出 过程,计算机输入输出的基本过程(数值与代码的转换),例:在16位计算机上进行1212=121的过程

4、(1) 输入:1 2 31h,32h (2) ASCII码转换为值 0001h, 0002h (3) 十进制至二进制 000Ch (5) 输入:1 2 31h,32h (6) ASCII码转换为值 0001h, 0002h (7) 十进制至二进制 000Ch (8) 做乘法: 000Ch 000Ch 0079h(121D) (9) 输出(二 十的ASCII) 121(31h,32h,31h),ASCII码和汉字的GB编码,ASCII码: 8位(高位为0)的字符、数字编码,占一个字节美国信息交换标准码AZ 41h 5Ah 09 31h 39haz 61h 7Ah 空格20h 0 00h换行0Ah

5、 回车 0Dh 换页 0Ch 文件尾 1AhDOS(Windows)文本换行0dh,0ah; Unix文本换行0ah 汉字GB码:双字节双高位为1的汉字标点、符号和汉字的国标(GB2312-80)编码。分区、位分别编码,共9个汉字符号区(01-09),72个汉字区(16-97)。每个区内有94个字,共6763(6768,40区空了5个),也称“区位码”。、 A1A2h 啊 B0A1h ;字符区从A1开始,汉字区 从B0开始,区内位编码从A1开始,其他编码(可选项),BCD码,压缩的BCD码 Unicode: 对全部语种的双字节编码 BIG 5码:我国台湾省的汉字编码(13000多字) 国标汉字

6、大字符集的编码 ASCII码与Unicode的转换 GB与BIG5的转换,二、IBM-PC计算机组织,2.1 PC机的基本结构PC三大部分: 中央处理器(CPU)、存储器、输入/输出(I/O)子系统一般计算机的五大部分: 运算器、存储器、控制器、输入设备、输出设备,CPU,总线控制 逻辑,存储器,接口,接口,I/O设备,I/O设备,CPU: 16位的8086,32位的80386等,由运算器和控制器组成 存储器:包括RAM, ROM等,寻址能力由地址总线确定 控制器及总线控制逻辑:控制、取指、译码、取数、执行、存数等 I/O子系统:由大容量外存、一般I/O设备组成(一般通过接口卡连接);,2.2

7、 中央处理机(以8086为主),8086 CPU的三部分:ALU, 控制逻辑,寄存器组,通用寄存器 AX,BX,CX,DX SP,BP,SI,DI,段寄存器 CS,DS,ES,SS,指令指针IP,控制逻辑 及指令处理逻辑,标志寄存器PSW,ALU,8086CPU的基本组成部分,字长(ALU, 寄存器) : 16位 地址:20位(寻址能力为1 MB) 数据总线:16位(8086), 8位(8088) 最早的PC以8088为主,8086/8088更进一步的结构,Intel 8086的寄存器,AX,BX,CX,DX16位,可分为两个8位: AH, AL; BH,BL;CH,CL; DH,DL SP1

8、6位堆栈指针 BP16位参数指针(基址指针) SI,DI字符串指针,SI指向源串,DI指向目的串 CS代码段寄存器 DS数据段寄存器 SS堆栈段寄存器 ES附加段寄存器 IP 指令指针(指令计数器) PSW标志寄存器,SS:SP组成当前堆栈 CS:IP组成当前可执行点,PSW: CF进位标志 SF 符号标志 ZF结果为零标志DF地址递增/减方向标志ZF=1,运算结果为0;ZF=0,运算结果不为0,PSW标志寄存器:综合了解,OF 溢出标志 DF 方向标志 SF 符号标志 IF 中断标志 ZF 零标志 TF 陷阱标志 CF 进位标志 PF 奇偶标志 AF 辅助进位标志,15 14 13 12 1

9、1 10 9 8 7 6 5 4 3 2 1 0,OF DF IF TF SF ZF,AF PF CF,在Debug下的含义:CY NC; PE OP;AC NC; ZR NZNG PL; EI DI; DN UP; OV NV,2.3 存储器(8086可寻址的1MB 内存为主),20根地址线决定了寻址能力为1 MB 内存中基本单元为1个字节(8位),线性顺 序存放;两个字节组合为1个字(16位);两个字组合为一个双字(32位);在内存中可任意组合存放字节、字、双字。在内存中存放1个字时,低字节在前,高字节在后;存放双字时,低字在前,高字在后。,内存图,0,1MB,存储单元,地址,00000h

10、,00001h,FFFFFh,位 7 6 5 4 3 2 1 0,字节,内存中字节、字、双字的存取,例题:CL中有字节A,BX中有字2000h,DX:AX中有双字12345678h。(1) 依次将CL,BX,DX:AX中的内容按照字节、字、双字的结构放入内存30000h处,内存图,0,1MB,存储单元,地址,00000h,30000h30001h30002h30003h30004h30005h30006h30007h,FFFFFh,41h 00h 20h 78h 56h 34h 12h,(2) 将内存30000处的一个字取出送入BX中,将30002处的一个双字送入DX:AX中;则 BX=004

11、1h,BH=00h,BL=41hAX=7820h,AH=78h,AL=20hDX=3456h,DH=34h,DL=56h新的字为4100h新的双字为34567820h,逻辑地址和物理地址,用16位地址寄存器(指针)来表示地址时,最多可寻址64 KB。要表示20位地址,需要对内存进行分段,然后用一个寄存器(段寄存器)表示段地址,用另一个寄存器(指针寄存器)表示段内地址(偏移值)。 可将1MB内存分段,每段最大64KB。 物理地址用20位二进制表示,且与内存单元一一对应的地址 逻辑地址用段地址和偏移值组合来表示的内存地址。常写成“段地址:偏移值”的形式。 段地址16D(10h) + 偏移地址 =

12、物理地址一个物理地址可能有多个逻辑地址的组合。 典型的程序在内存中执行时,一般都有代码段、数据段、堆栈段,其段地址分别用CS,DS,SS来存放(指向)。,19 0,物理 地址,16 4 3 0,偏移 地址,16 0,段地址,物理地址 12345h,1000h:2345h 1001h:2335h 1002h:2325h 1234h:0001h,逻辑地址组合,2.4 堆栈的组成和操作,堆栈是内存中由SS和SP确定的一块特殊的内存区域。它严格按照“先进后出”的方式工作。例如:SS=2000h,SP=0100h则堆栈区域为:2000h:0000h至2000h:00FFh栈顶指针值为0100h压栈操作:

13、 出栈操作:PUSH OP(操作数) POP OP(操作数)则(1) SP=SP-2 则:(1) OP SS:SP(2) OP SS:SP (2) SP=SP+2,20000h200FFh,SS 2000h,SP 0100h,2000h:0000h 2000h:00FFh,压 栈 方 向,栈顶,第二部分:寻址方式和指令系统,指令格式与寻址方式 8086指令的汇编语言格式 与数据有关的6种寻址方式 与转移指令有关的4种寻址方式 8086的指令系统 MOV指令、数据通路与指令规则 传送、算术、逻辑、移位指令 条件与转移,1.1 指令格式与寻址方式,Intel 8086/8088的指令格式 OP Det, Src ;由 “源” 至 “目的” ,动宾词组结果在目的操作数中可以有2个,1个,0个操作数 指令编码的要素:操作码字节,寻址方式字节,段超越字节,操作数指令长度由1-7个字节组成,变长指令编码 寻址方式:指令中寻找操作数的方式 与数据有关的6种立即寻址,寄存器寻址直接寻址,间接寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址 与转移有关的4种段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址 与I/O有关的2种直接I/O端口寻址方式寄存器DX间接寻址方式 MOV Dst, Src ;做好MOV”体操”,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号