汇编
文章平均质量分 67
longxin5
这个作者很懒,什么都没留下…
展开
-
用汇编编写DOS下的内存驻留程序(2)
转自:http://www.x86asm.com/DisplayArticle.asp?BoardID=5&ArticleID=11 基本原理2.1 8086/8088 IBM PC中央处理单元(Central Processing Unit)是微处理器Inter 8088,8088是8086是小的版本.对于编写程序而言,两者几乎完全相同.两者之间的差别是在于:它们对外...2010-05-05 11:02:15 · 141 阅读 · 0 评论 -
用汇编编写DOS下的内存驻留程序(1)
转自:http://www.x86asm.com/DisplayArticle.asp?BoardID=5&ArticleID=10 绪言0.1 内存驻留与中断 内存驻留程序英文叫Terminate and Stay Resident Program,缩写为TSR.这些程序加载进内存,执行完后,就驻留在内存里,当满足条件时,调到前台来执行。 内存驻留程序的常用形式有: ...2010-05-05 11:01:21 · 715 阅读 · 0 评论 -
补码 左移与右移 32位系统
QQ:797801计算机中的-2就是11111110b,而数学上的-2没法在计算机中直接存储,所以就有个算法来计算应该怎么存储。就是正数的反码+1,因为这个数正好加上原来的正数=0(溢出部分不管) 首先,你要理解,计算机里面没有负数的概念,所有数都是无符号数。但是逻辑上有负数,怎么办呢?让他计算正确就OK了,那么负数就成正数取反+1了 你别太关心啥补码,反码的...2010-05-02 11:04:35 · 291 阅读 · 0 评论 -
c语言控制语句对应的汇编语句代码
转:http://blog.csdn.net/mindview/archive/2008/03/17/2192878.aspx 1、if-thenif-then语句的通用形式为: if (test-expr) then-statement else else-statement 这里的test-expr是整型表达式,它的取值为0或者...2010-04-29 18:15:30 · 211 阅读 · 0 评论 -
罗云彬汇编
第1章 背景知识 1.3 必须了解的东西(2) 80386的段寄存器是16位的,无法放下保护模式下64位的段描述符。如何解决这个新的问题呢?解决办法是把所有段的段描述符顺序放在内存中的指定位置,组成一个段描述符表(Descriptor Table);而段寄存器中的16位用来做索引信息,指定这个段的属性用段描述符表中的第几个描述符来表示。这时,段寄存器中的信息不再是段地址...原创 2009-08-11 12:55:15 · 191 阅读 · 0 评论 -
罗云彬汇编 段地址 保护模式寻址
第1章 背景知识 1.3 必须了解的东西(2) 在实模式下,一个完整的地址由段地址和偏移地址两部分组成。段地址放在16位的段寄存器中,然后在指令中用16位的偏移地址寻址。处理器换算时先将段地址乘以10h,得到段在物理内存中的起始地址;然后加上16位的偏移地址得到实际的物理地址。如xxxx:yyyy格式的虚拟地址在内存中的实际位置是xxxx×10h+yyyy。当803...原创 2009-08-08 23:10:23 · 87 阅读 · 0 评论 -
windows的特色 罗云彬汇编
第1章 背景知识 1.2 Windows的特色 对于使用者来说,关于Windows的特色毋须多言,下面的几个特点足以使它广泛流行:● 图形用户界面(GUI,Graphic User Interface的缩写词)——Windows最重要的特色,用户由此摆脱了字符界面操作系统必须死记的键盘命令和令人一头雾水的屏幕提示,改为以鼠标为主可以直接和屏幕上所见即所得的东西进...原创 2009-08-08 22:50:07 · 160 阅读 · 0 评论 -
debug 的使用
Debug 启动 Debug,它是可用于测试和调试 MS-DOS 可执行文件的程序。 Debug [[drive:][path] filename [parameters]] 参数 [drive:][path] filename 指定要测试的可执行文件的位置和名称。 parameters 指定要测试的可执行文件所需要的任何命令行信息。 ++ 说明 使用 Debug 命令但不指定要测试的...原创 2009-08-06 13:05:14 · 114 阅读 · 0 评论 -
中山第22集
几个关键字:SEG, OFFSET, TYPE, LENGTH, size (1) 操作符SEG返回变量所在段的段值(2) OFFSET返回变量或者标号的偏移 (3)type操作符返回变量或标号的类型,类型用数值表示,常见类型和对应的数值规定如下: 字节(BYTE)变量 1 字变量(WORD) 2 双字变量(DWORD) 4 近(NEA...2009-07-20 20:51:39 · 91 阅读 · 0 评论 -
中山汇编第七集
传送指令: mov dst, src源操作数可以是累加器,寄存器,存储单元以及立即数,而目的操作数可以是累加器,寄存器和存储单元;注意:源和目的操作数不能同时是段寄存器;代码段寄存器CS不能作为目的;指令指针既不能作为源,也不能作为目的。 立即数不能直接送到段寄存器;除了串操作指令外,不能同时是存储器操作数;必须有一个是寄存器1. mov bx, off...2009-07-19 14:12:15 · 84 阅读 · 0 评论 -
中山汇编第6集与第7集部分
中山汇编第6集与第7集部分 第6种常用寻址方式: 1. 基址加变址寻址方式 : 操作数在存储器中,操作数的有效地址由基址寄存器之一的内容和变址寄存器之一的内容相加, 即: (BX) (SI) ...2009-07-18 22:08:32 · 87 阅读 · 0 评论 -
中山视频第5集
寻址:即寻找操作数的物理地址(在存储器中的物理地址); 8086常用7种寻址方式: 1. 立即数寻址: mov ax, 5H; //--操作数存在存储器中,即内存中,但是是紧跟着操作码mov的地方; 2. 寄存器寻址: mov ax, bx; //--操作数存放在寄存器中,直接赋值就是; 3. 直接寻址: mov ax, [1234H]; ...2009-07-17 22:17:32 · 90 阅读 · 0 评论 -
中山汇编视频第4集--存储器地址
中山汇编视频第4集 存储器里以字节为单位存储信息,每一个字节单元给以一个存储器的地址; 一、 8086/8088CPU有20根地址线,可寻址1M(2的20次方)的内存空间; 内存地址以20位地址进行编码,即内存的物理地址为一个20位2进制位的数字,对应的16进制位为5位(4个二进制位顶一个16进制位);00000H~FFFFFH; ...2009-07-17 20:25:30 · 103 阅读 · 0 评论 -
用汇编编写DOS下的内存驻留程序(3)
转自:http://www.x86asm.com/DisplayArticle.asp?BoardID=5&ArticleID=12 三 中断矢量3.1 IBM PC提供的中断 IBM PC有两种基本形态的中断.如果是由外围设备所产生的中断就叫做硬件中断(Hardware interrupt),譬如:键盘,磁盘机和时钟等外围设备都可以产生硬件中断.外围设备所产生的中断信号都连...2010-05-05 11:03:21 · 247 阅读 · 0 评论 -
用汇编编写DOS下的内存驻留程序(4)
转自:http://www.x86asm.com/DisplayArticle.asp?BoardID=5&ArticleID=13 四 基本的驻留程序4.1 一个基本的COM程序 DOS之下有两种形式的可执行文件,这两种文件分别是COM文件和EXE文件.其中,COM文件可以迅速地加载和执行,但是其大小不能超过64K字节,只能有一个段,代码段.而且起始地址为100H指令必须为程序的...2010-05-05 11:04:36 · 736 阅读 · 0 评论 -
用汇编编写DOS下的内存驻留程序(5)
转自:http://www.x86asm.com/DisplayArticle.asp?BoardID=5&ArticleID=14 五 键盘输入扩充程序 有了前一节的基本驻留程序为基础,就可以建立起不同的应用程序.接下来,就写一个驻留程序,把用户敲入的字符,用一系列的字符来取代.这样可以减少用户的击键次数. 首先,先复习一下前一节的驻留程序的格式,如下所示: cs...2010-05-05 11:05:40 · 212 阅读 · 0 评论 -
堆和栈(堆栈)的区别
转自:http://www.360doc.com/showWeb/0/0/28586392.aspx 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由...原创 2010-05-20 16:47:58 · 167 阅读 · 0 评论 -
关于补码
摘自: 黑客基地汇编特训班(免费)简单汇编教程2 数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过我们绝大多数人生来具有10个手指头这个解剖学事实的结果.尽管在历史上手指计数(5,10进制)的实践要比二或三进制计数出现的晚."(摘自<<数学发展史>...原创 2009-09-11 12:37:59 · 95 阅读 · 0 评论 -
用debug查看主板的生产日期
用DEBUG的U命令将内存中的机器指令翻译成汇编指令: 在DEBUG 执行后,执行:d ffff:0005看到主板的生产日期为:XX/XX/XX,月/日/年2009-09-11 12:32:07 · 993 阅读 · 0 评论 -
曾经的CIH病毒威震天下,快看看这V1.5版本的代码
转自:http://www.x86asm.com/DisplayArticle.asp?BoardID=4&ArticleID=72 ****************************************************************************; * The Virus Pro...原创 2009-09-09 13:52:25 · 422 阅读 · 0 评论 -
不用操作系统提供的函数进行关机 汇编
转自:http://www.osdiy.com/Blog/article.asp?id=20 最近一直忙着在上海搞IPTV2.0的东西,好几个月没更新Blog了。最近终于学会如何不用操作系统提供的函数进行关机了。其实很简单,先获得Fixed ACPI Description Table中的相关数据,然后执行一下代码就OK了mov edx,PM1a_EVT_BLKmov ebx,...原创 2009-09-09 11:57:02 · 437 阅读 · 1 评论 -
关于RMVB媒体文件播放时候的弹出广告作者:天杀
转自:http://www.osdiy.com/Blog/article.asp?id=7 一日,上网下载回一RMVB影片,看几分钟后就弹出一些IE的广告窗口来,实在太烦,操起工具就开始分析。1.用Process Explorer看进程关系,明确看到是mplayerc.exe启动的IEXPLORE.EXE2.用OllyDbg附加到mplayerc.exe,既然是它创建的进程,那...原创 2009-09-09 11:45:36 · 145 阅读 · 0 评论 -
第三章: 堆栈平衡
摘自:win32汇编---罗云彬 第3章 使用MASM3.3 标号、变量和数据结构(2)2. 局部变量的初始化值显然,局部变量是无法在定义的时候指定初始化值的,因为local伪指令只是简单地把空间给留出来,那么开始使用时它里面是什么值呢?和全局变量不一样,局部变量的起始值是随机的,是其他子程序执行后在堆栈里留下的垃圾,所以,对局部变量的值一定要初始化,特别是定义为...原创 2009-09-08 23:11:56 · 398 阅读 · 0 评论 -
用汇编语言实现RESET启动和热启动
转自:http://aogosoft.com/bbs/mixpage.asp?mode=viewoktext&fileid=69168 用汇编语言实现RESET启动和热启动 程序名: RESET.ASM/BOOT.ASM 程序类别: 完整的汇编语言程序 功能: 用程序完成RESET启动和热启动 使用说明: 汇编连接以后转换为com文件运行 程序说明: 在日常用机...原创 2009-09-08 14:36:28 · 719 阅读 · 0 评论 -
Win32笔记--第3章 使用MASM
第3章 使用MASM 3.3 标号、变量和数据结构(1) 1. 变量是计算机内存中已命名的存储位置2009-09-07 22:17:11 · 70 阅读 · 0 评论 -
Win32汇编笔记
http://www2.zzu.edu.cn/qwfw/hbyycai/courses/list.asp?id=343 DEBUG的使用2009-9-6第4章 第一个窗口程序1. 在屏幕上显示一个窗口的过程一般有以下步骤,这就是主程序的结构流程:(1)得到应用程序的句柄(GetModuleHandle)。(2)注册窗口类(RegisterClassEx)。在注册之前,要先填写Regi...2009-09-07 22:14:42 · 111 阅读 · 0 评论 -
第一个Win32汇编
使用的编译器是:Masm32v8,Win32汇编的编译器 步骤:1.打开masm文件夹下的QEDITOR.EXE;2. 建好如下文件;3. Project--->Build All --->Run Program 即可运行 .386 .model flat, stdcall option casemap :none ; cas...原创 2009-09-05 14:02:22 · 87 阅读 · 0 评论 -
OllyDBG 入门系列(三)-函数参考
转自:http://bbs.pediy.com/showthread.php?t=21330 OllyDBG 入门系列(三)-函数参考作者:CCDebuger现在进入第三篇,这一篇我们重点讲解怎样使用 OllyDBG 中的函数参考(即名称参考)功能。仍然选择 crackmes.cjb.net 镜像打包中的一个名称为 CrackHead 的crackme。老规矩,先运行一下...原创 2010-05-06 14:07:42 · 129 阅读 · 0 评论 -
OllyDBG 入门系列(二)-字串参考
转自:http://bbs.pediy.com/showthread.php?s=&threadid=21308 OllyDBG 入门系列(二)-字串参考作者:CCDebuger上一篇是使用入门,现在我们开始正式进入破解。今天的目标程序是看雪兄《加密与解密》第一版附带光盘中的 crackmes.cjb.net 镜像打包中的 CFF Crackme #3,采用用户名/序列...2010-05-05 19:02:27 · 207 阅读 · 0 评论 -
第二章 寄存器
看了视频后,特总结如下: 1. CPU有14个16位的寄存器,8个8位的寄存器; 2. CPU的14个16位寄存器分为: (1) 通用寄存器数据寄存器: AX, BX, CX, DX; (AX: 累加器; BX:; CX:计数寄存器;DX:)指针寄存器: SP, BP;(堆栈指针)变址寄存器: SI, DI;(SI: 源变址指针; DI: 目的变址...2009-07-16 21:57:13 · 73 阅读 · 0 评论 -
小结一个早上的汇编 2009-7-5
今天早上看了一些汇编相关的东西,特小结一下: 1. 使用了一下debug 程序, -a 100 表示从100偏移量开始输入汇编程序代码 输入完后, 用-g 参数执行刚输入的汇编程序代码 -w 参数将当前汇编程序代码写入到硬盘中 -u 100反汇编刚才输入的代码,可以查看输入的源代码 -r 查看寄存器的值 2. 汇编程序结...2009-07-05 12:50:03 · 59 阅读 · 0 评论 -
汇编中的mov传送
汇编中的mov传送 这里分四大类型: 1. 数据 1234H 2. 内存单元 10000H 3. 通用寄存器 如:ax, bx, cx, dx 4. 段寄存器 cs, ds, es, ss 一、 以下是允许的: (1) mov 段寄存器, 通用寄存器;(2) ... 二、 以下是不允许的:(...2009-09-29 14:06:23 · 107 阅读 · 0 评论 -
花指令原理
转自:http://hi.baidu.com/zhangjw918/blog/item/c69a7943e16de1189213c62f.html 第一个免杀花指令生成器--不简单的免杀工具(图)陆续将以前发表在杂志的文章放上来~,发表于《黑客X档案》,第几期忘了,呵呵 前言 相信做过免杀的朋友都知道花指令吧。加花指令是一种不错的文件免杀方法,而网上...原创 2009-09-29 09:01:23 · 600 阅读 · 0 评论 -
浮点数如何存储
转自:http://www.asmedu.net/blog/user/postcontent.jsp?neighborId=4138&kindId=4394&postId=4250&readSg=1&vs=1 浮点数的小数点是不固定的,如果每个人都按照自己的爱好存储在电脑里,那不就乱套了吗?那么怎么在计算机中存储这种类型的数字呢?象这类...原创 2009-09-28 12:32:06 · 108 阅读 · 0 评论 -
读书笔记 王爽汇编第2章
看到53页了 2009-9-29 13:52 看到48页了 看到45页了 看到25页了 看到33页了 16位的CPU最多只能存16位的数据,但是8086CPU的地址总线有20根,对内存单元来说,可以寻址1M内存单元的地址;16位的CPU要给出20位的地址,是通过地址加法器来实现的, 即CPU内部的其他部件,给出两个16位(一个是表示段地址(存在段寄...2009-09-27 13:28:52 · 60 阅读 · 0 评论 -
内存的物理地址和存储器容量
摘自:http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1003&qkSg=2&qID=16935&readSg=1 物理存储器和地址空间 物理存储器和存储地址空间是两个不同的概念。但是由于这两者有十分密切的关系,而且两者都用B、KB、MB、GB来度量其容量大小...原创 2009-09-25 13:10:54 · 1055 阅读 · 0 评论 -
汇编标志位的解释
转自:http://zhidao.baidu.com/question/38269652.html 汇编标志位: 标志名, 标志 1 标志 0OF(溢出标志) OV ...原创 2009-09-22 12:42:32 · 284 阅读 · 0 评论 -
Windows系统中 以补码表示数据
Windows系统中 以补码表示数据 用虚拟DOS测试了一下,果真是这样; 汇编如下: mov ax, -2 ; 录入一个负数mov bx, 3 ; 录入一个正数 add ax, bx ;将它们两个相加 在debug中查看结果;最后 ax = 0001 如下图所示: ...2009-09-22 12:07:48 · 128 阅读 · 0 评论 -
CPU的寻址能力与硬盘的存储能力
CPU的寻址能力与硬盘的存储能力 总结如下: 1. CPU的寻址能力有8KB,则其地址总线有几条; 答案:13条; 解释:因为一个存储单元(包括硬盘或者内存)是以一个字节也就是8个二进制位来进行存储,因此,8KB的地址有 摘自:http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&leve...2009-09-19 13:39:21 · 375 阅读 · 0 评论 -
王爽老师的汇编学习论坛---可以共同学习
王爽老师的汇编学习论坛:http://www.asmedu.net/bbs/forum.jsp2009-09-19 12:28:28 · 227 阅读 · 0 评论