ASM
benny5609
普通得不能再普通的80年代后
展开
-
x86汇编指令(1)
80x86指令系统,指令按功能可分为以下七个部分。 (1) 数据传送指令。 (2) 算术运算指令。 (3) 逻辑运算指令。 (4) 串操作指令。 (5) 控制转移指令。 (6) 处理器控制指令。 (7) 保护方式指令。 3.3.1数据传送指令 数据传送指令包括:通用数据传送指令、地址传送指令、标志寄存器传送指令、符号扩展指令、扩展传送指令等。 一、通用数据传送指令 1 传送指原创 2008-05-03 09:37:00 · 2068 阅读 · 0 评论 -
Intel汇编语言实现的演奏音乐程序
本程序通过Intel汇编语言来实现一个简单的奏乐。程序中提供一个音乐菜单,用键盘数字键选择相应的音乐后,便开始播放原先编制好的音乐。程序将帮助你进一步的了解Intel汇编语言编程的一些原理。(程序原本是汇编语言课程设计的作业,这里将自己的程序整理并贴出来与大家共享。)演奏音乐程序: 编写用键盘选择计算机演奏乐曲的程序,要求程序运行首先在屏幕上显示出乐曲菜单.例:原创 2008-06-03 18:35:00 · 4373 阅读 · 0 评论 -
“DEBUG”反汇编
DEBUG是Windows自带的调试工具,看Help吧,又是一大堆E文。 所以这里解释一下 一、A(assemble):汇编命令 命令格式:a[] 功能:从address地址开始写入汇编命令,回车结束此行,进入下一内存地址的编译。如无address参数,则默认从cs:ip下一址开始编译。 例:a 1000:1000 从1000:1000地址开原创 2008-05-30 21:04:00 · 5272 阅读 · 0 评论 -
一个汇编打字游戏程序
;-------------------------------------------------------------------------------- ;此模板是纯DOS程序代码,需要MASM5.0,编译时请使用"编译 -> DOS"方式。 ;------------------------------------------------------------------------原创 2008-06-03 18:52:00 · 1970 阅读 · 0 评论 -
C语言嵌入汇编实现音乐发声器
*sound.h*/#include #include #define NOO 1450int music1[8][6]={ {262,262,294,262,349}, {330,262,262,294,262}, {392,349,262,262,523}, {440,349,262,262,466}, {466,44原创 2008-06-03 18:29:00 · 1152 阅读 · 0 评论 -
《汇编语言》(王爽)读书笔记
第一章 基础知识◎汇编语言由3类指令组成汇编指令:机器码的助记符,有对应机器码。伪指令:没有对应机器码,由编译器执行,计算机并不执行其他符号:如+-*/,由编译器识别,没有对应机器码◎一个CPU有n根地址线,则可以所这个CPU的地址线宽度为n,这样的CPU最多可以寻找2的n次方个内存单元。◎ 1K=2^10B 1M=2^20B 1G=2^30B◎8086 CPU地址总线宽度为20,寻址范围为000原创 2008-06-10 19:20:00 · 1961 阅读 · 0 评论 -
条件汇编
条件汇编是汇编器在汇编阶段,依据所设定的条件,使汇编器汇编某一段程序,或不汇编某一段程序。一般而言,条件汇编常配合宏使用,使得撰写汇编语言源文件能有初步的结构化 (注一 )。底下小木偶使用条件汇编与宏配合而写成的一个简单程序:EXAM05.ASM。这个例子是先在屏幕上显示『计算:2593 8888 = 』字串,然后再显示结果来。这是一个是很简单的例子,但是小木偶要用一个宏来解决显示字串及数字这原创 2008-06-12 19:54:00 · 5262 阅读 · 3 评论 -
矩阵键盘产生PC机键盘信号的应用设计
矩阵键盘产生PC机键盘信号的应用设计 ■ 武汉建科科技有限公司 张卫东 http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f7266686964422c3933fc239045c1426a5e0767c4745ce917e6316af3e06acaf22376a4376b8c889d91186ac935原创 2008-06-10 17:37:00 · 2286 阅读 · 0 评论 -
集成开发环境及单片机的开发
集成开发环境概述 80年代单片机进入我国,当时较有影响的是INTEL的NCS-48系列和Zilog公司的Z80系列,20多年来单片机获得了飞速的发展,现在单片机已经渗入到工农业生产,国防军事,教育科研等诸多领域,已经形成了计算机领域的一个重要分支。 单片机的应用首先要考虑的是它的开发平台,也即我们常说的开原创 2008-06-16 10:24:00 · 4058 阅读 · 0 评论 -
汇编宏--在函数中的参数使用
include windows.incinclude kernel32.incinclude user32.incincludelib kernel32.libincludelib user32.libCTEXT MACRO y:VARARG LOCAL sym CONST segment ifidni ,<> sym db 0原创 2008-06-13 10:24:00 · 1368 阅读 · 0 评论 -
Windows汇编语言开发环境
Windows、Linux等现代操作系统都运行于CPU的保护模式下。学习保护模式的汇编语言编程,要选用合适的编译、调试工具,编译工具决定了汇编程序的语法、结构,而调试工具则能够帮助我们迅速查找程序中的错误,提高调试效率。本实验指导书采用Microsoft公司的MASM 6.14作为编译工具,Microsoft Visual C/C++作为开发调试环境。1.1 汇编程序结构和其他语言一样原创 2008-06-16 10:36:00 · 1229 阅读 · 0 评论 -
堆栈溢出技术从入门到高深(二)
三:利用堆栈溢出获得shell 好了,现在我们已经制造了一次堆栈溢出,写好了一个shellcode。准备工作都已经作完, 我们把二者结合起来,就写出一个利用堆栈溢出获得shell的程序。 overflow1.c ------------------------------------------------------------------------ ------ ch原创 2008-05-22 16:59:00 · 2168 阅读 · 1 评论 -
堆栈溢出技术从入门到高深(三)
b1 ------------------------------------------------------------------------ ---- 好,长长的shell终于写完了,下面就是攻击程序了。 exploit4.c -----------------------------------------------------------------------原创 2008-05-22 17:19:00 · 1353 阅读 · 0 评论 -
汇编指令逐个解读
MOV 指令为双操作数指令,两个操作数中必须有一个是寄存器.MOV DST , SRC // Byte / Word执行操作: dst = src1.目的数可以是通用寄存器, 存储单元和段寄存器(但不允许用CS段寄存器).2.立即数不能直接送段寄存器3.不允许在两个存储单元直接传送数据4.不允许在两个段寄存器间直接传送信息PUSH 入栈指令及POP出栈指令: 堆栈操作是以"后进先出"的方原创 2008-05-03 10:30:00 · 2326 阅读 · 0 评论 -
编程卓越之道(第二卷)汇编语言摘
3.3 80x86基本架构Intel的CPU一般归类于冯·诺依曼(Von Neumann)结构。冯·诺依曼计算机系统主要包含3大部分:中央处理单元(CPU)、内存和输入/输出(I/O)设备。这3个组件通过系统总线(包括地址总线、数据总线和控制总线)相连。图3-1给出了其相互关系。图3-1 冯·诺依曼计算机系统模块图CPU向地址总线放入地址值,以此选择内存单元位置或I/O设备端口原创 2008-05-04 03:18:00 · 1988 阅读 · 0 评论 -
给新手引路 之 浓缩汇编基础
前言: 写这篇文章出于个人兴趣,要先声明的是本人能力是非常有限!其中参考了许多文章!由于无法提供更多的信息教程,所以文章题目才叫做"给新手引路 之 浓缩汇编基础"。主要讲的是破解中所要的一些汇编知识,方便新手们理解,我将用比较通俗的语言讲述!希望大家别说我"低级" - -b 写此文的理由: 1、出于兴趣 2、助于自己学习巩固,利于新手 注原创 2008-05-03 07:51:00 · 921 阅读 · 0 评论 -
用UltraEdit建立汇编集成环境
一、引言恶搞!如何将你的QQ性别改为不男不女配置UltraEdit为Oracle PLSQL代码编辑器想了想,汇编这东西,学学也好……于是翻出一本汇编的书看;再下载编译器,当然是TASM,俺就认准 Borland了。从最简单的开始吧,写个"hello world!"因为错把"ah"写成了"ax"害我敲了n遍的tasm lx000 tlink lx000 lx000(汇编程序名为lx000.asm)原创 2008-05-03 08:35:00 · 1668 阅读 · 0 评论 -
汇编指令集合
1. 通用数据传送指令. MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH 把字压入堆栈. POP 把字弹出堆栈. PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈. PUSHAD 把EAX,ECX,ED原创 2008-05-03 08:38:00 · 568 阅读 · 0 评论 -
8个32位的常规目的寄存器
8个32位的常规目的寄存器 地址 名称 描述原创 2008-05-03 08:45:00 · 1526 阅读 · 0 评论 -
32位寄存器
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)1、数据寄存器数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。32位CPU有4个32位的通用原创 2008-05-03 09:03:00 · 1114 阅读 · 0 评论 -
汇编指令与机器码的相互转换
机器语言我们只要重点理解一下几个概念:1. 机器语言指令有操作码(OP)和地址码两部分组成|_____________OP_______________|__d__|__w__||_____________OP_______________|__s__|__w__| 在多数操作码中,常使用某些位来指示某些信息:如图上结构里的: w=1 时 对字来操作w=0 时 对字节来操作d值在双原创 2008-05-03 10:14:00 · 5558 阅读 · 0 评论 -
32位CPU寄存器和汇编指令
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) 1、数据寄存器数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。32位CPU有4个原创 2008-05-03 16:48:00 · 1085 阅读 · 0 评论 -
x86汇编指令(2)
3.3.4控制转移类指令 计算机执行程序一般是顺序地逐条执行指令。但经常须要根据不同条件做不同的处理,有时需要跳过几条指令,有时需要重复执行某段程序,或者转移到另一个程序段去执行。用于控制程序流程的指令包括转移、循环、过程调用和中断调用。 一、转移指令 1 无条件转移指令 格式:JMP TARGET 功能:使程序无条件地转移到指令规定的目的地址TARGET去执行指令。转移分为短转移、段内原创 2008-05-03 09:38:00 · 3664 阅读 · 0 评论 -
堆栈溢出技术从入门到高深(一)
本讲的预备知识: 首先你应该了解intel汇编语言,熟悉寄存器的组成和功能。你必须有堆栈和存储分配方面 的基础知识,有关这方面的计算机书籍很多,我将只是简单阐述原理,着重在应用。其次, 你应该了解linux,本讲中我们的例子将在linux上开发。 1:首先复习一下基础知识。 从物理上讲,堆栈是就是一段连续分配的内存空间。在一个程序中,会声明各种变量。静态 全局变量是位于数据段并且在程序开始运行的时原创 2008-05-22 16:58:00 · 1558 阅读 · 0 评论 -
汇编语言的符号、标号和变量符号
计算机汇编语言的一个突出优点就是利用符号(Symbol)来代替目标码,也即大量的二进制代码用符号来表示,使汇编语言源程序容易理解,便于记忆。 在宏汇编语言中所有变量名、标号名、记录名、指令助记符和寄存器名等统称符号.这些符号可通过汇编控制语句的伪操作命令重新命名,也可以通过指令给它定义其它名字及新的类型属性,因而给程序设计带来很大的灵活性.符号是程序员在程序中用来代表某个存储单元、数据、表达原创 2008-05-22 16:47:00 · 8588 阅读 · 1 评论 -
ASM的学习笔记
1.2008/5/13 补码:正->最高位零+数的绝对值 负->最高位壹+2^n -数的绝对值2.负数补码-->正数转二进制-->取反-->末位+1 3.符号扩展: 正-->高位全填零+补码 负-->高位全填壹+补码4.求补:各位取反+壹 求补=它的负数,再求补=它本身5.补码加减法-->A补+B补 或A补+(-B)补6.2008/原创 2008-06-22 17:24:00 · 1457 阅读 · 0 评论