(汇编语言)基础知识

  • CPU指令

CPU指令:0和1的一些组合。

将完全通过0和1编写程序的语言,称之为机器语言。为了让计算机知道这些组合的意思,于是就出现了CPU指令。

  • 计算机程序设计语言

计算机编程语言的发展经历了机器语言、汇编语言和高级语言。

(1)机器语言

机器语言是计算机唯一能够识别的语言,只有机器语言描述的程序,计算机才能直接执行。

机器语言是计算机操作的本质。

(2)汇编语言

汇编格式指令以及使用它们编写程序的规则形成汇编语言。

汇编语言是最接近于机器语言的编程语言。

(3)高级语言

C/C++、Java、Python等

只有通过汇编语言指令才能正确全面地了解计算机的基本功能和行为方式;任何其他编程语言都必须编译成机器语言(本质上也可以说是汇编语言)代码才能被计算机接受和执行。

  ·  汇编语言的特点

  1. (1)与机器相关性

    汇编语言指令是机器指令的一种符号表示,而不同类型的CPU有不同的机器指令系统,也就有不同的汇编语言,所以,汇编语言程序与机器有着密切的关系。

    (2)执行的高效率

    汇编语言保持了机器语言的优点,具有直接和简捷的特点,可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等,且占用内存少,执行速度快,是高效的程序设计语言。

  2. (3)编写程序和调试的复杂性

    由于是直接控制硬件,且简单的任务也需要很多汇编语言语句,因此在进行程序设计时必须面面俱到,需要考虑到一切可能的问题,合理调配和使用各种软、硬件资源。这样,就不可避免地加重了程序员的负担。与此相同,在程序调试时,一旦程序的运行出了问题,就很难发现。

  • 学习汇编语言的目的

(1)一些特定的场合需要使用汇编语言。

(2)有助于深入地理解计算机硬件,掌握计算机硬件、操作系统、应用程序之间的交互工作。

(3)帮助加深对高级语言的理解。

(4)是学习后续专业课程的基础。

  • 数据表达
  1. 带符号数的补码表示

(1)原码

最高有效位表示符号(0-正数,1-负数),其他位表示数值。

 [106]原码=0 1101010B

[-106]原码=1 1101010B

(2)反码

最高有效位表示符号(0-正数,1-负数),其他位表示数值。

正数的反码与正数的原码相同;负数的反码是正数的原码(包括符号位)按位取反。

 [106]反码=[106]原码=0 1101010B

 [-106]反码=[106原码]求反=1 0010101B

(3)补码

正数的补码表示与正数的原码相同,即最高符号位用0表示正,其余位为数值位。

负数的补码表示是正数的补码各位求反(包括符号位),末位加1构成。

X=106=0110 1010B,[X]补=0110 1010B

X=-106,[X]补=[106补码]求反+1

                       =[0110 1010B]求反+1

                       =1001 0101B+1

                       =1001 0110B

    2.ASCII码

数字字符’0’~‘9’对应的ASCII码:30H~39H,数字字符的ASCII码和数字值之间相差了30H

数字字符->数字值,则[数字字符]ASCII-30H=数字值;      

数字值->数字字符,则数字值+30H=[数字字符]ASCII。

字符’A’~’F’对应的ASCII码:41H~46H,与16进制数0AH~0FH之间相差了37H

 ’A’~’F’->0AH~0FH,则[‘A’~’F’]ASCII码-37H=0AH~0FH;

0AH~0FH-> A’~’F’,则(0AH~0FH) +37H= [‘A’~’F’]ASCII码。

大写字母’A’~‘Z’的ASCII码:41H-5AH;小写字母’a’~’z’的ASCII码:61H~7AH,大小写字母之间的ASCII码相差了20H。所以大小写字母之间的转换即为加减20H。

大写字母->小写字母,则[大写字母]ASCII码+20H= [小写字母]ASCII;

小写字母->大写字母,则[小写字母]ASCII码-20H= [大写字母]ASCII。

小结

计算机程序设计语言包括机器语言、汇编语言和高级语言。

汇编语言是机器语言的符号表示,与机器语言无本质区别。学习汇编语言,可以加深对计算机系统以及程序工作原理的理解。

计算机系统采用二进制表示数据。为了描述方便,经常采用十六进制形式。计算机中,带符号数默认采用补码表示。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值