收藏 分享(赏)

IBM_PC汇编语言程序设计.ppt

上传人:wspkg9802 文档编号:5957373 上传时间:2019-03-22 格式:PPT 页数:28 大小:1.15MB
下载 相关 举报
IBM_PC汇编语言程序设计.ppt_第1页
第1页 / 共28页
IBM_PC汇编语言程序设计.ppt_第2页
第2页 / 共28页
IBM_PC汇编语言程序设计.ppt_第3页
第3页 / 共28页
IBM_PC汇编语言程序设计.ppt_第4页
第4页 / 共28页
IBM_PC汇编语言程序设计.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、IBMPC汇编语言 程序设计(第2版),清华大学计算机系列教材 沈美名 温冬蝉 编著,计算机语言的发展,机器语言,FORTRAN BASIC COBOL PASCAL C/C+ JAVA .,汇编语言的特点 面向机器的低级语言,通常是为特定的计算机或计算机系列专门设计的。保持了机器语言的优点,具有直接和简捷的特点。可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。 经常与高级语言配合使用,应用十分广泛。,#include “stdafx.h“#include “stdio.h“int main(int ar

2、gc, char* argv) int a,b,c;a=1; b=2;c=a+b;printf(“c=%dn“,c);return 0;,编程实现 c =a+b,并在屏幕上显示出结果。,例1,编译后的目标文件达到3.59KB,data segment a db ? b db ? c db ? string db c=$ data endscode segment main proc farassume cs:code, ds:data, es:data start:push dssub ax,axpush axmov ax,datamov ds,axmov es,ax,mov a,1mov b

3、,2mov al,aadd al,bmov c,allea dx,stringmov ah,09int 21hadd c,30hmov dl,cmov ah,2int 21hmov dl,0ahint 21hmov dl,0dhint 21hret main endp code endsend start,例 2. C = a + b,汇编后的目标文件只有208字节,汇编语言的应用 系统程序、效率代码、I/O驱动程序70%以上的系统软件是用汇编语言编写的。某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写的。高级绘图程序、视频游戏程序一般是用汇编语言编写的。,教师建议 目标:了解汇编

4、语言的特性及其编程技术,建立起“机器”和“程序”、“空间”和“时间”的概念。 建议:充分注意“汇编”课实践性强的特点,多读程序,多写程序,多上机调试程序,熟悉PC机的编程结构,掌握汇编语言及其程序设计的基本概念、方法和技巧。,参考资料 1.80X86汇编语言程序设计沈美明 温冬婵 清华大学出版社 2.IBM PC 汇编语言与程序设计 PETER ABEL 编著 第4版 清华大学出版社.PRENTICE HALL第5版 人民邮电出版社 3. IBM PC 汇编语言与程序设计例题习题集温冬婵 沈美明 清华大学出版社,教学日历: 第一周 绪论 数制 数制之间的转换 数和字符的表示 运算 第二周 计算

5、机组织 CPU 存储器 外部设备 寻址方式 第三周 指令系统(1) 第四周 指令系统(2) BIOS和DOS调用 第五周 上机过程 完整段定义和简化段定义格式 伪操作 第六周 循环与分支程序设计 子程序结构 第七周 高级汇编语言技术 I/O程序设计 第八周 中断程序设计 复习,第1章 基 础 知 识, 数制 数制之间的转换 运算 数和字符的表示,预 备 知 识,存储容量 1K = 1024 = 210 (Kilo) 1M = 1024K = 220 (Mega) 1G = 1024M = 230 (Giga)1个二进制位:bit (比特) 8个二进制位:Byte (字节) 1Byte = 8b

6、it 2个字节: Word (字) 1Word = 2Byte = 16bit,1. 数 制,二进制: 基数为2,逢二进一11012 = 12 3 + 12 2 + 12 0 = 1310 十六进制:基数为16,逢十六进一1001, 0001, 1000, 01119 1 8 7= 9 16 3 + 1 16 2 + 8 16 1 + 7 16 0,2. 数制之间的转换,二进制 十六进制十进制 二进制十进制 十六进制,降幂法 除法, 二进制 十六进制0011 0101 1011 1111 3 5 B F 0011,0101,1011,1111B = 35BFHA 1 9 C 1010 0001

7、 1001 1100 A19CH = 1010,0001,1001,1100B,1011B = 23+21+20=11D降幂法 除法例: 27D = ? B27 11 3 3 1- - - -2n 16 8 4 2 11 1 0 1 1 27D = 11011B, 二进制 十进制, 十六进制 十进制BF3CH = 11163 +15162 +3161 +12160= 48956D降幂法 除法例:399D = ? H399 143 15 399/1624/161/16 0 - - - 16n 256 16 1 F 8 1 1 8 F 399D = 18FH, 算术运算二进制数:逢二进一 借一为二

8、加法规则 乘法规则0 + 0 = 0 0 0 = 00 + 1 = 1 0 1 = 01 + 0 = 1 1 0 = 01 + 1 = 0 (进位1) 1 1 = 1,3. 运算(算术运算和逻辑运算),0 5 C 3 H 3 D 2 5 H 4 2 E 8 H,3 D 2 5 H 0 5 C 3 H 3 7 6 2 H,1,1,十六进制数:逢十六进一 借一为十六, 逻辑运算(按位操作),“与”运算(AND) “或”运算(OR)A B AB A B AB 0 0 0 0 0 00 1 0 0 1 11 0 0 1 0 11 1 1 1 1 1“非”运算(NOT) “异或”运算(XOR)A A A

9、 B AB0 1 0 0 01 0 0 1 11 0 11 1 0,例:X=00FFH Y=5555H,求Z=XY= ?X= 0000 0000 1111 1111 B Y= 0101 0101 0101 0101 BZ= 0101 0101 1010 1010 B Z=55AAH,4. 数和字符的表示, 计算机中正负数的表示,7 6 5 4 3 2 1 0,符号位 数值位,假设机器字长为16位:,符号位 = 0 正数 数值位= 1 负数,15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,假设机器字长为8位:,H.O.Byte,L.O.Byte,H.O.Nibble,

10、L.O.Nibble,数的常用表示法 原码 反码 补码原码表示法:符号 + 绝对值例:n = 8bit+3原码 = 0 000,0011 = 03H- 3原码 = 1 000,0011 = 83H+0原码 = 0 000,0000 = 00H- 0原码 = 1 000,0000 = 80H 0 的表示不惟一反码表示法:正数的反码同原码,负数的反码数值位与原码相反例:n = 8bit+5反码 = 0 000,0101 = 05H- 5反码 = 1 111,1010 = FAH+0反码 = 0 000,0000 = 00H- 0反码 = 1 111,1111 = FFH 0 的表示不惟一,补码(T

11、wos Complement)表示法:正数的补码: 同原码 负数的补码:(1)写出与该负数相对应的正数的补码(2)按位求反(3)末位加一,n位二进制补码的表数范围: - 2n-1 N 2n-1-1,无符号整数的表数范围: 0 N 2n-1,补码的加法和减法:求补运算 :对一个二进制数按位求反、末位加一X补码 -X补码 X补码加法规则:X+Y补码 = X补码 + Y补码 减法规则:X-Y补码 = X补码 + -Y补码补码减法可转换为补码加法,64 (-46)18,0100 0000 1101 0010 0001 0010,例:,进位和溢出 进位: 由于运算结果超出了位数,最高有效位向前的进位,这一位自然丢失,一般不表示结果的对错。 溢出:表示结果超出了字长允许表示的范围,一般会造成结果出错。例: (64) 11000000 127 01111111 64 01000000 + 1 000000010 1 00000000 128 10000000进位 溢出, 字符的表示ASCII码:用一个字节来表示一个字符,低7位为字符的ASCII值,最高位一般用作校验位。例: A 41H a 61H 1 31H换行 0AH回车 0DH空格 20H,第1章作业,Page 14 1.11.8,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 开发文档

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报