- 博客(24)
- 资源 (3)
- 收藏
- 关注
原创 call和ret
俗话说好事成双又成对,call和ret这对小冤家通常形影不离不离不弃。当然,这里不讨论闹别捏吵架闹分手等情况。call和ret都是转移指令,经常用于实现子程序设计,说到子程序就不得不提模块化程序设计,说到模块化就不得不解释这个词,何为模块化?简单的讲就是两个字:分工。他的目的在于使复杂的问题变的简单。从程序本身上来讲,模块化设计是必不可少的,它把一个复杂的问题进行分析,把它转化成相互联系、
2012-04-19 00:46:37
710
原创 jcxz
转移指令就是控制CPU执行内存中某处代码的指令。简单的讲就是本来范伟崴的是左脚,通过赵本山的一句话( 转移了! ),就给转移到了右脚上。这里赵本山所说的话就相当于是转移指令,而且范伟还是无条件的转移,根本不问原因直接问(大哥,我得用点什么药呢? )但是!jcxz是有条件转移指令.如赵本山想要范伟的自行车,向范伟发出指令。范伟接到指令后通过判断自身以后可能就告别自行车了(你说像
2012-04-17 23:36:28
5085
原创 4.4 编译
<br />在编译过程中,我们提供了一个输入,即源程序文件。<br />最多可以得到3个输出”目标文件(.obj) 、列表文件(.lst)、交叉引用文件(.crf)<br />在这3个输出文件中,目标文件是我们最终要得到的结果,而另外连个只是中间结果(编译器将源程序编译为目标文件的过程中产生的中间结果),可以让编译器忽略对他们的生成。
2011-01-04 13:57:00
451
原创 3.6 栈
<br />栈是一种具有特殊的访问方式的存储空间,它的特殊性就在于,最后进入这个空间的数据,最先出去。<br />栈有两个基本的操作:入栈和出栈<br />入栈就是将一个新的元素放到栈顶<br />出栈就是从栈顶取出一个元素。<br />栈顶的元素总是最后入栈,需要出栈时,又被最先从栈中取出,这种操作规则被称为:LIFO(Last In First Out,后进先出)
2011-01-02 17:41:00
442
原创 3.4 mov、add、sub指令
-----------------------MOVMOV目前有以下几种:mov 寄存器,数据mov ax,8mov 寄存器,寄存器mov ax,bxmov 寄存器,内存单元mov ax,[0]mov 内存单元,寄存器mov [0],axmov 段寄存器,寄存器mov ds,ax猜想1:既然有“mov 段寄存器,寄存器”,从寄存器向段寄存器传送数据,那么也应该有“mov 寄存器,段寄存器”,从段寄存器向寄存器传送数据。我们可以验证一下:进入Debug 用-A命令在一个预设的地址1000:0处,用汇编的形式m
2010-12-27 17:15:00
3748
原创 进制转换问题(段地址×16+偏移地址)
二进制*2 八进制*8 十进制*10 十六进制*16 其中2,8,10,16都是十进制的 要将十进制转换为相应的进制才行 "段地址×16+偏移地址"这里的16也是十进制的 要转换成十六进制 也就是10 转换后为了方便计算可以看成(段地址*10+偏移地址)
2010-12-23 16:14:00
2215
原创 偏移地址范围
从书上得知 偏移地址为16位,16位地址最大寻址能力为64KB,所以一个段长度最大为64K(0H~FFFFH)8086CPU为16位 得出64K = 2^1664K=65536Byte = 2^16Byte物理地址=SA*16+EAEA的范围是0H~FFFFH(内存单元划分为:0~65535)
2010-12-18 17:00:00
3102
1
原创 2.6 8086 CPU给出的物理地址的方法
8086是16位结构的CPU,16位结构的CPU常见的几种说法是(16位机,字长为16位等,与16为结构含义相同)。16位结构描述了一个CPU具有下面几个方面的结构哦特征:。运算器一次最多可以处理16位的数据。寄存器的最大宽度为16位。寄存器和运算器之间的通路为16位8086是16位结构的CPU,也就是说在8086内部能够一次性处理、传输、暂时存储的信息的最大长度是16位。内存单元的地址在送上地址总线之前,比须在CPU中处理、传输、暂时存放,对于16位的CPU能一次性处理、传输、咱数存储16位的地址。---
2010-12-18 16:00:00
2298
原创 16进制数之间的加减法
<br />16位进制加减运算<br />3D25H - 05C3H = 3762H<br /> 3D25<br />-05C3<br />5-3=2<br />2-C=2-12 = (16+2-12) = 6 (由于2-12不够减,所以向前借1 即16)<br />D-5=(13-1-5) = 7(13-1是因为2-12不够而被借走了一位)<br />3-0=3<br />结果为:3762H<br />用十进制时向前借1位就是借10,而在16进制里向前借1就是借16<br /> <br />3762H+0
2010-12-14 18:22:00
46634
12
原创 地址总线,地址总线宽度,寻址能力
地址总线,地址总线宽度,寻址能力N根地址总线的宽度为N,你就把它看作是地址总线=地址总线宽度。它的寻址能力为2的N次方个内存单元寻址能力(Byte)= 2^地址宽度寻址能力为8K 地址总线宽度N是多少N = 寻址能力(Byte)= 2^N=8K*1024Byte = 2^N = 13
2010-12-12 16:49:00
5888
原创 十进制转换成二进制数
<br />10进制数转换成二进制数,这是一个连续除2的过程: <br /> 把要转换的数,除以2,得到商和余数, <br /> 将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。 <br /> 听起来有些糊涂?我们结合例子来说明。比如要转换6为二进制数。 <br /> “把要转换的数,除以2,得到商和余数”。 <br /> 那么: <br />十转二示意图<br />要转换的数是6, 6 ÷ 2,得到商是3,余数是0。 <br /> “将商继续除以2,直到商为0……”
2010-12-08 15:16:00
1513
原创 二进制数转换为十进制数
<br />二 ----> 十 二进制数转换为十进制数 <br /> 二进制数第0位的权值是2的0次方,第1位的权值是2的1次方…… <br /> 所以,设有一个二进制数:0110 0100,转换为10进制为: <br /> 下面是竖式: <br /> 0110 0100 换算成 十进制 <br /> " ^ " 为次方 <br /> 第0位 0 * 2^0 = 0 <br /> 第1位 0 * 2^1 = 0 <br /> 第2位 1 * 2^2 = 4 <br /> 第3位 0 *
2010-12-08 15:10:00
1226
原创 Linux_shell_grep
<br />grep的三种变形<br />Grep:标准grep命令 <br />Egrep:扩展grep,支持基本及扩展的正则表达式,但不支/q模式范围的应用<br />Fgrep:快速grep 允许查找字符串而不是一个模式<br /> <br />grep选项<br /> -c 只输出匹配行的计数<br /> -i 不区分大小写<br /> -h 查询多文件是不显示文件名<br /> -l 查询多文件时只输出包含匹配字符的文件名<br /> -n 显示匹配行及行号<br />
2010-06-05 17:56:00
719
原创 Linux_shell_正则表达式
1.使用句点匹配单字符句点 "." 可以匹配任意单字符。在ls -l命令中 可以匹配一定的权限下面命令列出所有权限(所有用户)具有执行权限# ls -l | grep ...x..x..xdrwxr-xr-x 2 root root 4096 05-22 12:52 bindrwxr-xr-x 4 root root 1024 05-21 17:11 bootdrw
2010-05-28 23:33:00
513
原创 Linux_shell_命令执行的顺序
在执行某个命令的时候,有时候要依赖于其哪一个命令是否执行成功。如果希望在成功的执行一个命令之后在执行另一个命令或者在一个命令失败后在执行另一个命令,&& 和 || 可以完成这样的功能。相应的命令可以是系统命令或shell脚本shell还提供了在当前shell或子shell中执行一组命令的方法 () 和 {} 1. &&格式:命令1 && 命令2左面的命令1返回真(返回0
2010-05-28 13:46:00
845
原创 Linux_shell_shell的输入与输出
大多数使用标准输入的命令都指定一个文件作为标准输入 1.echo#echo "Hello Word"将输出Hello Word 如果想把Hello Word输出到文件中中 使用重定向符号> 下面命令将HelloWord字符写入myfile文件中echo "Hello Word" > myfile 2. read可以使用read语句从键盘或文件的某一行文本中读
2010-05-28 12:58:00
617
原创 Linux_shell_文件名置换
当我们需要查找所需文件时,shell提供了一套完整的字符串模式匹配规则,或者称之为元字符。还可以使用字符类型来匹配文件名。1.匹配文件名中的任何字符2.匹配文件名中的单个字符3.匹配文件名中的字母或数字字符 特殊字符:* 匹配文件名中的任何字符串,包括空字符串? 匹配文件名中的任何单个字符[...] 匹配[]中所包含的任何字符[!...]匹配[]
2010-05-26 15:24:00
701
原创 Linux_shell_后台执行命令
党在终端或控制台工作时,可能不希望由于运行一个作业(不是你在学校老师布置的作业)而占住了屏幕,因为可能还有更重要的事情要做,对于密集访问磁盘的进程,你可能希望它能够在每天的非负荷高峰时间段运行,为了使这些进程能够在后台运行,也就是说不再终端屏幕上运行,有几种选择方法提供使用。 1. 设置crontab文件,并用它来提交作业 2. 使用at命令来提交作业 3. 在后台提交作业
2010-05-25 09:34:00
1964
原创 Linux_shell_find
在运行一个耗资源的find命令时 多数人喜欢在后台执行find命令的一般形式为:find pathname -options [-print -exec -ok]pathname fina命令所查找的目录路径 . 表示当前目录, / 表示系统根目录-print find命令将匹配的文件输出到标准输出-exec find命令对匹
2010-05-24 16:06:00
1189
原创 Linux_shell_文件安全与权限(04)
1.9 符号链接链接有两种:软链接和硬链接软链接实际上就是一个指向文件的指针 命令形式:ln [-s] source_path target_path 示例:在系统中 var目录项目有一个log目录 里面有一个日志文件yum.log 为了方便查看 我们想要在根目录中就能直接访问到如下命令 #ln -s var/log/yum.log /myyum.log
2010-05-23 20:58:00
402
原创 Linux_shell_文件安全与权限(03)
1.8 umask当最初登录到系统时,umask命令确定了你创建文件的缺省模式umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字最大值分别是6.(系统不允许你在创建一个文本文件时就赋于执行权限,需用chmod增加)对于目录来说,这一数字最大值分别是7 计算umsak值:计
2010-05-23 16:26:00
410
原创 Linux_shell_文件安全与权限(02)
1.5目录的权限与文件的权限有着很大的不同目录权限: r w x可以列出该目录中的的文件 可以在该目录中创建和删除文件
2010-05-22 21:41:00
449
原创 Linux_shell_文件安全与权限(01)
一个文件一经创建就具有三种访问方式:1.读2.写3.执行按照所针对的用户,文件的权限可分为三类:1.文件属主2.同组用户3.其他用户 1.1文件一个文件一经创建系统将保存其所有信息(文件位置、文件类型、文件长度、文件的权限等)1.2文件类型文件的类型有7种(可以用ls -l 命令查看得出的结果的第一位看出) d 目录 l 符号链接
2010-05-22 13:55:00
554
原创 vsftp无法使用root登录
防火墙关闭(service iptables stop)vsftp开启 (service vsftpd start)开启了root上传权限 但是连接的时候报错:(vsftpd下面ftpuser 和 user_list 把root注释)500 OOPS:cannot change directory:/root解决办法:1、 查看 SELinux 的状态: sestatus
2010-05-12 18:54:00
1173
CSS设计彻底研究+代码书中实例(全)
2009-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人