




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Ch1基础知识,1,IBMPC汇编语言程序设计(第二版),主讲李敬兆,Ch1基础知识,2,计算机语言的发展,机器语言,FORTRANBASICCOBOLPASCALC/C+JAVA.,Ch1基础知识,3,计算机能够直接识别的数据是由二进制数0和1组成的代码。机器指令就是用二进制代码组成的指令,一条机器指令控制计算机完成一个基本操作。用机器语言编写的程序是计算机惟一能够直接识别并执行的程序,而用其他语言编写的程序必须经过翻译才能变换成机器语言程序,所以,机器语言程序被称为目标程序。,机器语言,Ch1基础知识,4,为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用变量代替操作数的存放地址等,这样就形成了汇编语言。所以汇编语言是一种用符号书写的、基本操作与机器指令相对应的、并遵循一定语法规则的计算机语言。用汇编语言编写的程序称为汇编源程序。汇编语言是一种符号语言,比机器语言容易理解和掌握,也容易调试和维护。但是,汇编语言源程序要翻译成机器语言程序才可以由计算机执行。这个翻译的过程称为“汇编”,这种把汇编源程序翻译成目标程序的语言加工程序称为汇编程序。,汇编语言,Ch1基础知识,5,汇编语言虽然较机器语言直观,但仍然烦琐难懂。于是人们研制出了高级程序设计语言。高级程序设计语言接近于人类自然语言的语法习惯,与计算机硬件无关,易被用户掌握和使用。目前广泛应用的高级语言有多种,如BASIC、FORTRAN、PASCAL、C、C+等等。,高级语言,汇编语言的特点面向机器的低级语言,通常是为特定的计算机或计算机系列专门设计的。保持了机器语言的优点,具有直接和简捷的特点。可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。经常与高级语言配合使用,应用十分广泛。,安徽理工大学计算机科学与技术系李敬兆汇编语言,#includestdafx.h#includestdio.hintmain(intargc,char*argv)inta,b,c;a=1;b=2;c=a+b;printf(“c=%dn,c);return0;,编程实现c=a+b,并在屏幕上显示出结果。,例1,编译后的目标文件达到3.59KB,安徽理工大学计算机科学与技术系李敬兆汇编语言,datasegmentadb?bdb?cdb?stringdbc=$dataendscodesegmentmainprocfarassumecs:code,ds:data,es:datastart:pushdssubax,axpushaxmovax,datamovds,axmoves,ax,mova,1movb,2moval,aaddal,bmovc,alleadx,stringmovah,09int21haddc,30hmovdl,cmovah,2int21hmovdl,0ahint21hmovdl,0dhint21hretmainendpcodeendsendstart,例2.C=a+b,汇编后的目标文件只有208字节,安徽理工大学计算机科学与技术系李敬兆汇编语言,建议充分注意“汇编”课实践性强的特点,多读程序,多写程序,多上机调试程序,熟悉PC机的编程结构,掌握汇编语言及其程序设计的基本概念、方法和技巧。,安徽理工大学计算机科学与技术系李敬兆汇编语言,第1章基础知识,数制数制之间的转换运算数和字符的表示,安徽理工大学计算机科学与技术系李敬兆汇编语言,预备知识,存储容量1K=1024B=210(Kilo)1M=1024K=220(Mega)1G=1024M=230(Giga)1个二进制位:bit(比特)8个二进制位:Byte(字节)1Byte=8bit2个字节:Word(字)1Word=2Byte=16bit,安徽理工大学计算机科学与技术系李敬兆汇编语言,1.1.1数制,二进制:基数为2,逢二进一11012=123+122+120=1310十六进制:基数为16,逢十六进一1001,0001,1000,01119187=9163+1162+8161+7160,安徽理工大学计算机科学与技术系李敬兆汇编语言,1.1数制与转换,Ch1基础知识,13,任何进制的数都可用如下方法表示:N=Ki*ri其中:Ki是任一个数码;ri是各位对应的权r是基数,1.1.2数制之间的转换,二进制十六进制十进制二进制十进制十六进制,降幂法除法,安徽理工大学计算机科学与技术系李敬兆汇编语言,二进制十六进制001101011011111135BF0011,0101,1011,1111B=35BFHA19C1010000110011100A19CH=1010,0001,1001,1100B,安徽理工大学计算机科学与技术系李敬兆汇编语言,Ch1基础知识,16,十六进制和二进制的相互转换,方法:对于二进制整数,只要从右到左每4位组成一组,不足4位最左边补0,即可得到相应的十六进制。对于二进制小数,只要从左到右每4位组成一组,不足4位最右边补0,即可得到相应的十六进制。01111101.010111007D5C(1111101.0101111)2=(7D.5C)16如果将十六进制转成二进制数,只要每一位十六进制数用四位二进制数表示即可。,补0,补0,降幂法除法例:27D=?B2711331-2n1684211101127D=11011B,二进制十进制,安徽理工大学计算机科学与技术系李敬兆汇编语言,二进制十进制,1011B=23+21+20=11D,二进制十进制,Ch1基础知识,18,十进制转换成二进制,方法:对于整数部分除2取余法,小数部分采用乘2取整法例:117.8125D=,1110101.1101B,十六进制十进制BF3CH=11163+15162+3161+12160=48956D降幂法除法例:399D=?H39914315399/1624/161/160-16n256161F8118F399D=18FH,安徽理工大学计算机科学与技术系李敬兆汇编语言,二进制数:逢二进一借一为二加法规则乘法规则0+0=000=00+1=101=01+0=110=01+1=0(进位1)11=1,1.2运算(算术运算),安徽理工大学计算机科学与技术系李敬兆汇编语言,05C3H3D25H42E8H,3D25H05C3H3762H,1,1,十六进制数:逢十六进一借一为十六,安徽理工大学计算机科学与技术系李敬兆汇编语言,1.3计算机中数和字符的表示,计算机中正负数的表示,76543210,符号位数值位,假设机器字长为16位:,符号位=0正数数值位=1负数,1514131211109876543210,假设机器字长为8位:,H.O.Byte,L.O.Byte,安徽理工大学计算机科学与技术系李敬兆汇编语言,数的常用表示法原码反码补码原码表示法:符号+绝对值例:n=8bit+3原码=0000,0011=03H-3原码=1000,0011=83H+0原码=0000,0000=00H-0原码=1000,0000=80H0的表示不惟一反码表示法:正数的反码同原码,负数的反码数值位与原码相反例:n=8bit+5反码=0000,0101=05H-5反码=1111,1010=FAH+0反码=0000,0000=00H-0反码=1111,1111=FFH0的表示不惟一,安徽理工大学计算机科学与技术系李敬兆汇编语言,补码(TwosComplement)表示法:正数的补码:同原码负数的补码:(1)写出与该负数相对应的正数的补码(2)按位求反(3)末位加一,安徽理工大学计算机科学与技术系李敬兆汇编语言,n位二进制补码的表数范围:-2n-1N2n-1-1,无符号整数的表数范围:0N2n-1,安徽理工大学计算机科学与技术系李敬兆汇编语言,补码的加法和减法:求补运算:对一个二进制数按位求反、末位加一求补求补X补码-X补码X补码加法规则:X+Y补码=X补码+Y补码减法规则:X-Y补码=X补码+-Y补码补码减法可转换为补码加法,64(-46)18,010000001101001000010010,例:,安徽理工大学计算机科学与技术系李敬兆汇编语言,进位和溢出进位:由于运算结果超出了位数,最高有效位向前的进位,这一位自然丢失,一般不表示结果的对错。溢出:表示结果超出了字长允许表示的范围,一般会造成结果出错。例:(64)11000000127011111116401000000+100000001010000000012810000000进位溢出,安徽理工大学计算机科学与技术系李敬兆汇编语言,字符的表示ASCII码:用一个字节来表示一个字符,低7位为字符的ASCII值,最高位一般用作校验位。例:A41Ha61H131H换行0AH回车0DH空格20H,安徽理工大学计算机科学与技术系李敬兆汇编语言,Ch1基础知识,29,BCD码BCD(Binary-CodedDecimal)码又称为“二十进制编码”,专门解决用二进制数表示十进数的问题。最常用的是8421编码,其方法是用4位二进制数表示1位十进制数,自左至右每一位对应的位权是8、4、2、1。,Ch1基础知识,30,BCD码有两种格式:(1)压缩BCD码格式(PackedBCDFormat)用4个二进制位表示一个十进制位,就是用0000B-1001B来表示十进制数0-9。例如:十进制数4256的压缩BCD码表示为:0100001001010110B(2)非压缩BCD码格式(UnpackedBCDFormat)用8个二进制位表示一个十进制位,其中,高四位无意义,我们一般用xxxx表示,低四位和压缩BCD码相同。例如:十进制数4256的非压缩BCD码表示为:xxxx0100 xxxx0010 xxxx0101xxxx0110B,1.4逻辑运算(按位操作),“与”运算(AND)“或”运算(OR)ABABABAB000000010011100101111111“非”运算(NOT)“异或”运算(XOR)AAABAB010001
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业团建线上活动方案
- 企业孝道活动方案
- 企业小视频竞赛活动方案
- 企业庆元宵趣味活动方案
- 企业慰问交警队活动方案
- 企业推广活动方案
- 企业旅游分享活动方案
- 企业樱花节活动策划方案
- 企业用工指导活动方案
- 企业纪检活动方案
- 2025工贸安全考试题库及答案
- 2025-2030中国保险中介机构行业市场发展现状及竞争格局与投资前景研究报告
- 内在动机:自主掌控人生的力量
- 人教版八年级物理(下册)期末考试题及答案
- 山东省济南市2025届高三三模生物试卷(含答案)
- 2025年网络工程师职业资格认证考试试题及答案
- 2025年铁路助理值班员资格理论必背考试题库(附答案)
- 台球介绍课件
- 中国心力衰竭基层诊疗与管理指南(2024年)解读课件
- 电气工程及其自动化试题及答案
- 小学黄梅戏《打猪草》课件戏曲进校园
评论
0/150
提交评论