asm
不知名小ITer
滴水穿石...
展开
-
汇编语言学习笔记(2)
21.段的概念:其实内存并没有分段,段的划分来自于CPU.在8086PC机中,存储单元的地址用两个元素来描述,即段地址+偏移地址.22.段寄存器:在8086中有4个段寄存器:CS,DS,SS,ES.23.CS和IP是8086中最关键的两个寄存器:它们联合指示了CPU当前要读取指令的地址.CS为代码段寄存器,IP为指令指针寄存器.在8086中,任意时刻,CPU将CS:IP指向的内容当作指令原创 2009-11-06 15:46:00 · 1306 阅读 · 0 评论 -
汇编语言学习笔记(3)
35.栈:先进后出,涉及到入栈(PUSH)和出栈(POP)两个概念. a)push ax //表示将ax中的数据送入栈中 b)pop ax //表示从栈顶取出数据送入ax36.8086CPU的入栈和出栈操作都是以字为单位进行的.那么如何知道哪一段被当作栈在使用..?----How...? PUSH和POP时,需要知道栈原创 2009-11-06 16:42:00 · 909 阅读 · 0 评论 -
汇编语言学习笔记(1)
大学时曾学习过汇编语言,现在想深入了解一下底层原理,又学习了一遍汇编语言和操作系统原理.学习汇编语言时,整理出的笔记,按知识点记录,可能会比较混乱,需要的可以看看,对知识点进行补充. 1.汇编指令:是机器指令便于记忆的书写格式.2.寄存器:CPU中用来存储数据的器件,一个CPU有多个寄存器.3.汇编语言的组成: a)汇编指令:机器码的助记符,有对应的机器码; b原创 2009-11-06 14:44:00 · 1105 阅读 · 0 评论 -
汇编语言学习笔记(4)
45.第一个完整汇编源程序:e.g: assume cs:code code segment start: mov ax,0123H mov bx,0456H add ax,bx add ax,ax mov ax,4原创 2009-11-06 17:57:00 · 910 阅读 · 0 评论 -
汇编语言学习笔记(6)
63.一般来说,需要暂存的数据,我们都应该使用栈.64.offset是由编译器处理的符号,它的功能是取得标号的偏移地址. 65.ret和retf指令 ret指令用栈中的数据,修改IP的内容,从而实现近迁移 retf指令用栈中的数据,修改CS和IP的内容,从而实现远迁移.实际上一个是段内迁移,一个则可用于段之间的迁移. 66.CPU执行ret指令时,会进行原创 2009-11-13 16:51:00 · 1106 阅读 · 0 评论 -
汇编语言学习笔记(5)
最近比较忙..汇编的学习停了两天...现在继续...54.关于[bx]和loop指令. 要完整的描述一个内存单元,需要的有两点: a)内存单元的地址 b)内存单元的长度(类型)[bx]可以表示一个内存单元,它的偏移地址在bx中: mov ax , [bx]将一个内存单元的内容送入ax中原创 2009-11-13 16:19:00 · 764 阅读 · 0 评论