04 2016 档案
摘要:这2个指令也是转移指令,一起用的时候有特效~~~~ 10.1 ret and retf ret 相当于pop ip 把栈顶的字弹出到ip retf相当于先执行pop ip and pop cs 10.2 call 执行2步 1 先把IP或cs和ip推入栈中 2 转移到 标号或内存处 10.3 cal
阅读全文
摘要:这里讲一个特殊的寄存器,flag 先看flag的16位显示 11.1 zf 指令执行后,结果0,ZF=1 指令执行后,结果不为0,ZF=0 11.2 pf 指令执行后,所有bit位中1的个数是否位偶数,若为偶数,那么pf=1 若为奇数,pf=0 11.3 sf 指令执行后,结果负,SF=1 指令执行
阅读全文
摘要:啥叫转移指令 修改IP或同时修改CS和IP的指令 只修改IP叫段内转移 同时修改CS和IP叫段间转移 段内转移又分为短转移和近转移 短转移 IP修改范围-128-127 近转移IP修改范围-32768-32767 基本的就上面的 9.1 offset 操作符 s1:mov bx,offset s1
阅读全文
摘要:计算机进行数据处理的时候要知道2个基本问题 刚开始定义了2个描述性符号备用 reg和sreg reg 表示一个寄存器如 ax,bx,cx,dx,ah.......sp,bp,si,di sreg表示一个段寄存器 如 ds,ss,cs,es 8.1 bx,si,di,bp 8.2 数据放在什么地方 数
阅读全文
摘要:这章讲一些寻址方法,对前面寻址方法的总结把 7.1 and or 2个指令 上栗子 mov al,00001111b and al,11110000b al=00000000b mov al,00001111b or al,11110000b al=11111111b 7.2 ASCII码 之前就写
阅读全文
摘要:程序到了内存中我们分为code(代码)段,也就是大部分指令段,数据段,栈 6.1 在代码段中使用数据 上图 dw表示define word定义一个字,16位 会出现cs执行的前16位是数据段,后面才是指令,所以要把IP设成10h 或者直接在第一条指令前面在start,再在最后面的end start
阅读全文
摘要:这章算是一个实践部分把,写 了一个汇编程序,并用debug去跟踪每条指令的进程,看寄存器和内存的变化,算是对之前的一个小总结把 4.1 源程序到执行的过程 一个汇编程序写好,要编译成目标文件,文件后缀是obj的,再链接形成exe后缀的,再接着去执行 4.2 源程序 直接上图把 伪指令由编译器执行,汇
阅读全文
摘要:mov ax,[0] 把一个内存单元给寄存器ax,内存单元长度2个字节,偏移地址0,段地址ds mov al,[0] 把一个内存单元给寄存器al,内存单元长度1个字节,偏移地址0,段地址ds so:要描述一个内存单元,需要1.ds和偏移地址2.内存单元长度 [bx]也表示一个内存单元,偏移地址在寄存
阅读全文
摘要:3.1 内存中的字 内存中的字是16位的,以2个内存单元存储 地址大的存高位(字的左边8位),地址小的存低位(字的右边8位) 字单元:存放1个字形数据的内存单元,由2个内存单元组成,共16位 3.2 DS 一个寄存器的名字,用来放数据段的段地址 mov 指令可以把数据转到寄存器,一个寄存器的内容转到
阅读全文
摘要:CPU由运算器,控制器,寄存器等器件组成 汇编指令可以操作寄存器中的数据。如mov AX,BX就是把寄存器BX中的值加上寄存器AX中的值,再把结果放在AX上 8086CPU的寄存器的有14个,这里就讲AX,BX,CX,DX,CS,IP这么几个先 2.1通用寄存器 就是指AX,BX,CX,DX 用来存
阅读全文
摘要:1.1 机器语言 机器语言就是机器指令的集合。机器指令是啥呢?就是一列二进制的数据,计算机把它转成高低电平,使计算机的其他器件驱动并运算。(计算机如何使用2进制语言?) 早期程序都是用机器语言写的,但是有个问题就是太麻烦,数据信息太长,写错一个0或1就会来BUG了。 这种机器语言根本不是人写的,注定
阅读全文
摘要:今天写抽象数据类型的表 抽象数据类型(ADT)是个啥? 就是定义了一块数学模型和对这块数学模型的操作。 现在就讲下今天的大头,LIST ADT 从最表的最简单格式讲 数组 数组的数学模型就是arr=[1,2,3]; 数组的操作就是打印数组,查找元素,这些操作可以自己添加,比如找previous或者n
阅读全文
摘要:这里主要讲指针修饰符,推导处所有修饰符的使用方法 先介绍下内存的分布,内存可以看做是有变量名,变量名地址和变量值组成的3部分,其实变量名和变量地址可以看成一个东西 先从最简单的开始看把 这句话声明了一个变量名p,变量名p的值(往左移动是数据类型),变量值是int的数据类型 再看单一指针 这句话声明了
阅读全文
摘要:C在处理数据方面有多种方案,这里写书上的3种 联合 和结构差不多,也需要联合声明和定义联合变量 需要注意的是对联合来说,同一存储空间可以存储不同的数据类型,但是同一时刻不同存储不停的类型,就比如有一个联合变量a,a已经用来放int类型的数据了,就不能再用来放float类型的数据了。 枚举 枚举类似结
阅读全文
摘要:今天就写下C结构吧 C的结构分为2部分,声明结构和定义结构变量 声明结构 先讲声明结构把,直接上声明结构的格式 C结构说白了就是js的对象把,这个东西的存在就是为了将不用数据类型的数据放在一起。放在一起之后怎么才能找到这些数据呢? 这就用到了结构的第二个部分,定义结构变量,用结构变量去找这个结构的数
阅读全文
摘要:今天就很简单地写下C的内存分配问题 理想化的情况下,C的内存分配有3部分 分别是静态变量的内存,自动变量的内存,动态分配的内存 静态变量内存 在程序编译的时候知道的内存数量,这些数据在整个程序运行的时间都是可用的,lifetime是整个运行周期 自动变量的内存 进入代码块的变量定义的地方,为变量分配
阅读全文

浙公网安备 33010602011771号