当前位置:首页 >> 其它课程 >> 北航计算机系汇编语言课件0.机器基础知识

北航计算机系汇编语言课件0.机器基础知识


计算机组成原理与汇编语言
(汇编语言部分)

北航计算机学院 Tel :82317605

熊桂喜

email:xiongguixi@buaa.edu.cn

课程的总体安排——教学内容
?从指令级理解和实践计算机的基本组成和设计
1. 基本组成: 以Intel 80

x86为CPU的PC机
2. CPU:Intel 8086 3. 存储系统:PC 内存的组织、寻址

4. 指令系统设计:Intel 8086的指令系统
5. I/O:PC机的I/O部分

?汇编级的程序设计
1. 指令、伪指令、汇编程序的基本结构
2. 围绕CPU,内存系统间的基本编程技术:算术运算、逻辑运算 代码转换、串处理

3. I/O程序设计:I/O直接编程, 基本输入输出,中断程序设计
文件系统的底层编程

课程的总体安排——教材、实验环节
?教材及参考书
? 教材:《IBM PC汇编语言程序设计》(一、二版均可),清华大学出版社 沈美明编著 ? 参考书: 1.《IBM PC汇编语言程序设计》,科学出版社,熊桂喜 编著 2.《Intel微处理器全系列:结构、编程与接口》,电子工业出版 社,金惠华 等译

?上机作业
? 在TASM或MASM下编程、调试的基本技术 ? 基本程序设计 + I/O程序设计编程:6-8道上机题

? 1-2道综合设计题(Project 作业)

?考核考试
? 笔试:与组织机构部分统一进行,闭卷考试 ? 考核:上机作业

第一部分:基础知识
一.数制、代码与计算机输入/输出的基本过程
1. 二进制、十进制、十六进制数在计算机中的作用

2. 3.

数值、代码在计算机中的作用 ASCII码和GB汉字编码

二.IBM-PC计算机组织
1. 2. 3. PC机的基本组成 Intel 8086 CPU 存储器的操作:寻址和堆栈操作

一、数制、代码与计算机输入输出的基本过程
? 数制:二进制(十六进制)、十进制
? 二进制数(值)是计算机进行处理、运算的数制,是和处理器、存储器密切相关的
? 十六进制是人看待机器中二进制数的数制,是系统软件常见的数制 ? 十进制是人进行计算的数制,计算机一般不能直接进行十进制的运算 ? 计算机中的“值”一般都是值二进制,或者说是十六进制的 因此,数值:255D,0FFH,11111111B,在计算机中都是二进制的,也不需要进行转 换,只有在进行输入/输出,与人打交道时,才需要进行转换

? 数(值)与代码:
? 计算机中处理或运算时,需由“值”与“值”进行运算(二进制运算) ? 计算机从“人”那里输入(如从键盘)时,一般采用十进制,而且输入的是代码

? 计算机为“人”输出(如在显示器上显示运算结果)时,一般采用十进制,输出 的是代码

转换
? 输入 ASCII码 (十进制) 运算(处理) 二进制值 (16位)

转换
输出 ASCII码 (十进制)

典型的 输入输出 过程

计算机输入输出的基本过程(数值与代码的转换)
例:在16位计算机上进行12×12=121的过程

(1) 输入:’1’ ‘2’
(2) ASCII码转换为值 (3) 十进制至二进制 (5) 输入:’1’ ‘2’ (6) ASCII码转换为值

31h,32h
0001h, 0002h 000Ch 31h,32h 0001h, 0002h

(7) 十进制至二进制
(8) 做乘法: 000Ch× 000Ch (9) 输出(二 十的ASCII)

000Ch
0079h(121D) ‘1’’2’’1’(31h,32h,31h)

ASCII码和汉字的GB编码
?ASCII码:
8位(高位为0)的字符、数字编码,占一个字节
41h — 5Ah 61h — 7Ah 回车 — 0Dh ‘0’—’9’ 空格—20h 31h — 39h ‘\0’ — 00h

美国信息交换标准码 ‘A’—’Z’ ‘a’—’z’ 换行—0Ah

换页 — 0Ch 文件尾 — 1Ah

DOS(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多字) ?国标汉字大字符集的编码 ?ASCII码与Unicode的转换 ?GB与BIG5的转换

二、IBM-PC计算机组织
2.1 PC机的基本结构
PC三大部分: 中央处理器(CPU)、存储器、输入/输出(I/O)子系统
一般计算机的五大部分: 运算器、存储器、控制器、输入设备、输出设备
存储器 接口

I/O设备

CPU

总线控制 逻辑



接口

CPU: 16位的8086,32位的80386等,由运算器和控制器组成

存储器:包括RAM, ROM等,寻址能力由地址总线确定 控制器及总线控制逻辑:控制、取指、译码、取数、执行、存数等 I/O子系统:由大容量外存、一般I/O设备组成(一般通过接口卡连接);



I/O设备

2.2 中央处理机(以8086为主)
? 8086 CPU的三部分:ALU, 控制逻辑,寄存器组

通用寄存器 AX,BX,CX,DX SP,BP,SI,DI

段寄存器 CS,DS,ES,SS 指令指针IP

8086CPU

的 基 本 组 成 部 分

ALU
控制逻辑 及指令处理逻辑

标志寄存器PSW 字长(ALU, 寄存器) : 16位

地址:20位(寻址能力为1 MB) 数据总线:16位(8086), 8位(8088)

最早的PC以8088为主

8086/8088更进一步的结构

Intel 8086的寄存器
1. AX,BX,CX,DX——16位,可分为两个8位: AH, AL; BH,BL;CH,CL; DH,DL 2. 3. 4. 5. SP——16位堆栈指针 BP——16位参数指针(基址指针) SI,DI——字符串指针,SI指向源串,DI指向目的串 CS——代码段寄存器 SS——代码段寄存器 6. DS——数据段寄存器 ES——附加段寄存器

IP ——指令指针(指令计数器)

7.

PSW——标志寄存器
SS:SP组成当前堆栈 CS:IP组成当前可执行点

PSW: CF—进位标志 SF— 符号标志 ZF—结果为零标志 DF—地址递增/减方向标志 ZF=1,运算结果为0;ZF=0,运算结果不为0

标志寄存器:综合了解

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

OF DF IF TF SF ZF OF SF ZF CF AF 溢出标志 符号标志 零标志 进位标志 辅助进位标志

AF

PF

CF

DF 方向标志 IF 中断标志 TF 陷阱标志 PF 奇偶标志

在Debug下的含义:CY NC; PE OP;AC NC; ZR NZ NG PL; EI DI; DN UP; OV NV

2.3 存储器(8086可寻址的1MB 内存为主)
? 20根地址线决定了寻址能力为1 MB

内存图
地址 存储单元

? 内存中基本单元为1个字节(8位),线性顺
序存放;两个字节组合为1个字(16位); 两个字组合为一个双字(32位);在内存中
00000h 00001h 0

可任意组合存放字节、字、双字。
位 7 6 5 4 3 2 1 0

字节

? 在内存中存放1个字时,低字节在前,
高字节在后;存放双字时,低字在前, 高字在后。

?

?

FFFFFh 1MB

内存中字节、字、双字的存取
例题:CL中有字节‘A’,BX中有字2000h, DX:AX中有双字12345678h。 (1) 依次将CL,BX,DX:AX中的内容 按照字节、字、双字的结构放入 内存30000h处

内存图
地址 存储单元

00000h

0

?
30000h 30001h 30002h

?
41h 00h 20h 78h 56h 34h 12h

(2) 将内存30000处的一个字取出送 入BX中,将30002处的一个双字 送入DX:AX中; 则 BX=0041h,BH=00h,BL=41h AX=7820h,AH=78h,AL=20h DX=3456h,DH=34h,DL=56h 新的字为4100h 新的双字为34567820h

30003h 30004h
30005h 30006h 30007h

? FFFFFh 1MB

逻辑地址和物理地址
?用16位地址寄存器(指针)来表示地址时, 最多可寻址64 KB。要表示20位地址, 需要对内存进行分段,然后用一个寄存器 (段寄存器)表示段地址,用另一个寄存器
19
物理 地址

0

16 0 (指针寄存器)表示段内地址(偏移值)。 段地址 ?可将1MB内存分段,每段最大64KB。 16 43 0 ?物理地址——用20位二进制表示,且与 偏移 内存单元一一对应的地址 地址 ?逻辑地址——用段地址和偏移值组合来 表示的内存地址。常写成“段地址:偏 物理地址 12345h 移值”的形式。 1000h:2345h ?段地址×16D(10h) + 偏移地址 = 物理地址 逻 1001h:2335h 辑 一个物理地址可能有多个逻辑地址的组合。 地 1002h:2325h ?典型的程序在内存中执行时,一般都有 址 组 ??? 代码段、数据段、堆栈段,其段地址分别 合 1234h:0001h 用CS,DS,SS来存放(指向)。

2.4 堆栈的组成和操作
?堆栈是内存中由SS和SP确定的一块特殊的内存区域。它严格按照“先进
后出”的方式工作。
例如: SS=2000h,SP=0100h 则堆栈区域为: SS 2000h
20000h
2000h:0000h

2000h:0000h
至 2000h:00FFh 栈顶指针值为0100h ? 压栈操作: PUSH OP(操作数) 则(1) SP=SP-2 SP 0100h 出栈操作: POP

??

压 栈 方 向
200FFh 栈顶

2000h:00FFh

OP(操作数) SS:[SP]

则:(1) OP

(2) OP

SS:[SP]

(2) SP=SP+2


更多相关文档:

北航计算机学院 汇编语言2009复习提要

0.0分 (0人评价)暂无用户评价 我要评价 贡献者等级:初试锋芒 二级 格式:doc...2008-2009+北航计算机考研... 2页 10财富值 北航计算机系汇编语言课件... 暂无...

北航汇编语言

0.0分 (0人评价)暂无用户评价 我要评价 ...北航计算机系汇编语言课件... 暂无评价 9页 免费 ...在微程序控制方式中每一条机器指令用一条微指令解释...

北航版大学计算机基础题库

2012年北航MTI考研试题回... 2页 免费 大学计算机基础题库 网络... 10页 1...执行汇编语言编写的程序 C、不同型号的计算机具有相同的机器语言 D、机器语言...

计算机基础知识试题及答案

搜试试 3 帮助 全部 DOC PPT TXT PDF XLS ...暂无评价|0人阅读|0次下载|举报文档计算机基础知识试题...A.机器语言 B.汇编语言 C.高级语言 D.数据库语言...

16秋北航《汇编语言》在线作业一

16秋北航汇编语言》在线作业一_管理学_高等教育_教育专区。北航汇编语言》...END 语句在汇编后要产生机器码 正确答案: 3. 执行后使 BX=0 的同时也使 ...

汇编语言上机步骤

搜 试试 7 帮助 全部 DOC PPT TXT PDF XLS ...汇编语言上机步骤_电脑基础知识_IT/计算机_专业资料。...0 DEC CX ;不影响 CF JNZ L0 MOV SUM , AL ...

免费15秋北航《汇编语言》在线作业一答案满分

暂无评价|0人阅读|0次下载免费15秋北航汇编语言》在线作业一答案满分_教育学_高等教育_教育专区。免费 15 秋北航汇编语言》在线作业一答案满分 D47611703D83...

北航汇编语言在线作业

暂无评价|0人阅读|0次下载|举报文档 北航汇编语言在线...在微程序控制方式中每一条机器指令用一条微指令解释...北航计算机系汇编语言课... 暂无评价 9页 免费 北...

汇编语言基础实验

汇编语言基础实验_电脑基础知识_IT/计算机_专业资料...用 E 命令向内存中写入机器码,用 U 反汇编命令...14. 用命令 D 观察内存 FFFF0H~FFFFFH 的内容,...
更多相关标签:
北航计算机系 | 北航计算机系课程 | 北航机器人研究所 | 北航机器人所 | 北航空气动力学课件 | 北航机器人 | 北航 机器学习 | 北航理论力学课件 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com