1.数据在哪里
2.数据有多长
在8086CPU中,只有四个寄存器可以在[]中进行内存单元的寻址:这四个寄存器是 bx si di bp
这四个寄存器可以单独出现,或以下面四种方式结合出现
bx+si
bx+di
bp+si
bp+di
但是不能够bx+bp或者si+di这样结合出现、
只要在[]中使用bp,而没显式指明段寄存器,默认段地址在ss中
数据所在的位置有三个。cpu内部,内存中,端口
汇编语言用三个概念来表达数据的位置
1.立即数idata.
直接包含在机器指令中的数据,执行前,在cpu的指令缓冲器中
2.寄存器
...


- [iloveck] 嗯,谢谢 07/14 11:00
- [游客] 应该稳扎稳打。开始学习的时候,基础很重要,只要你认真扎实的向后学,速度才会越来越合理。 07/05 18:24
- [游客] 学习关键是要掌握是不是看自己看过多少书。 07/05 18:23
- [iloveck] 如果是某个问题,非要弄懂再去学习下面的知识,总感觉会有些钻牛角尖。度的问题,真的是很难把握,稍微把握 06/30 14:02
- [iloveck] 其实很迷茫,到底是该深刻理解之后,稳扎稳打脚踏实地,一步步学习,深入之后再往下学习呢,还是暂时不懂的 06/30 13:58
- [iloveck] 嗯,谢谢提醒。我一般是理解之后才记录,记只是为了说明我这里理解了。。。。哈。不过有时候会过于浮躁.有 06/30 13:52
- [mywiil] 笔记要记,但是,一定要用心理解。 06/29 18:58
- [iloveck] 谢谢,呵呵 06/28 20:32
- [mess] 加油;) 06/28 14:51
- [mess] 开始,坚持,坚持。 加油~ 06/23 15:36
[2010-07-14 21:55] 第八章:数据处理的两个基本问题
阅读全文 |
评论次数(0) |
浏览次数(338) |
所属类型(笔记)
[2010-07-14 17:01] 第七章。更灵活的定位内存
and 逻辑与,按位进行与运算。
同时为1,才为1,其他全部为0
通过该指令,可以将操作对象相应的位设为0,其他位保持不变。
例如:
将第6位设为0,and al,10111111b
将第7位设为0,and al,01111111b
or 逻辑或,按位进行或运算
同时为0才为0,其他全部为1
通过该指令,可以将操作对象相应位设为1,其他位保持不变
例如:
将al的第六位设为1, or al,01000000b
将al的第7位设为1, or al,10000000b
在汇编程序中,用单引号的方式指明数据是以字符的形式给出的,编译器将他们转化为相对应的A...
同时为1,才为1,其他全部为0
通过该指令,可以将操作对象相应的位设为0,其他位保持不变。
例如:
将第6位设为0,and al,10111111b
将第7位设为0,and al,01111111b
or 逻辑或,按位进行或运算
同时为0才为0,其他全部为1
通过该指令,可以将操作对象相应位设为1,其他位保持不变
例如:
将al的第六位设为1, or al,01000000b
将al的第7位设为1, or al,10000000b
在汇编程序中,用单引号的方式指明数据是以字符的形式给出的,编译器将他们转化为相对应的A...
阅读全文 |
评论次数(0) |
浏览次数(452) |
所属类型(笔记)
[2010-07-14 16:46] 第六章,包含多个段的程序
在操作系统环境中,合法的通过操作系统取得的内存空间都是安全的。
代码段,数据段,栈段,完全是我们自己的安排,若要CPU去分类执行这些段,需要将CS,DS,SS等指向代码。
assume cs:code,ds:data,ss:stack
data segment
...
data ends
stack segment
...
stack ends
code segment
start:...
...
mov ax,4c00h
int 21h
code ends
end start...
代码段,数据段,栈段,完全是我们自己的安排,若要CPU去分类执行这些段,需要将CS,DS,SS等指向代码。
assume cs:code,ds:data,ss:stack
data segment
...
data ends
stack segment
...
stack ends
code segment
start:...
...
mov ax,4c00h
int 21h
code ends
end start...
阅读全文 |
评论次数(0) |
浏览次数(316) |
所属类型(笔记)
[2010-07-05 11:24] 心浮气躁了...
这两天连续学习了四章。
当学习的时候,感觉自己都理解了,都会了
做检测的时候,却是不能把知识灵活运用。
还有往后学习的时候,很多概念都弄混乱了,又往前翻,把以前的知识再看看,才能理解后面的。
速度太快,进度太快,我不知不觉中,又把学会知识,灵活运用这个目标,转移到了短时间内学完这个课程中去了.....
学会,学完。 一字之差,可以说差之毫厘失之千里.毫不夸张。
永远把自己的目标定位在学会上,而不是学完。我要时刻警惕自己。...
当学习的时候,感觉自己都理解了,都会了
做检测的时候,却是不能把知识灵活运用。
还有往后学习的时候,很多概念都弄混乱了,又往前翻,把以前的知识再看看,才能理解后面的。
速度太快,进度太快,我不知不觉中,又把学会知识,灵活运用这个目标,转移到了短时间内学完这个课程中去了.....
学会,学完。 一字之差,可以说差之毫厘失之千里.毫不夸张。
永远把自己的目标定位在学会上,而不是学完。我要时刻警惕自己。...
阅读全文 |
评论次数(2) |
浏览次数(409) |
所属类型(心情)
[2010-07-02 14:07] 汇编语言第五章笔记
mov ax,[bx]
将一个内存单元的内容送入ax中,这个内存单元长度为2字节,偏移地址存在bx中,段地址从ds中调用。
mov al,[bx]
将一个内存单元的内容送入al中,这个内存单元的长度为1字节,便宜地址存在bx中,段地址从ds中调用。
CPU执行LOOP指令两步走:
1.(cx)=(cx)-1
2.判断cx中的值,不为零则跳转至标号处执行程序,如果为零则向下执行。
通常用Loop指令实现循环操作,cx中存放的是循环次数。
mov cx,循环次数
标号:循环执行的程序段
loop 标号
注意下面这段程序的几个重点:
将ff...
将一个内存单元的内容送入ax中,这个内存单元长度为2字节,偏移地址存在bx中,段地址从ds中调用。
mov al,[bx]
将一个内存单元的内容送入al中,这个内存单元的长度为1字节,便宜地址存在bx中,段地址从ds中调用。
CPU执行LOOP指令两步走:
1.(cx)=(cx)-1
2.判断cx中的值,不为零则跳转至标号处执行程序,如果为零则向下执行。
通常用Loop指令实现循环操作,cx中存放的是循环次数。
mov cx,循环次数
标号:循环执行的程序段
loop 标号
注意下面这段程序的几个重点:
将ff...
阅读全文 |
评论次数(0) |
浏览次数(353) |
所属类型(笔记)
[2010-06-29 21:31] 汇编第四章笔记
在汇编语言源程序中,有两种指令,一种是汇编指令,一种是伪指令。汇编指令是有对应的机器码的指令,最终被cpu执行。伪指令是指没有对应机器码的指令,最终不被cpu执行。伪指令是由编译器来执行的。
XXX segment
...
...
...
XXX ends
segment和ends是一对成对使用的伪指令。功能是定义一个段,segment说明一个段开始,ends说明一个段结束。一个段必须有一个名称来标示,XXX也就是段名。
一个汇编语言是由多个段组成的,这些段呗用来存放代码,数据或当作栈空间来使用。
一个有意义的汇编程序至少要有一个段。
end 是一个汇编语...
XXX segment
...
...
...
XXX ends
segment和ends是一对成对使用的伪指令。功能是定义一个段,segment说明一个段开始,ends说明一个段结束。一个段必须有一个名称来标示,XXX也就是段名。
一个汇编语言是由多个段组成的,这些段呗用来存放代码,数据或当作栈空间来使用。
一个有意义的汇编程序至少要有一个段。
end 是一个汇编语...
阅读全文 |
评论次数(0) |
浏览次数(396) |
所属类型(笔记)
[2010-06-29 08:59] 汇编第三章 寄存器(内存访问)笔记
CPU中,用16位寄存器来存储一个字。高8位存放高位字节,低八位存放低位字节。在内存中存储时,由于内存单元是一个字节,则一个字要用两个地址连续的内存单元来存放,字的低位字节放在低地址单元中,高位字节放在高地址单元中。
字单元:即存放一个字型数据的内存单元。由两个连续的内存单元组成。
8086CPU有一个DS寄存器,通常用来存放要访问的数据的段地址。
mov指令可以将一个内存单元的内容送入寄存器
比如 mov 寄存器名 [address]
这个address是内存单元地址,表示一个内存单元,里面的数字其实是内存单元的偏移地址。这个指令执行的时候,8086CPU自动读取d...
字单元:即存放一个字型数据的内存单元。由两个连续的内存单元组成。
8086CPU有一个DS寄存器,通常用来存放要访问的数据的段地址。
mov指令可以将一个内存单元的内容送入寄存器
比如 mov 寄存器名 [address]
这个address是内存单元地址,表示一个内存单元,里面的数字其实是内存单元的偏移地址。这个指令执行的时候,8086CPU自动读取d...
阅读全文 |
评论次数(0) |
浏览次数(339) |
所属类型(笔记)
[2010-06-28 13:48] 汇编语言第二章学习笔记
对一个程序员来说,CPU最主要的部件是寄存器,寄存器是CPU中程序员可以用指令读写的部件,程序员可以通过改变各种寄存器中的内容来实现对CPU的控制
不同CPU,寄存器的个数结构不相同。
AX,BX,CX,DX这四个寄存器称为通用寄存器。用来存放一般型数据
为了保证与上一代8位寄存器相兼容,8086CPU的AX,BX,CX,DX这四个寄存器可以分为两个独立的8位寄存器来使用。
字节有8bit组成,可以放入8位寄存器中
字位两个字节组成,这两个字节分别称为这个字的高位字节和低位字节。可以存入16位寄存器中,这个字的高位字节存入寄存器的高8位,低位字节存入寄存器的低8位。
...
不同CPU,寄存器的个数结构不相同。
AX,BX,CX,DX这四个寄存器称为通用寄存器。用来存放一般型数据
为了保证与上一代8位寄存器相兼容,8086CPU的AX,BX,CX,DX这四个寄存器可以分为两个独立的8位寄存器来使用。
字节有8bit组成,可以放入8位寄存器中
字位两个字节组成,这两个字节分别称为这个字的高位字节和低位字节。可以存入16位寄存器中,这个字的高位字节存入寄存器的高8位,低位字节存入寄存器的低8位。
...
阅读全文 |
评论次数(5) |
浏览次数(521) |
所属类型(笔记)
[2010-06-28 10:35] 今天又把第一章知识认认真真的复习一遍
大前天学完第一章,感觉还可以
但是做完检测,发现有几个题目,不能确定自己是否正确
今天又重新复习叻一遍
又做了一遍检测,没有看过答案,自己能100%保证全对。
感觉很好。呵呵
开始进军第二章...
但是做完检测,发现有几个题目,不能确定自己是否正确
今天又重新复习叻一遍
又做了一遍检测,没有看过答案,自己能100%保证全对。
感觉很好。呵呵
开始进军第二章...
阅读全文 |
评论次数(1) |
浏览次数(477) |
所属类型(心情)
[2010-06-23 16:21] 汇编语言第一章学习笔记
第一章
地址总线:
cpu是通过地址总线来指定存储单元的。
一个cpu有N根地址线,则可以说这个CPU的地址总线宽度为N,CPU最多可以寻找到2的N次方个内存单元。.
存储器被划分成若干个存储单元。一般电脑,一个存储单元可以存放一个字节(byte)的信息,也就是8位(bit)
存储单元从0开始顺序编号,这些编号可以看做存储单元在存储器中的地址。
数据总线:
cpu与内存或其他器件之间数据的传输是通过数据总线来进行的
数据总线的宽度,决定了cpu和外界的数据传输速度。
一根数据线,一次可以传输1位的数据。
控制总线:
cpu对外部器件的控制,...
地址总线:
cpu是通过地址总线来指定存储单元的。
一个cpu有N根地址线,则可以说这个CPU的地址总线宽度为N,CPU最多可以寻找到2的N次方个内存单元。.
存储器被划分成若干个存储单元。一般电脑,一个存储单元可以存放一个字节(byte)的信息,也就是8位(bit)
存储单元从0开始顺序编号,这些编号可以看做存储单元在存储器中的地址。
数据总线:
cpu与内存或其他器件之间数据的传输是通过数据总线来进行的
数据总线的宽度,决定了cpu和外界的数据传输速度。
一根数据线,一次可以传输1位的数据。
控制总线:
cpu对外部器件的控制,...
阅读全文 |
评论次数(0) |
浏览次数(285) |
所属类型(笔记)
『 查看更多文章 』