汇编学习(1)

机器语言是机器指令的集合,就是有二进制组成的,指令如01010000 (PUSH AX)。

汇编语言在机器指令,是机器指令便于记忆的书写格式。
这样的写法与人类语言接近,便于阅读和记忆。

寄存器:简单的讲是CPU中可以存储数据的器件,一个CPU中有多个寄存器。

汇编语言的组成

汇编语言由以下3类组成:

1、汇编指令(机器码的助记符)

2、伪指令 (由编译器执行)

3、其它符号(由编译器识别)

汇编语言的核心是汇编指令,它决定了汇编语言的特性。

cpu是计算机的核心部分,汇编就是向它提供指令,运算时指令和数据在存储器中存放,也就是内存,但是平常的数据海曙存在硬盘那里,但是数据一定要读取到内存里面,磁盘上的数据或程序如果不读到内存中,就无法被CPU 使用。

存在内存或磁盘上,指令和数据没有任何区别,都是二进制信息。

cpu要对数据进行读写,必须和外部器件(标准的说法是芯片)进行三类信息的交互:

  • 存储单元的地址(地址信息)
  • 器件的选择,读或写命令(控制信息)
  • 读或写的数据(数据信息)

总线:是计算机中专门有连接CPU和其他芯片的导线,在物理上,是一根根导线的集合,在逻辑上,分为地址总线,数据总线和控制总线。CPU是通过地址总线来指定存储单元的。地址总线上能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址。如图:

地址总线决定cpu的宽度(CPU的寻址能力),数据总线决定cpu和外界的数据传送速度。

一个CPU有N根地址总线,则可以说这个CPU的地址总线的宽度为N。

这样的CPU最多可以寻找2的N次方个内存单元。

当在内存中写入数据89D8H时:

8位数据总线上传送的信息

16位数据总线上传送的信息

  • 地址总线的宽度决定了CPU的寻址能力;
  • 数据总线的宽度决定了CPU与其它器件进行数据传送时的一次数据传送量;
  • 控制总线宽度决定了CPU对系统中其它器件的控制能力。
时间: 2024-10-25 03:06:26

汇编学习(1)的相关文章

基于8086CPU微处理器的汇编学习之MOV指令

汇编指令:MOV的作用是往某个寄存器中存入数值. 格式:mov  寄存器名,数值                数值-->寄存器 mov  寄存器A,存器寄B          B-->A PS:必须前后位数匹配,如: mov   ah,bx     ;error   ah is 8 bit,bx is 16 bit mov   ah, bh    ;right    ah and bh all is 8  bit mov   cx,dx     ;right     cx and dx al

基于8086CPU微处理器的汇编学习之ADD指令

ADD指令: 把两个数值相加,将结果放到第一个寄存器里面. 格式: ADD  寄存器名,数值 ADD  寄存器名,寄存器名 add ax,11 add bx,22 PS:清空数据: mov ax,0000 两者数值的存储容量位数要匹配 ----------------------------------------------------------------------------------------------- 用汇编语言编写一个小程序:1122H + 9000H +   AC02H

AT&T汇编学习笔记

AT&T汇编和intel汇编的区别 (1)在Intel格式中大多使用大写字母,而在AT&T格式中都是用小写字母. (2)在AT&T格式中,寄存器名要加上"%"作为前缀,而在intel格式中则不带前缀. (3)在AT&T的386汇编语言中,指令的源操作数与目标操作数的顺序与在intel的386汇编语言中正好相反.在intel格式中是目标在前,源在后:而在AT&T格式中则是源在前,目标在后.例如,将寄存器eax的内容送入ebx,在intel格式中为&

8086汇编学习小结———实时更新

初学IBM-PC 8086,对INT指令不是很理解.现从网上总计如下: 表:DOS系统功能调INT 21H AH 功能 调用参数 返回参数 00 程序终止(同INT 20H) CS=程序段前缀 01 键盘输入并回显 AL=输入字符 02 显示输出 DL=输出字符 03 异步通迅输入 AL=输入数据 04 异步通迅输出 DL=输出数据 05 打印机输出 DL=输出字符 06 直接控制台I/O DL=FF(输入)DL=字符(输出) AL=输入字符 07 键盘输入(无回显) AL=输入字符 08 键盘

汇编学习笔记-序章

最近突然对汇编语言开始感兴趣,于是说干就干了. 之前也自学过一点汇编,是跟着王爽老师的<汇编语言(第3版) >这本书学习的,已经是有5 6前年的样子了.当时觉得这本书写的非常通俗易懂是一本非常好的启蒙书籍,但是最近在翻阅的时候却觉得这本书知识点介绍的非常杂乱没有个章程,感觉像是没组织过一样想到哪里写到哪里.哈哈,个人愚见,王爽老师的粉丝不要喷我. 于是乎我去各种百度汇编学习的书籍推荐,在知乎.csdn找到了好几本推荐的书,然后就一股脑买了4本.所以我简单的根据书名排了个阅读顺序: 80x86汇

AT&T汇编学习笔记(一)

file命令使用介绍 file最常用的场景就是用来查看可执行文件的运行环境,是arm呢,还是x86呢,还是mips呢?一看便知 $ file a.out a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xa240b1958136fc294a6ee5833de2a0fc8c9e

汇编学习环境搭建

一 系统环境 win10 pro x86 masm 5.0 下载地址:http://download.pchome.net/development/linetools/detail-9028.html 二 编译环境搭建 1 将masm 5.0 下载下来,这个是免安装版的, 解压缩, 将MASM.EXE所在的目录添加到环境变量path里面. 2 使用方法 <1> 在cmd窗口(注意这个cmd跟下面的command不是一个东西)输入"masm 汇编源码文件;", 回车, 如果编

Android ARM 汇编学习(一)

给自己挖了个坑,一切都得从"Hello World"开始. hello.S .data msg:     .ascii      "Hello, World!\n" len = . - msg .text .globl _start _start:     /* syscall write(int fd, const void *buf, size_t count) */     mov     %r0, $1     /* fd -> stdout */  

我的汇编学习之路(2):主要术语和概念

对于不折不扣的汇编新手来说,第一部分中出现的很多概念可能不是很明白,于是我决定写更多有价值的文章.所以,让我们开始<我的汇编学习之路>的第二部分的学习. 术语和概念 当我写了第一篇之后,我从不同的读者那获得很多反馈,第一篇中有些部分不明白,这就是本文以及接下来几篇从一些术语的描述开始的原因. 寄存器(Register):寄存器是处理器内小容量的存储结构,处理器的主要功能是数据处理,处理器可以从内存中获得数据,但这是一种低速的操作,这就是为什么处理器为什么要有自己数据存储结构,称为"寄

基于8086CPU微处理器的汇编学习之PUSH、POP指令

--------------------------------------------- 栈,是一种数据结构,我觉得栈是抽象的,但是它同样也是实际的,因为它在内存中是连续的内存,只不过人们限制了它的使用:后进先出,学数据结构两年了,现在才理解,实在惭愧. push  ax   ;I.sp = sp - 2                  II .取出ax中的数据,放入当前栈顶 pop   ax   ;I.栈顶地址取出数据,放入ax中   II.sp = sp + 2 ------------