汇编语言 学习笔记(updating...)
来源:互联网 发布:类似wiboxls的软件 编辑:程序博客网 时间:2024/06/06 01:21
《汇编语言》王爽 《IBM-PC汇编语言程序设计》学习笔记
为什么会有汇编语言?因为机器码难记,难改错,所以出现了汇编语言,即用更自然的语言表示机器码。 由汇编语言到机器语言需要编译器的参与,我们在写汇编语言的时候不仅写汇编的指令,还写一些伪指令,这些伪指令是计算机不会执行的,其他的一些运算符号也是由编译器识别,而没有对应的机器码。
存储器是数据和指令存储的地方,就像人类的记忆系统。名字不一样,但对计算机而言,指令和数据是没有差别的,它们都是以二进制的方式存储。(那么CPU如何知道它是程序还是指令呢?)CPU可以直接使用的信息就存放在存储器中。
好,接下来,CPU要开始对数据进行读写了。它怎么知道数据在哪里呢?所以需要存储地址;是要进行读操作还是写操作呢?所以需要控制指令,数据又如何进行传输呢?这三种信息都有总线进行传输。逻辑上分为三种总线,是三种,不是三根。
地址总线,每根线有两种稳态,高和低,即1和0;n根线能够表示2的n次方个地址数据。
数据总线传送大小同理。
内存地址空间,cpu通过总线与外围存储器(RAM,ROM)相连接,在CPU看来,不同的设备都是一样的存储器,都当它们是内存。即形成了一个逻辑上的存储器。当然,它是假想的。
地址总线,每根线有两种稳态,高和低,即1和0;n根线能够表示2的n次方个地址数据。
数据总线传送大小同理。
内存地址空间,cpu通过总线与外围存储器(RAM,ROM)相连接,在CPU看来,不同的设备都是一样的存储器,都当它们是内存。即形成了一个逻辑上的存储器。当然,它是假想的。
CPU工作原理这句话是什么意思?由寄存器实现CPU的功能吗?改变寄存器实现对CPU的控制,什么意思?改变CPU中寄存器中的值,也就是控制本身了吗?
and or 指令
[bx+idata] 数组结构 高级语言提供便利
idata[si/di]
2[si] 3[si] 从不同的地方开始,但每次偏移数相同
不同寻址方式的灵活运用
从更加结构化的角度来看待所要处理的数据
一般来说,在需要暂存数据的时候,我们都应该使用栈。
--------
疑问:
所以有实模式寻址方式。
8086CPU为什么不支持将数据直接送入段寄存器呢?这属于硬件设计问题。(==)
?
word ptr指定类型
如何判断一个指令的长度?
如何判断一个指令的长度?
—————————————————
宏汇编
宏汇编
就像模块化的函数,直接进行调用,实现一定的功能。
-------------
lable:
buffer1 lable word
buffer2 db 20 dup(?)
同一数据定义了两种类型,使得数据匹配。
this:
buffer1 equ this word
buffer2 db 20 dup(0)
mov ax,buffer1相对于 mov ax,word ptr buffer2
例题:
例题:
0 0
- 汇编语言 学习笔记(updating...)
- 学习笔记(updating ...)
- mongodb 学习笔记六 Updating
- 汇编语言学习笔记(一)
- 汇编语言学习笔记(二)
- 汇编语言学习笔记(三)
- 汇编语言学习笔记(四)
- 汇编语言学习笔记(五)
- 汇编语言学习笔记(六)
- 汇编语言学习笔记(七)
- 汇编语言学习笔记(八)
- 汇编语言学习笔记(九)
- 汇编语言第一章学习笔记
- 汇编语言学习笔记
- 汇编语言学习笔记(1)
- 汇编语言学习笔记(2)
- 汇编语言学习笔记(3)
- 汇编语言学习笔记(4)
- 验证最小化可行产品(MVP)的15种方法
- Qt非阻塞延时
- 安卓开发1
- Mina 环境搭建
- 1git命令的使用,查看git仓库状态,添加文件到git跟踪,git提交,查看git分支,查看git仓库日志信息,切换git分支,解决git分支合并后出现冲突的问题
- 汇编语言 学习笔记(updating...)
- cc150:setofstacks,栈就像叠盘子,有一定高度
- EvilCode的专栏╭☆╯ -- Android/Linux DRIVER
- C语言学习->getchar()和putchar()详细解释。
- Redis与Memcached的区别
- c++ if()括号中对象指针的含义
- uva--10400+dfs+回溯
- auto_ptr scoped_ptr scoped_array shared_ptr weak_ptr
- NYOJ 891 找点【贪心】