有趣的打字游戏:(汇编源代码 )一个有趣的打字游戏

;--------------------------------------------------------------------------------;此模板是纯DOS代码,需要MASM5.0,编译时请使用"编译 - DOS"方式;------------------------------------------------------------------------------... [阅读全文]

(汇编源代码 )一个旋转的3D箱子(动画)

;本由国外Vulture大哥编写并公布了源码这个是他95年个作品可以说是在当时是非常成功!  ;这个是巧妙利用了坐标不断变化从而实现了由星星构成箱子3D转动!  ;为了尊重版权本人未对源码注释进行翻译这样做也可以让国内汇编爱好者自己琢磨国外汇编编程思维!  ;编译思路方法: 1 tasm 3d.asm  ;      2 tlink 3d.obj  ;      3 exe2bin 3d.exe ... [阅读全文]

编程实现ftp服务器:自己编程实现多引导

如果你是个计算机用户相信你定安装过操作系统当你用久了个操作系统你可能会安装个新操作系统但你往往希望保留现在操作系统比如当你有了个windows98你可以在上面再安装windows2K或是windowsXP这是WindowsNTloader可以认识比自己更早操作系统所以能够给你保留先前操作系统但是如果你现在已经拥有了个windows2K或是windowsXP你要在硬盘上再装个WINDOWS98甚至些... [阅读全文]

汇编教程的控制转移(3)

3.有关例子 4介绍说明  中部分片段背景和实现思路方法在前面例子中做过介绍下面主要就如何实现任务内特权级变换做些介绍说明: (1)通过段间返回指令实现特权级变换  例子在两处使用段间返回指令实现任务内特权级变换处是在0级过渡代码段中用段间RET指令从特权级0变换到特权级3演示代码段该处RET指令并不对应CALL指令例子从实模式切换到保护模式后CPL=0为了演示如何通过门内层要设法使CPL0为此例... [阅读全文]

80386:80386的中断和异常

80386除了保持8086/80386相关功能外还增强了中断处理能力并引入了“异常”概念本文将介绍80386中断和异常机制  这里下载本文所有源代码   8086/8088把中断分为内部中断和外部中断两大类为了支持多任务和虚拟存储器等功能80386把外部中断称为“中断”把内部中断称为“异常”和8086/8088样80386通常... [阅读全文]

80386:80386的异常类型

象中断分为多种类型样异常也可分为多种类型 1.80386识别异常  80386识别多种区别类别异常及赋予对应中断向量号如下表所示某些异常还以出错码形式提供些附加信息传递给异常处理出错代码列中“无”表示没有出错代码“有”表示有出错代码 ... [阅读全文]

网络异常中断:中断和异常的转移思路方法

80386实模式下中断和异常转移思路方法和8086相同这里介绍中断和异常转移思路方法是指 80386在保护模式下响应中断和处理异常时所采用转移思路方法 1.中断描述符表IDT  和8086/8088样在响应中断或者处理异常时80386根据中断向量号转对应处理但是在保护模式下80386不使用实模式下中断向量表而是使用中断描述符表IDT在保护模式下80386把中断向量号作为中断描述符表IDT中描述符索... [阅读全文]

中断处理过程:演示中断处理的例子(例子 6)

下面给出个用于演示中断处理例子该例子逻辑功能是在屏幕左上角以倒计时方式显示秒为单位时间在时间用完后结束该例子演示内容包括:外部中断处理和陷阱处理1.源组织和清单  本例子由如下几部分组成:   (1)全局描述符表GDTGDT中除了含有常见几个描述符外还含有描述时钟中断处理所使用代码段和数据段描述符以及描述显示所使用代码段和数据段描述符   (2)中断描述符表IDT为了在保护模式下响应中断和处理异常... [阅读全文]

dos6.0:DOS6.0源程序中的硬盘引导记录源程序FDBOOT.ASM

;/*; * Microsoft Confidential; * Copyright (C) Microsoft Corporation 1983 - 1991; * All Rights Reserved.; */; BOOT - IBM hard disk boot record 6/8/82;;; This is the standard boot record that will be s... [阅读全文]

汇编教程的分段管理机制

本文介绍保护方式下段定义以及由段选择子及段内偏移构成 2维虚拟地址如何被转换为维线性地址  段定义和虚拟地址到线性地址转换  段是实现虚拟地址到线性地址转换机制基础在保护方式下每个段由如下 3个参数进行定义:段基地址(Base Address)、段界限(Limit)和段属性(Attributes)  段基地址规定线性地址空间中段开始地址在80386保护方式下段基地址长32位基地址长度和寻址地址长度... [阅读全文]

汇编教程的控制转移(2)

2.有关例子 3介绍说明  有些步骤实现思路方法已在前面例子中做过介绍下面就任务内无特权级变换转移和使用局部描述符LDT等作些介绍说明: (1)实模式下化LDT  演示任务使用了局部描述符表LDT本例子中该LDT在实模式下化(当然也可以在使用LDT前保护模式化)为了简便LDT中各描述符界限和属性值在定义时预置利用个子设置各段段基地址为方便起见在定义时把各段段值安排在相应描述符段基地址低16位字段中... [阅读全文]

虚拟8086模式:虚拟8086模式的内存管理

下边我们用到V86即指虚拟8086模式  在以前教程中你学习了怎样模拟V86中断但还有个问题没有解决:在VxD和V86代码的间交换数据我们将在此学习如何使用V86内存管理器来实现这个功能  理论  假如你VxD和些V86起运行如何传送大量数据到V86中或从V86中传送大量数据迟早是个大问题通过寄存器传送大量数据是不现实可能你下个想法是在ring0中分配大块内存并且通过些寄存器传送其指针到V86使其... [阅读全文]

异常处理:演示异常处理的例子(例子 7)

下面给出个用于模拟异常和演示异常处理例子该例子逻辑功能是在屏幕上显示条提示用户以按键方式选择异常类型然后模拟指定异常该例子演示内容包括:除法出错故障处理、溢出陷阱处理、段不存在故障处理、堆栈段出错处理和通用保护故障处理;还有作为个独立任务方式出现陷阱处理 1.源组织和清单  为了演示以独立任务方式出现陷阱处理例子含有两个任务:演示任务和读键盘任务例子由如下几部分组成: (1)全局描述符表GDT和中... [阅读全文]

Win32汇编程序的结构和语法

本文举例源代码或素材下载   前言  我们了解了Win32汇编使用环境在这节中我们从个最简单Win32汇编入手来了解下Win32汇编基本结构和语法  、Win32ASM结构和语法  让我们先来看看个最简单Win32汇编:.386    .model flat, stdcall    option map :none  ; sensitive    windows.inc    k... [阅读全文]

helloworld:HELLO WORLD进阶汇编程序系列

TITLE ***HELLO,WORLD进阶的选择分支 BY LLUCT***  DATA SEGMENT ;定义数据段  MSG1 DB ***WELCOME TO MY PROGRAM BY LLUCT***,$  ;定义输出第个串信息,串必须用DB定义,$为结束标志  MSG2 DB 1:BASIC MESSAGE 2:ADVANCED MESSAGE,$  ;定义输出串信息:选择菜单  M... [阅读全文]

" hello world!" win32汇编小程序

首先我们看个“复杂”Win32汇编  用来显示个消息框--------------------------------------------------;文件名:3.asm     .386     .model flat ,stdcallNULL  equ 0MB_OK  equ 0ExitProcess PROTO :DWORDMessageBoxA PROTO :D... [阅读全文]

TASM V5.0安装及注意事项

安装TASM 5.0很简单您只需要下载本站[相关工具]中"TASM50.zip"文件解压后在Windows9x/NT下执  行"INSTALL.EXE"即可开始安装  1.如果你在安装TASM5.0的后安装Delphi 1.0或Borland C 4.x及更高版你需要手动更改系统设置以  使这些产品可以共存于同个系统中——检查“.ini”文件[386... [阅读全文]

数据结构与算法分析:教你如何分析未文档化的数据结构

1 前言:  这2天看了Secrets of Reverse Engineering书对分析未文档化API技术比较有心得体会希望各位看了下面教程能抛砖引玉灵活应用在逆向工程和破解技术上思路方法是死但是人思维是活最重要是灵活应用  2 实战:  用OllyDbg对NTDLL.DLL进行反汇编前提你要加入NTDLL.DLL符号表这样你才能更好对未文档化API进行反汇编你们到微软官方网站WebSite获... [阅读全文]

8086寻址方式:有关在8086/88内存寻址方式

在学汇编时很多初学者对PC寻址方式和很不理解甚至是很难理解确这方面知识是很抽象需要比较强空间想象能力尤其是我们在输入串时那这些是如何进行排列呢?对于这个问题我相信很多初学者也是很难想象是如何排列但是我可以这样比喻:内存就是有很多栋“楼房”“楼房”又是由“单元号”“门户号”组成那“楼房&rdq... [阅读全文]

汇编指令和机器码的相互转换

机器语言我们只要重点理解下几个概念:   1. 机器语言指令有操作码(OP)和地址码两部分组成      |_____________OP_______________|__d__|__w__|  |_____________OP_______________|__s__|__w__| --此格式用于立即寻址方式    在多数操作码中常使用某些位来指示某些信息:  如图上结构里: w=1 时 对字... [阅读全文]

汇编源码:跑动的男孩

;个人汇编小网站WebSite:http://www.x86asm.com  ;个跑动男孩生成.exe文件后刚1K多这个是我在大2时候研究出来!  ;该没有用到时间延时而是巧妙用了LOOP指令使图形不断覆盖就可以达到了跑动效果!  ;如果在DOS命令提示符下执行.exe,退出时会显示我个人资料!  ;该用TASM5.0和MASM5.0都可以编译通过!  ;大家试试看吧!祝好运!.model sma... [阅读全文]

内存驻留:用汇编编写DOS下的内存驻留程序(1)

绪言  0.1 内存驻留和中断  内存驻留英文叫Terminate and Stay Resident Program,缩写为TSR.这些加载进内存,执行完后,就驻留在内存里,当满足条件时,调到前台来执行  内存驻留常用形式有:  诸如Borland SideKick弹出式实用  日历系统  网络服务器  通讯  本地DOS扩展(如CCDOS,UCDOS等中文系统都属于这个范畴)  些可恶人利用T... [阅读全文]

参数传递:汇编中参数的传递和堆栈修正

在 Win32汇编中我们经常要和 Api 打交道另外也会常常使用自己编制类似于 Api 带参数子本文要讲述是在子过程中进行参数传递概念和分析般在中参数传递是通过堆栈进行也就是说者把要传递给子(或者被者)参数压入堆栈子在堆栈取出相应值再使用比如说如果你要 SubRouting(Var1,Var2,Var3)编译后最终代码可能是   push Var3push Var2push Var1call Su... [阅读全文]

win32编程基础知识:Win32汇编的环境和基础

1.32位环境介绍   在Dos下编汇编我们可以管理系统所有资源我们可以改动系统中所有内存如自己改动内存控制块来分配内存自己修改中断向量表来截获中断等对其他操作也是如此如我们对键盘端口直接操作就可以把键盘屏蔽掉可以这样来描述Dos系统:系统只有个特权级别在编程上讲任何和操作系统都是同级所以在Dos下个编得不好会影响其他所有如个把键盘口中断关掉了所有就都不能从键盘获得键入数据直到任何个重新打开键盘为... [阅读全文]

汇编教程的保护方式介绍

80386有 3种工作方式:实模式,保护模式和虚拟8086模式本文介绍保护方式下80386及相关设计内容实模式下80386寄存器寻址方式和指令等基本概念除特别介绍说明外在保护方式下仍然保持   尽管实方式下80386功能要大大超过其先前处理器(8086/8088,80186,80286)但只有在保护方式下 80386才能真正发挥更大作用在保护方式下全部32条地址线有效可寻址高达4G字节物理地址空间... [阅读全文]

字符串操作指令

般有专门操作指令如:  lodsb  stosb  movsb  rep/repz/repnz  cmpsb  scasb等等  这些指令其实速度很慢好思路方法是用寄存器间接寻址如:  lodsb mov al, ptr [esi]inc esistosb mov ptr [edi],alinc edi  等等千万不要在中使用rep movsb,这样做速度很慢  例:个串复制  lstrcpyn... [阅读全文]

控制寄存器:汇编教程的控制寄存器和系统地址寄存器

80386控制寄存器和系统地址寄存器如下表所示它们用于控制工作方式控制分段管理机制及分页管理机制实施 ... [阅读全文]

汇编中有关div/idiv/mul/imul指令的使用方法

大家可能深有体会在使用div/idiv指令时运行常常会莫明其妙弹出"该执行非法操作"通常是"除法溢出",但是你代码可能如下:  mov eax,1000  cwd  div cx  般在使用了cwd指令后,就可以正常但是很不稳定我就觉得奇怪为什么会这样?  huitiansou解答:  对:“有关div/idiv/mul/imul指令使用方法 by AoGo”产生Bug原因... [阅读全文]

masm32:masm中宏指令的bug

我打个比喻  当使用GetCaretPos获得当前光标位置后假设它为负数我需要知道它是否小于0结果:  . p.y0... ... ;1. p.yeax... ... ;2.end  结果你猜如何样?;1段永远不会执行编译器编译时把. p.y=0编译成了:  cmp p.y,0jb xxx  结果可想而知p.y是负数按照无符号数来对待就成了正数了,比如-100成了65435,自然出错这是masm个... [阅读全文]

实模式保护模式:实模式和保护模式切换例子

本文介绍两个实现实模式和保护模式切换例子通过他们介绍说明如何实现实模式和保护模式切换也介绍说明保护模式下80386及其编程  演示实模式和保护模式切换例子(例子)  例子逻辑功能是以十 6进制数形式显示从内存地址110000H开始256个字节值本例子指定该内存区域目仅仅是想介绍说明切换到保护模式必要性在实模式下不能访问该指定内存区域只有在保护模式下才能访问到该指定区域  本例子具体实现步骤是:(1... [阅读全文]
< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 > >> 共797条 分27页