初学汇编语言之基础知识整理

和机器语言一样,汇编语言属于低级语言,所以学习汇编语言就要求学习者能够掌握机器内部的运算细节,为此特做一下基础知识梳理,为更好的学习汇编语言打下基础。本梳理有的放矢,对于容易掌握的知识点一带而过。本梳理包括以下几点:一、进位计数值与不同基数的数之间的转换;二、二进制数和十六进制数之间的转换;三、计算机中数和字符的表示;四、几种基本的逻辑运算。

一:进位计数值与不同基数的数之间的转换

1、在计算机中,十进制数一般用D(decimal)做结尾,八进制数用O(octal)作结尾,十六进制数用H(hexadecimal)结尾,二进制数用B(binaty)结尾;如十进制数32D,八进制数8O;

2、二进制数转换为十进制数可以用各位二进制数码乘以与其对应的权之和得到,例如:1011100.10111B=2^6+2^4+2^3+2^2+2^(-1)+2^(-3)+2^(-4)+2^(-5)D;十进制转换为二进制数可以采用两种方法,第一种是降幂法,采用将该十进制相近的二进制权值相减,若能够减去则相应位置置一,否则置零;示例如下,N=117D:

64     32     16     8     4     2     1

1        1       1     0     1     0     1    

故N=1010111B

第二种是除法;采用十进制数不断的除以二,并记下余数,直到得到的商为零为止;例如:N=117D;

117/2=58......1;58/2=29......0;29/2=14......1;14/2=7......0;7/2=3......1;3/2=1......1;1/2=0......1得到N=1110101B

若十进制中存在小数部分,则将小数部分乘以2,记录得到的整数部分,直到结果小数部分为零为止;

3、十六进制转换为二进制可以将十六进制的每一位采用四位二进制数来表示,组合起来就得到该十六进制的二进制表示;二进制转换为十六进制则将二进制的每四位组成一组,计算每一组的数值组合起来就得到十六进制数;十六进制数转换为十进制数与十进制数转换为十六进制数和二进制数与十进制数相互转换原理相同,权值只需将权值改为16的相应位的次幂,以及除法时除数改为16即可;

二:二进制数和十六进制数运算

此处和十进制数原理相同,但有一点二进制数1+1=0(进位1)需注意;

三:计算机中数和字符

1、计算机中大多数采用二进制的补码表示法:正数的补码为正数本身,负数的补码为该负数对应的正数的二进制按位取反加一得到;

2、对于n位有符号数来讲,取值范围为2^(n-1)<=n<=2^(n-1)-1;对于无符号数来说范围为0<=n<=2^n;

3、计算机中采用补码形式则数的加减法都可通过补码的加法进行运算;

4、字符采用ASCII码表示,需注意0用十六进制30表示,A用十六进制41表示,a用十六进制61表示;

四:逻辑运算

1、“与”(AND),当只有A、B两个都为1时结果为1;

2、“或”(OR),当只有A、B两个都为0时结果为0;

3、“非”(NOT),对该变量取反操作;

4、“异或”(XOR),变量相同时取0,不同时取1;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 网站乱码问题我们会经常碰到,大多见于非英文的中文字符或其他字符乱码,而且,这类问题常常是因为编码方式问题,主要原因...
    波段顶底阅读 3,009评论 1 9
  • 一、概要 1、数据的表示:数制及其转换、原码、反码、补码、移码、浮点数、溢出、算...
    _Jason___阅读 3,249评论 0 5
  • •1 C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成、格式、以及良好的书写风格,使读者对c语...
    CONLYOUC阅读 8,740评论 9 66
  • 和一位同事共事多年,一直知道她是一位责任心很强的老师,做事力求完美,不仅对自己严苛,对学生要求也严格。按理说这样的...
    雨巷葳兰阅读 268评论 0 1
  • 一、家庭公约,约定好各人的职责。 爷爷奶奶:不干涉子女教育孙辈,不当面指责;学习的时候伴学或外出, 爸爸妈妈的职责...
    一颗麦稻阅读 361评论 0 4