汇编语言 第一章_第1页
汇编语言 第一章_第2页
汇编语言 第一章_第3页
汇编语言 第一章_第4页
汇编语言 第一章_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

80x86汇编语言与计算

机体系结构8038680486奔腾奔腾II奔腾4802868086奔腾IIIIA-644004不是我不明白,这世界变化太快。扎扎实实掌握知识,以不变应万变!IA-32x86处理器计算机的程序设计语言机器语言(MachineLanguage) B86400 050001汇编语言(AssemblyLanguage)movax,100;取得一个数据100(MOV是传送指令)addax,256;实现100+256(ADD是加法指令)高级语言(High-levelLanguage)100+256什么是汇编语言以助记符形式表示计算机指令助记符(mnemonic)是便于人们记忆、并能描述指令功能和指令操作数的符号助记符是表明指令功能的英语单词或其缩写汇编格式指令以及使用它们编写程序的规则就形成汇编语言(AssemblyLanguage)汇编语言程序:用汇编语言书写的程序汇编程序:将汇编语言程序“汇编”成机器代码目标模块的程序汇编语言和高级语言的比较-1汇编语言与处理器密切相关↘汇编语言程序的通用性、可移植性较差高级语言与具体计算机无关↗高级语言程序是标准化语言,可在多种计算机上编译后执行汇编语言:×高级语言:√汇编语言和高级语言的比较-2汇编语言功能有限、涉及硬件细节↘程序编写比较繁琐,调试比较困难高级语言提供了强大的功能,不必关心琐碎问题↗类似自然语言的语法,易于掌握和应用汇编语言:×高级语言:√汇编语言和高级语言的比较-3汇编语言本质上就是机器语言↗可以直接、有效地控制计算机硬件↗易于产生速度快、容量小的高效率目标程序高级语言不针对具体计算机系统↘不易直接控制计算机的各种操作↘目标程序比较庞大、运行速度较慢汇编语言:√高级语言:×汇编语言的特点汇编语言的优点:直接控制计算机硬件部件编写“时间”和“空间”两方面最有效程序汇编语言的缺点:与处理器密切有关需要熟悉计算机硬件系统、考虑许多细节编写繁琐,调试、维护、交流和移植困难汇编语言:?高级语言:?汇编和高级语言混合编程汇编语言的优点使得它在程序设计中占有重要的位置,不可被取代汇编语言的缺点使得人们主要采用高级语言进行程序开发工作有时需要采用高级语言和汇编语言混合编程,互相取长补短,更好地解决实际问题混合编程取长补短汇编语言的应用场合程序要具有较快的执行时间,或者只能占用较小的存储容量程序与计算机硬件密切相关,程序要直接、有效地控制硬件大型软件需要提高性能、优化处理的部分没有合适的高级语言、或只能采用汇编语言的时候分析具体系统尤其是该系统的低层软件、加密解密软件、分析和防治计算机病毒等等1.11.21.31.4二进制和十六进制字符编码有符号整数的二进制补码表示第1章计算机中数的表示二进制补码数的加减法1.1二进制和十六进制常用数制----二,十,十六进制为了区别3种不同数制,约定目前在计算机中,数几乎全部用二进制表示为书写方便,微机中的二进制数用十六进制数缩写人们最熟悉、最常用的是十进制数数后加B表示二进制数或者右下角标注2带D或不带字母符号表示十进制数带H表示十六进制数或者右下角标注16十进制、二进制、十六进制数之间的关系表十进制二进制十六进制十进制二进制十六进制000000810008100011910019200102101010A300113111011B401004121100C501015131101D601106141110E701117151111F数制间转换二进制整数→十六:从右(最低位)向左将二进制数4位1组划分,最后一组若不足4位则在其左边补0,每组用1位十六进制数表示如:

1111111000111B→1111111000111B

→0001111111000111B=1FC7H十六→二:用4位二进制数代替1位十六进制数1.二←→十六如:

3AB9H=0011101010111001B数制间转换十六→十:将十六进制数按权展开相加十进制整数→十六:除16取余法2.十六←→十如:

5876=16F4H如:

1F3DH=163×1+162×15+161×3+160×13=4096×1+256×15+16×3+1×13

=4096+3840+48+13=7997

165876

416367

F1622

6161

10余数倒序排列如:

1F3DH=如:

5876数制间转换3.二←→十十进制数→二进制数:十进制数→十六进制数→二进制数二进制数→十进制数:二进制数→十六进制数→十进制数→30DH→00110000110178110010110→96H→150计算机处理的信息不一定都是数值数据,有时是字符或字符串,在Intel80x86机器中,采用ASCII码(AmericanStandardCodeforInformationInterchange),即美国标准信息交换码。ASCII码的每个字符用8位二进制码表示,其排列次序为b7b6b5b4b3b2b1b0,b7为校验位,b6b5b4b3b2b1b0为字符的ASCII码值。字符ASCⅡ码(H)字符ASCⅡ码(H)0~930~39$24A~Z41~5A换行LF0Aa~z61~7A回车CR0DBlank201.2字符编码Chap1RepresentingDatainaComputer18ASCII‘Computersarefun.’十六进制的ASCII值数字也可以用字符编码表示:‘October21,1976436F6D707574657273206172652066756E2EComputersarefun.4F63746F6265722032312C2031393736October21,1976ASCIIforinputandoutput,andbinaryforinternalcomputations.

Chap1RepresentingDatainaComputer19ASCII大写字母的编码与其对应的小写字母的编码仅仅有一位不同,大写字母的第5位是1,而小写字母的第5位是0,其他各位相同。1.3有符号整数的二进制补码表示汇编语言中使用的主要是整数形式的数值数据,整数数值在机器中的表示有两种形式:无符号整数有符号整数Chap1RepresentingDatainaComputer21数据的表示长度1.无符号整数

无符号整数中,所有位都是数值位,数值本身只可能是正数,故没有必要保留符号位,如内存单元的物理地址,接口中的端口号等。n位无符号整数M的表数范围为0≤M≤2n-1,如8位无符号整数的表数范围是0≤M≤255,16位无符号整数的表数范围是0≤M≤65535。2.有符号整数有符号整数有正负之分,其值称为真值,如+12,-13ADH等,当有符号整数在机器中表示时,一般用最高有效位来表示数的符号,正数用0表示,负数用1表示,有符号整数在机器中的表示形式称为机器值,具体的形式可以是原码、反码、补码、移码等,由于在计算机中,用补码表示有符号整数时,进行算术运算时在电路上更易于实现,故全世界几乎所有的计算机的有符号整数表示都采用补码。正数的补码,符号位为0,其余位为其数值;负数的补码为其绝对值的补数补数有两种求法:按位取反后再加1如:X1=105=+1101001B[X1]补=01101001BX2=-105=-1101001B[X2]补=10010111B补码Chap1RepresentingDatainaComputer25第二种方法首先

转换无符号数76为十六进制数4C然后用100H减去4C.求二进制补码表示十进制-76100-4C

'B4B4即是-76的补码表示形式.Chap1RepresentingDatainaComputer26第二种方法首先

转换无符号数76为十六进制数4C然后用10000H减去4C.求长度为字的二进制补码表示十进制-7610000-4C

'FFB4FFB4即是-76的补码表示形式.注:一个补码数,若最高位为0,则该数即为此数的绝对值;若最高位为1,则其补数为该数的绝对值8位补码数的范围:80H~7FH(-128~127).16位补码数的范围:8000H~7FFFH(-32768~32767)1个二进制补码数的符号位向左扩展若干位后,所得到的补码数的真值不变如:[68]补=44H→字节,

[68]补=0044H→字

[-68]补=BCH→字节,

[-68]补=FFBCH→字微机中,符号数用补码表示!1.4二进制补码数的加减法计算机内部普遍采用二进制补码表示补码表示法存储有符号整数,这主要是为了实现加减运算非常容易和高效。Chap1RepresentingDatainaComputer29Addition加法

注意:01B616=43810注意:76EF16=3044710Cha

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论