第七章 更灵活的定位内存地址的方法
and指令:逻辑与指令,按位进行与运算。
该指令可以将操作对象的相应位设为0,其他位不变。
or指令:逻辑或指令,按位进行或运算。
该指令可以将操作对象的相应位设为1,其他位不变。
ascll码:08退格,0A换行,0D回车,20空格,30为0,41为A,61为a
在汇编程序中,用‘……’的方式指明数据是以字符的形式给出的,编译器将它们转化为相对应的ascll码。
几种定位内存地址的方法(可称为寻址方式):
1. [idata]用一个常量来表示地址,可用于直接定位一个内存单元;
2. [bx]用一个变量来表示内存地址,可...
- [kanwangxue] 如果是文字的,不是特别好啊,体力活,如果文字还加点动画,那就必须顶了。 01/15 01:10
- [kanwangxue] 必须顶啊。 01/15 00:54
- [ltoiii] 既然是实现loop功能,是否要考虑s和se标号? mov bx,offset s - offset 12/09 12:09
- [xiaoyao2012] 正确 11/01 15:33
- [xuer2016] 又找到2条被我忽视的地方: 1.PUSH 和 POP 针对字单元 2.POP 不能是CS 10/26 10:57
- [xuer2016] 学习了 我书写不规范,16进制字母前不加0,后面不加H,以后要注意了。。。 10/26 10:51
- [xuer2016] 来老师这学习下 10/26 10:31
- [youthangel] 不妙,CPU的利用率一下子就上去了。还好我的处理器不是太弱,35%左右的利用率。建议博主在修改一下 10/20 08:23
- [fpamc] 在我心里她就是我的女神。 10/02 08:58
- [newpeople] 你女朋友用得了简直就是一个女神…… 10/01 08:10
- [99998888] 请您指点一下如何找到会ASSEMBLER 语言的翻译,翻译成中文或英文。我的QQ ; 9097815 07/25 09:56
- [jeremy] 我觉得你学习的挺好,可以加你扣扣吗?我的469614823 08/07 14:46
- [zhangbo0805] 哈哈, 你好呀!很希望认识你呀!我发现你学习的积极性很高!正想向您学习呢! 07/31 23:31
- [tomato] 知道了,排得还挺满。 05/29 16:35
- [tomato] 现在学习情况怎么样?在做课设二还是什么? 05/29 10:41
- [tomato] 你的留言收到了。 05/05 23:51
- [fpamc] 开始学习c咯! 05/03 21:40
- [fpamc] 居然不能发博客了……! 04/22 21:03
- [tomato] 你相册中的游戏界面我看过了,非常好,界面很漂亮,很有创造力。博主,很有潜力。加油,一定能把这个游戏做 04/20 23:46
- [fpamc] 忙了半个月,不在家,没时间学习汇编。 但是在途中想到了一个有史以来最难的程序。对于刚学完9章的我。 04/13 20:56
[2012-03-25 19:56] 第七章笔记
阅读全文 |
评论次数(2) |
浏览次数(128) |
所属类型(汇编笔记)
[2012-03-14 21:24] 第六章笔记
第六章 包含多个段的程序
在操作系统允许的情况下,程序可以取得任意容量的空间。
程序取得所需空间的方法有两种:1.加载程序的时候为程序分配;2.程序在执行的过程中向系统申请。
“dw”(define word)的含义是定义字形数据(数据之间以逗号分隔),也可以说开辟内存空间。
“db”的含义是定义字节型数据,与“dw”功能相同。
“dd”的含义是定义dword(double word,双字)型数据。
end出了通知编译器程序结束外,还可以通知编译器程序的入口在什么地方。
只要在源程序中用“end标号”,cpu就从我们希望的地方开始执行。
这样的程序的框架:
assum...
在操作系统允许的情况下,程序可以取得任意容量的空间。
程序取得所需空间的方法有两种:1.加载程序的时候为程序分配;2.程序在执行的过程中向系统申请。
“dw”(define word)的含义是定义字形数据(数据之间以逗号分隔),也可以说开辟内存空间。
“db”的含义是定义字节型数据,与“dw”功能相同。
“dd”的含义是定义dword(double word,双字)型数据。
end出了通知编译器程序结束外,还可以通知编译器程序的入口在什么地方。
只要在源程序中用“end标号”,cpu就从我们希望的地方开始执行。
这样的程序的框架:
assum...
阅读全文 |
评论次数(0) |
浏览次数(343) |
所属类型(汇编笔记)
[2012-02-29 22:52] 第五章笔记
第五章 [BX]和loop指令
[bx]表示一个内存单元,它的偏移地址放在bx中。
要完整的描述一个内存单元,需要两种信息:①内存单元的地址;②内存单元的长度(类型)。
描述性的符号“()”来表示一个寄存器或一个内存单元的内容。
“()”中的元素可以有3中类型:①寄存器名;②段寄存器名;③内存单元的物理地址。
“()”所表示的数据有两种类型:①字节;②字。是哪种类型有寄存器名或者具体运算决定。
约定符号idata表示常量。
规定只有bx,bp,si,di才能作为寻址寄存器。
关于inc指令
inc指令是汇编语言中算术运算类指令,起到自加1的功能。
INC 加1指令 ...
[bx]表示一个内存单元,它的偏移地址放在bx中。
要完整的描述一个内存单元,需要两种信息:①内存单元的地址;②内存单元的长度(类型)。
描述性的符号“()”来表示一个寄存器或一个内存单元的内容。
“()”中的元素可以有3中类型:①寄存器名;②段寄存器名;③内存单元的物理地址。
“()”所表示的数据有两种类型:①字节;②字。是哪种类型有寄存器名或者具体运算决定。
约定符号idata表示常量。
规定只有bx,bp,si,di才能作为寻址寄存器。
关于inc指令
inc指令是汇编语言中算术运算类指令,起到自加1的功能。
INC 加1指令 ...
阅读全文 |
评论次数(2) |
浏览次数(197) |
所属类型(汇编笔记)
[2012-02-21 15:00] 第四章笔记
第四章 第一个程序
汇编语言程序从写出到最终执行的简要过程:
第一步:编写汇编源程序。
这一步工作的结果是产生了一个存储源程序的文本文件。
第二步:对源程序进行编译连接。生成可执行文件。
第三步:执行可执行文件中的程序。
可执行文件包含两部分内容:
程序(从源程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据)
相关的描述信息
……………………………………………分隔符…………………………………………………
某一源程序示例:
assume cs:abc…………………………...假设此段和某段寄存器相关联。
abc segment………...
汇编语言程序从写出到最终执行的简要过程:
第一步:编写汇编源程序。
这一步工作的结果是产生了一个存储源程序的文本文件。
第二步:对源程序进行编译连接。生成可执行文件。
第三步:执行可执行文件中的程序。
可执行文件包含两部分内容:
程序(从源程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据)
相关的描述信息
……………………………………………分隔符…………………………………………………
某一源程序示例:
assume cs:abc…………………………...假设此段和某段寄存器相关联。
abc segment………...
阅读全文 |
评论次数(2) |
浏览次数(183) |
所属类型(汇编笔记)
[2012-02-21 14:55] 第三章笔记
第三章 寄存器(内存访问)
字单元的概念:字单元,即存放一个字型数据(16)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。
MOV指令中的[]说明操作对象是一个内存单元,[]中的内容是这个内存单元的偏移地址。
用MOV指令访问内存单元,可以在MOV指令中只给出单元的偏移地址,此时,段地址默认在DS寄存器中。
在内存和寄存器之间传送字型数据时,高地址单元和高8位寄存器、低地址单元和低8位寄存器相对应。
栈顶的元素总是最后入栈,需要出栈时,又最先被从栈中取出。栈的这种操作规则被称为:LIFO(Last I...
字单元的概念:字单元,即存放一个字型数据(16)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。
MOV指令中的[]说明操作对象是一个内存单元,[]中的内容是这个内存单元的偏移地址。
用MOV指令访问内存单元,可以在MOV指令中只给出单元的偏移地址,此时,段地址默认在DS寄存器中。
在内存和寄存器之间传送字型数据时,高地址单元和高8位寄存器、低地址单元和低8位寄存器相对应。
栈顶的元素总是最后入栈,需要出栈时,又最先被从栈中取出。栈的这种操作规则被称为:LIFO(Last I...
阅读全文 |
评论次数(1) |
浏览次数(689) |
所属类型(汇编笔记)
[2012-02-21 14:50] 第二章笔记
第二章:寄存器
一个典型的CPU由运算器、控制器、寄存器等器件构成,这些器件靠内部总线相连。
在CPU中:
运算器进行信息处理;
寄存器进行信息存储;
控制器控制各种器件进行工作;
内部总线连接各种器件,在他们之间进行数据的传送。
程序员通过改变各种寄存器中的内容来实现对CPU的控制。
通用寄存器:AX、BX、CX、DX。
段寄存器:CS、SS、DS、ES。
16位通用寄存器(ax、bx、cx、dx)可以分为两个8位寄存器来用。如:ax可以分为ah和al。
在进行数据传送或运算时,要注意指令的两个操作对象的位数应当是一致的。
操作数
0~9开头...
一个典型的CPU由运算器、控制器、寄存器等器件构成,这些器件靠内部总线相连。
在CPU中:
运算器进行信息处理;
寄存器进行信息存储;
控制器控制各种器件进行工作;
内部总线连接各种器件,在他们之间进行数据的传送。
程序员通过改变各种寄存器中的内容来实现对CPU的控制。
通用寄存器:AX、BX、CX、DX。
段寄存器:CS、SS、DS、ES。
16位通用寄存器(ax、bx、cx、dx)可以分为两个8位寄存器来用。如:ax可以分为ah和al。
在进行数据传送或运算时,要注意指令的两个操作对象的位数应当是一致的。
操作数
0~9开头...
阅读全文 |
评论次数(1) |
浏览次数(650) |
所属类型(汇编笔记)
[2012-02-21 14:47] 《汇编语言》笔记〈第一章〉
《汇编语言(第二版)》
——笔记•敉沧
第一章:基础知识
<附>进制数示例(1-15):
二进制: 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
八进制: 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17
十进制: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
——笔记•敉沧
第一章:基础知识
<附>进制数示例(1-15):
二进制: 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
八进制: 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17
十进制: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
阅读全文 |
评论次数(1) |
浏览次数(741) |
所属类型(汇编笔记)