汇编学习笔记(二)
机器语言和汇编语言
早期的程序编制是通过在纸带上打孔来表示01二进制序列,这种二进制序列就是机器语言。不难想象这种直接以二进制方式来编制程序不仅效率低下且及其容易出错。不久,就出现了汇编语言,汇编语言以助记符的形式来代替二进制,如mov ax, 10来代替形如0111 1110 1100 0111这样的二进制字符串。
汇编语言编写的程序怎样变成机器语言
CPU只能识别执行二进制的机器语言,那么怎样执行汇编语言呢?类似高级语言,汇编语言也有一个编译器,将汇编语言翻译成机器语言,这个编译器也可以叫做汇编器。
汇编语言的组成
汇编语言本质上是机器语言的一种助记符,但是由于汇编器的存在,所以可以执行一些更加高级的操作,所以汇编语言的指令>机器语言的指令。主要有以下部分构成:
- 汇编指令,有对应的机器码,是机器码的助记符。
- 伪指令,没有对应的机器码,由汇编器执行。
- 其他符号,如+,-, ×,/等,由汇编器识别。
二进制和十六进制
计算机使用二进制来表示数据等,这样描述一个数据常常需要写一长串的数字,如16位的数据:0111101100110010,这样每次书写都太长且不直观,一般使用16进制来描述,16进制的每位数字可以表示4位2进制,这样一个字节的数据就可以用两位十六进制数就可以表示了,16位数据只需要4位数即可表示,如上面二进制数据可以用十六进制表示为:7B32,简单直观。
为了区分不同进制,一般使用加后缀的方式区分,书写习惯如下:
- 二进制数,一般加后缀“B”,如“1101B”即表示二进制数1101,即十进制数13。
- 十进制数,一般不加任何后缀,即表示十进制数,如 10000,就表示十进制数10000
- 十六进制数,一般加后缀“H”来表示,如“7B8CH”,即表示十六进制数7B8C
几个简单的汇编指令
mov指令
mov指令用来传输数据,如下几种简单使用形式:
- mov ax, 10 将10送入寄存器ax中。
- mov ax, bx 将bx寄存器中的内容送入寄存器ax
- mov bx 8b32H 将8b32H数据送入寄存器bx.
add指令
add 指令是加法指令,如下几种简单形式:
- add ax, 8 将寄存器ax中的数值加8
- add ax, bx 将寄存器bx中的数据加上ax中的数据,并将结果存在ax中。
参考教材
[1]: 王爽老师的 汇编语言(第3版)
本文是汇编学习笔记的第二部分,介绍了机器语言和汇编语言的区别,阐述了如何将汇编语言转换为机器语言执行,并详细讲解了汇编语言的组成,包括汇编指令、伪指令和其他符号。此外,还探讨了二进制和十六进制在表示数据中的应用。最后,举例说明了汇编语言中常用的mov和add指令。
950

被折叠的 条评论
为什么被折叠?



