IBMPC汇编语言程序设计.ppt

上传人:wuy****n92 文档编号:53635681 上传时间:2022-10-26 格式:PPT 页数:28 大小:1.29MB
返回 下载 相关 举报
IBMPC汇编语言程序设计.ppt_第1页
第1页 / 共28页
IBMPC汇编语言程序设计.ppt_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《IBMPC汇编语言程序设计.ppt》由会员分享,可在线阅读,更多相关《IBMPC汇编语言程序设计.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、IBMPCIBMPC汇编语言汇编语言程序设计程序设计(第第2 2版版)清清华大学大学计算机系列教材算机系列教材 沈美名沈美名 温冬蝉温冬蝉 编著著计算机语言的发展计算机语言的发展 机器机器语言言FORTRANFORTRANBASICBASICCOBOLCOBOLPASCALPASCALC/C+C/C+JAVAJAVA.汇编语言汇编语言高高级语言言汇编语言的特点汇编语言的特点 面向机器的低面向机器的低级语言,通常是言,通常是为特定的特定的计算算 机或机或计算机系列算机系列专门设计的。的。保持了机器保持了机器语言的言的优点,具有直接和点,具有直接和简捷捷 的特点。的特点。可有效地可有效地访问、控制

2、、控制计算机的各种硬件算机的各种硬件设备,如磁如磁盘、存、存储器、器、CPUCPU、I/OI/O端口等。端口等。目目标代代码简短,占用内存少,短,占用内存少,执行速度快,行速度快,是高效的程序是高效的程序设计语言。言。经常与高常与高级语言配合使用,言配合使用,应用十分广泛用十分广泛。#include#include int main(int argc,char*argv)int a,b,c;a=1;b=2;c=a+b;printf(“c=%dn,c);return 0;编程实现编程实现编程实现编程实现 c=a+b c=a+b c=a+b c=a+b,并在屏幕上显示出结果,并在屏幕上显示出结果,

3、并在屏幕上显示出结果,并在屏幕上显示出结果。例例例例1 1编译后的目标文编译后的目标文件达到件达到KBdata segmentdata segmenta db?a db?b db?b db?c db?c db?string db c=$string db c=$data endsdata endscode segmentcode segmentmain proc farmain proc far assume cs:code,assume cs:code,ds:data,es:datads:data,es:datastart:start:push dspush ds sub ax,ax sub

4、 ax,ax push ax push ax mov ax,data mov ax,data mov ds,ax mov ds,ax mov es,ax mov es,ax mov a,1mov a,1 mov b,2 mov b,2 mov al,a mov al,a add al,b add al,b mov c,al mov c,al lea dx,stringlea dx,string mov ah,09 mov ah,09 int 21h int 21h add c,30hadd c,30h mov dl,c mov dl,c mov ah,2 mov ah,2 int 21h in

5、t 21h mov dl,0ah mov dl,0ah int 21h int 21h mov dl,0dh mov dl,0dh int 21h int 21h ret retmain endpmain endpcode endscode ends end startend start例例 2.C=a+b 2.C=a+b汇编后的目后的目标文件只有文件只有208208字字节汇编语言的应用汇编语言的应用系统程序、效率代码、系统程序、效率代码、I/OI/O驱动程序驱动程序 70%70%以上的系以上的系统软件是用件是用汇编语言言编写的。写的。某些快速某些快速处理、位理、位处理、理、访问硬件硬件设备等

6、等 高效程序是用高效程序是用汇编语言言编写的。写的。高高级绘图程序、程序、视频游游戏程序一般是用程序一般是用汇 编语言言编写的写的。教师建议教师建议目标:目标:了解了解汇编语言的特性及其言的特性及其编程技程技术,建立起建立起“机器机器”和和“程序程序”、“空空间”和和 “时间”的概念。的概念。建议:建议:充分注意充分注意“汇编”课实践性践性强的特点,的特点,多多读程序程序,多写程序多写程序,多上机多上机调试程序程序,熟悉熟悉PCPC机的机的编程程结构,构,掌握掌握汇编语言及其程序言及其程序设计的基本概的基本概 念、方法和技巧念、方法和技巧。参考资料参考资料X86X86汇编语言程序言程序设计沈美

7、明沈美明 温冬温冬婵 清清华大学出版社大学出版社2.IBM PC 2.IBM PC 汇编语言与程序言与程序设计 PETER ABEL PETER ABEL 编著著 第第4 4版版 清清华大学出版社大学出版社.PRENTICE HALL.PRENTICE HALL第第5 5版版 人民人民邮电出版社出版社3.IBM PC 3.IBM PC 汇编语言与程序言与程序设计例例题习题集集 温冬温冬婵 沈美明沈美明 清清华大学出版社大学出版社教学日历:教学日历:第一周第一周 绪论绪论 数制数制 数制之间的转换数制之间的转换 数和字符的表示数和字符的表示 运算运算第二周第二周 计算机组织计算机组织 CPU C

8、PU 存储器存储器 外部设备外部设备 寻址方式寻址方式第三周第三周 指令系统(指令系统(1 1)第四周第四周 指令系统(指令系统(2 2)BIOS BIOS和和DOSDOS调用调用 第五周第五周 上机过程上机过程 完整段定义和简化段定义格式完整段定义和简化段定义格式 伪操作伪操作第六周第六周 循环与分支程序设计循环与分支程序设计 子程序结构子程序结构 第七周第七周 高级汇编语言技术高级汇编语言技术 I/O I/O程序设计程序设计 第八周第八周 中断程序设计中断程序设计 复习复习第第1章章 基基 础础 知知 识识 数制数制 数制之间的转换数制之间的转换 运算运算 数和字符的表示数和字符的表示预预

9、 备备 知知 识识存储容量存储容量1K =1024 =210 (Kilo)1M=1024K =220 (Mega)1G =1024M=230 (Giga)1个二进制位:bit (比特)8个二进制位:Byte (字节)1Byte=8bit2个字节:Word(字)1Word=2Byte=16bit1.数数 制制 数数 制制 基基 数数 数数 码码 二进制二进制 Binary 2 0,1 八进制八进制 Octal 8 0,1,2,3,4,5,6,7 十进制十进制 Decimal 10 0,1,2,3,4,5,6,7,8,9 十六进制十六进制 Hexadecimal 16 0,1,2,3,4,5,6,

10、7,8,9,A,B,C,D,E,F二进制二进制:基数为2,逢二进一 11012 =12 3 +12 2 +12 0 =1310十六进制十六进制:基数为16,逢十六进一 1001,0001,1000,0111 9 1 8 7 =9 16 3 +1 16 2 +8 16 1 +7 16 02.数制之间的转换数制之间的转换 二进制二进制 十六进制十六进制 十进制十进制 二进制二进制 十进制十进制 十六进制十六进制降降幂法法 除法除法 二进制二进制 十六进制十六进制 0011 0101 1011 1111 3 5 B F 0011,0101,1011,1111B=35BFH A 1 9 C 1010

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

12、进一一 借一借一为二二 加法规则 乘法规则 0+0=0 0 0=0 0+1=1 0 1=0 1+0=1 1 0=0 1+1=0(进位1)1 1=13.运算(算术运算和逻辑运算)运算(算术运算和逻辑运算)0 5 C 3 H3 D 2 5 H4 2 E 8 H3 D 2 5 H0 5 C 3 H3 7 6 2 H1 11 1十六进制数:十六进制数:逢十六逢十六进一一 借一借一为十六十六 逻辑运算(逻辑运算(按位操作按位操作)“与与”运算(运算(AND)“或或”运算(运算(OR)A B AB A B AB 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1

13、“非非”运运算算(NOT)“异或异或”运算(运算(XOR)A A A B AB 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0例例:X=00FFH Y=5555H,求Z=XY=?X=0000 0000 1111 1111 B Y=0101 0101 0101 0101 B Z=0101 0101 1010 1010 B Z=55AAH4.数和字符的表示数和字符的表示 计算机中正负计算机中正负数的表示数的表示 7 6 5 4 3 2 1 0符号位符号位 数值位数值位假设机器字长字长为16位:符号位符号位=0 正数正数 数值位数值位 =1 负数数15 14 13 12 11 10

14、9 8 7 6 5 4 3 2 1 0假设机器字长字长为8位:数的常用表示法数的常用表示法 原原码 反反码 补码原原码表示法表示法:符号:符号+绝对值例: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 =00

15、H -0反码 =1 111,1111 =FFH 0 的表示不惟一例:机器字长8位,-46补码 =?46补码 =0 0 1 0 1 1 1 0 1 1 0 1 0 0 0 1 1 1 0 1 0 0 1 0 =D2H 机器字长16位,-46补码 =FFD2H +0补码 =0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 =-0补码 0 的表示的表示惟一按位求反按位求反末位加一末位加一按位求反按位求反末位加一末位加一补码(Twos Complement)表示法:表示法:正数的正数的补码:同原码负数的数的补码:(1)写出与该负数相对应的正数的补码 (2)

16、按位求反 (3)末位加一 十进制 二进制 十六进制 十进制 十六进制 n=8 n=16+127 0111 1111 7F +32767 7FFF+126 0111 1110 7E +32766 7FFE.+2 0000 0010 02 +2 0002+1 0000 0001 01 +1 0001 0 0000 0000 00 0 0000 -1 1111 1111 FF -1 FFFF -2 1111 1110 FE -2 FFFE .-126 1000 0010 82 -32766 8002-127 1000 0001 81 -32767 8001-128 1000 0000 80 -327

17、68 8000n位二进制补码的表数范围:位二进制补码的表数范围:-2n-1 N 2n-1-1无符号整数的表数范围:无符号整数的表数范围:0 N 2n-1 补码的加法和减法:补码的加法和减法:求求补运算运算 :对一个二一个二进制数按位求反、末位加一制数按位求反、末位加一 X补码补码 -X补码补码 X补码补码加法规则加法规则:X+Y补码补码 =X补码补码 +Y补码补码减法规则减法规则:X-Y补码补码 =X补码补码 +-Y补码补码 补码减法可减法可转换为补码加法加法 64(-46)180100 00001101 00100001 0010例:进位和溢出进位和溢出进位进位:由于运算结果超出了位数由于运

18、算结果超出了位数,最高有效位向最高有效位向 前的进位,这一位自然丢失,一般不表前的进位,这一位自然丢失,一般不表 示结果的对错。示结果的对错。溢出:溢出:表示结果超出了字长允许表示的范围,表示结果超出了字长允许表示的范围,一般会造成结果出错。一般会造成结果出错。例:例:(64)11000000 127 01111111 64 01000000 +1 00000001 0 1 00000000 128 10000000 进位进位 溢出溢出 字符的表示字符的表示ASCII码码:用一个字字节来表示一个字符,低7位 为字符的ASCII值,最高位一般用作 校验位。例:例:A 41H a 61H 1 31H 换行换行 0AH 回车回车 0DH 空格空格 20H第第1章作业章作业 Page 14

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

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁