汇编地址对齐知识

现在用存储单元角度来说明下他原因. 块存储空间起始地址假设为000000H,我们应该知道存储单元以字节为单位,就是说有8位.个字很容易就应该知道是2字节,双字就是4字节,假如我门要存储1字节内容我们可以把他放在奇地址或偶地址,但如果存放2字节内容,我们应该把他放在偶地址例如***0B,我们以B为准,当然就是隔1个地址在存放了.所以存放4字节内容把他安排在模4地址.即**00B,隔3个地址在存放,... [阅读全文]

ARM汇编语言指令集(4)

·Load/StoreInstructions TheARMisaLoad/StoreArchitecture:Doesnotsupportmemorytomemorydataprocessingoperations.Mustmovedatavaluesoregistersbeforeusingthem.ARMhasthreesofinstructionswhi... [阅读全文]

ARM汇编语言指令集(3)

常数There is no single instruction which will load a 32 bit immediate constant o a register without performing a data load from memory. The data processing instruction format has 12 bi... [阅读全文]

汇编代码优化方法

有关代码优化文章实在太多了,遗憾是大部分我都没有看,尽管他们就摆在我床边(每当我要看时候就忍不住打哈欠...嘿嘿).这篇文章较短所以翻了下. 代码优化含义: 代码优化目标当然是体积小和速度快,但是在通常情况下 2者就象鱼和熊掌样不能得兼,我们通常寻找是这 2者折中,究竟应该偏向何方,那就得具体看我们实际需要. 但有些常识是我们应该牢记,下面就结合我们最常遇到具体... [阅读全文]

嵌入汇编程序学习

在Linux代码中很多地方都使用了这种形式汇编语言嵌入汇编格式如下: __asm____volatile__( asmstatements :outputs :inputs :registers-modied ); asmstatements是组AT&T格式汇编语言语句每个语句行由\\n分隔各行所有语句都被包裹在对双引号内其中使用寄存器前面要加两个%%做前缀;转移指令多是局部转移因此多使用数字标... [阅读全文]

gcc语法:GCC内嵌汇编语法方法学习

内嵌汇编语法如下: __asm__(汇编语句 : 输出寄存器 : 输入寄存器 :被修改寄存器) 共 4个部分:汇编语句输出部分输入部分被修改了寄存器各部分使用“:”格开汇编语句必不可少其他 3部分可选如果使用了后面部分而前面部分为空也需要用“:”格开相应部分内容为空例如: __asm__ __volatile__(\"cli\": : :\"memory\"... [阅读全文]

程序流程图:程序流程控制基础学习

1、分支语句./ . / . / .end ;只能符合其中条. / .end ;可能符合多个条件2、循环语句2.1、while循环.while循环条件 ;true继续循环指令[. . 退出条件][.continue].endw2.2、repeat循环repeat指令[. . 退出条件][.continue].until 退出条件3、条件测试语句3.1、条件测试语句使用,,=,=比较符时编译器默认使... [阅读全文]

寻址方式:数据寻址和传递

1、ALIGN 伪指令:让后面变量地址等于前面变量地址加上ALIGN指定字节数依次向后递归var1 ? ; var1 地址是00001000ALIGN 4var2 ? ; var2 地址是 00001004var3 ? ; var3 地址是 00001008var4 ? ; var4 地址是 0000100C2、获取元素两种方法2.1、地址偏移 mov eax,[.gif' /Var+i]... [阅读全文]

常量定义:常量符号定义方法

1、特点:代码编译时符号所在位置就会替换为它代表常量 2、=伪指令 2.1、语法 name=expreion 2.1.1、expression只能是整数或整数表达式 2.1.2、name可以重复定义为不同整数或整数表达式 例如: COUNT=500 SIZE=($-list) 3、EQU伪指令 3.1、语法 nameEQUexpression nameEQUsymbol nameEQUtext 3... [阅读全文]

win32基础:Win32汇编的环境和基础

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

win32应用程序:Win32汇编程序的结构和语法

让我们先来看看个最简单Win32汇编: .386 .modelflat,stdcall optionmap:none;sensitive windows.inc kernel32.inc libkernel32.lib .data szCaptiondb’Win32汇编例子’,0 szTextdb’Win32汇编Simpleandpowerful!’,0 .code start: invokeMe... [阅读全文]

添加对话框资源:汇编基础-对话框和资源文件的使用

Windows资源文件 不管在Dos下编程还是在Windows下编程我们总是要用到除了可执行文件外很多其他数据如声音数据图形数据文本等等在Dos下编程我们可以自己定义这些文件格式但这样来就造成了很多资源共享问题大家可能还记Dos下很多游戏它们图形都是按自己格式存放你无法用标准看图软件Software来看也无法把它另存为其他格式虽然在Win32编程中我们仍然可以这... [阅读全文]

汇编语言中窗口的基本知识

窗口是屏幕上矩形区域个窗口可以从键盘或者鼠标接受用户输入并在其内部显示图形输出个应用窗口通常包含标题条、菜单、边框滚动条其中对话框也是种窗口区别是对话框表面通常包含几个其它窗口称的为“子窗口”这些子窗口形式有压入按钮、单选按钮、复选框、文本输入区域、列表框和滚动条等 用户将这些窗口看成屏幕上对象可以通过按下个按钮或者滚动个滚动条和这些对象直接交互 窗口以“消息... [阅读全文]

汇编菜单和加速键

菜单是Windows标准界面最重要组成部分窗口菜单条位于标题栏下方这个菜单通常被称为主菜单列在主菜单下面菜单项被称为下拉式菜单或弹出式菜单、子菜单等而在标题栏左边图标上点击也会弹出个菜单叫做系统菜单加速键实际上是菜单项快捷键应用常在菜单项右边标出激活这个菜单项快捷键这就是加速键菜单结构是可嵌套也就是说你可以在选择个菜单项时弹出另个菜单菜单项种类有正常、被禁用、灰... [阅读全文]

状态栏:工具栏和状态栏的使用

工具栏和状态栏也是Windows标准界面组成部分工具栏般位于菜单栏下方上面是些系统定义或自己定义图片可以通俗地显示这个按钮作用状态栏般位于窗口最下方用来显示运行中些信息工具栏和状态栏是Windows系统两个通用Control控件你可以通过两个专用API或者利用CreateWindowEx再使用制定已经由系统定义类来创建它们这两个API分别是CreateToolb... [阅读全文]

子类化:控件的子类化

说到类大家可能马上就想到C确类首先是在C中提出但是这个概念在Win32Asm中仍然适用在类思路是这样:先假设某个对象有区别属性当个新对象某个属性和上面所说对象有些区别而别属性模样那么实际上除了处理这个属性代码有些区别外别代码完全可以使用前面对象代码在具体应用中我举个例子比如说我们定义个\"edit\"Control控件那么这个Control控件行为是由Windo... [阅读全文]

硬盘安装图形界面:汇编图形界面的操作

有关GDI和位图 GDI即图形设备界面是Windows最重要部分的它大部分由GDI32.DLL库中API来处理GDI主要目的是支持和设备无关图形编程对于Dos下图形编程很多人可能“心有余悸”PC中有太多种类显示卡而几乎每个显示卡处理都是区别即使后来有了Vesa编程我们还是不能全部撇开具体硬件WindowsGDI使我们对图形编程变得相对简单了很多由于GDI是Win... [阅读全文]

汇编复杂形状的窗口实例学习

在前面 8篇Win32asm教程中已经初步讲述了消息框、对话框、菜单、资源、GDI等内容基本上已经设计到了Windows界面大部分内容在继续新Windows其他部分内容如多线程、文件操作、内存操作的前我先综合前面内容并加上些新内容写上篇综合篇 本篇例子是个复杂形状窗口窗口形状是根据位图自动计算得到这也就是在我编写小闹钟中使用技术(大家可以到我软件Software... [阅读全文]

定时器使用方法:汇编中使用定时器的方法

Windows定时器是种输入设备它周期性地在指定间隔时间通知应用它可以用向指定窗口发送WM_TIMER消息或者指定过程来执行用户定时器应用主要包括下面些地方: 1.时钟-显然这是定时器最直接应用 2.多任务-如果有大量数据处理除了用多线程办法还可以用定时器在每个定时器消息中处理小块内容 3.定时显示状况-定时器就相当于Dos编程中自己挂接在1ch上面要定时处理它... [阅读全文]

进程控制:汇编进程控制的实现方法

进程控制简单说相当于在个中执行另个你可以把它想象成在Dos下用21h/4bh功能来执行另外个如果单从执行另个目来讲在Windows中有不少思路方法如使用ShellExecute等但这些Api仅仅是“执行”而已进程控制意义在于可以创建个进程并可以通过进程句柄结束进程同样你也可以通过进程句柄来跟踪还可以用ReadProcessMemory和WriteProcessM... [阅读全文]

vesadriver:标准的VESA文档介绍

概述: 该标准提供系列应用能够使用集 1、获取某指定超级VGA设备兼容性和其独有特点 2、用以控制诸如显示方式、化和显存访问等等硬件操作 这些功能作为VGABIOS视频设备扩展而提供由10h中断访问 目录: 1、介绍 2、目标和目 2-1、视频环境信息 2-2、编程支持 2-3、兼容性 2-4、标准情况 3、标准VGABIOS 4、超级VGA模式号 5、CPU显... [阅读全文]

masm51使用:MASM宏使用总结

导语 MASM(MacroAssembler)是由微软公司提供汇编工具虽然有些年头了但是仍然存在于vc.net这样比较新工具中有很多汇编教科书以这个为对象讲述了如何用汇编去设计个作为计算机科学系学生基础课但是讲述内容大体上还是停留在5.1版而且停留在DOS时代虽然提到了win32下汇编但是并没有放在首要位置另个被忽视是作为MASM最大特色宏如何去看待汇编工具中提... [阅读全文]

win32asm:汇编基础之Win32Asm的调试

我看到了很多朋友在中都用到了wsprf和MessageBox来做调试. 请看: 要显示EAX值:PrHexEAX,\"显示EAX值\" ebx,ecx...都是可以这样来做到. 插到.中这样用...请看: .eax PrText\"eax为真\" ;..... ;其它代码 ;..... . PrText\"eax为假\" ;..... ;其它代码 ;..... .end 其它:比如 .data m... [阅读全文]

cmos解密:cmos解密研究心得

我们来看看CMOS密码加密算法不管是Award还是AMIBIOS(BasicInputOutput基本输入输出系统)其中加密算法都是使用HASH有损压缩算法(这种算法是不可还原)具体计算方法为:如有密码为“ABCDEFGH”则按下列公式计算:H+G×4H+F×10H+E×40H+D×100H+C×400H+B×1000H+A×4000H将其计算结果由高到低按字节分别保存为H1、H2、H3再出计算H... [阅读全文]

easyboot教程:BOOT开发基础教程

Boot开发教程(forNASM)          ------     [说明]     ------     启动电脑以后所要做事情     -电源复位     -BIOS被执行     -Boot内容被执行          有关Boot结构规则     -必须是个二进制文件(COMformat)     -必须是512个字节     -最后两个子节必须是0AA55h     -被读入内存... [阅读全文]

子程序:汇编主程序与子程序参数传递

主在子时经常需要传送些参数给子;子运行完成后也经常要回送些信息给这种和子间信息传送称为参数传送参数传递方式有以下几种: 例:求个数阶乘 .modelsmall .stack200h .data .code start: movax,5;求5阶乘(最大是8再大就溢出) movcx,ax;cx是记数器 movax,1;在ax中返回结果 again: mulcx;没考... [阅读全文]

getstockobject:GetStockObject在图形编程技巧

GetStockObject在图形编程中是常用API之对于GetStockObject我直认为它获得\"对象\"是个句柄(GetStockObjectAPI参考下面有DeleteObject链接般只有图形对象链接中才会有它),并且认为它是从当前本身拥\"对象\"中返回后来我无意发现了问题,请大家看看API参考手册中对GetStockObject注意项: ...... Itisnotnecessar... [阅读全文]

Linux下的汇编程序设计

汇编语言是低级语言和硬件和操作系统紧密联系个人电脑以前都是用DOS现在发展成了WINDOWS而另个操作系统Linux也正在崛起下面比较下这 3个操作系统: DOS较稳定速度快但无法充分发挥计算机性能没有图形界面 WINDOWS操作简便应用软件Software多,硬件兼容性好但不稳定经常死机速度慢 Linux性能优秀非常稳定界面美观操作简便但缺乏软件Softwa... [阅读全文]

jljgjbja:汇编的jl/jg与jb/ja

直以来我对何时用jl/jg何时用jb/ja非常迷惑,昨天试了下午终于让我得到了答案 书上说jl/jg是用于有符号数,jb/ja用于无符号数,那jl/jg与jb/ja如何取舍呢,关键是要知道无符号数表示方式. 首先看以下例子: movax,100 movbx,100 cmpax,bx jb@Skip;这里是等于,callskip不被执行 ;jl@F callskip @Skip: 以上代码中无论是j... [阅读全文]

切换用户快捷方式:切换到保护方式的准备工作

在从实模式切换到保护模式之前必须作必要准备准备工作内容根据实际而定最起码准备工作是建立合适全局描述符表并使用GDTR指向该GDT在切换到保护方式时至少要把代码段选择子装载到CS所以GDT中至少含有代码段描述符 从本实例源可见全局描述符表GDT仅有四个描述符:第个是空描述符;第二个是代码段描述符;第三个和第四个分别为源数据段及目标数据段描述符本实例各描述符中段界限是在定义时设置并且除伪描述符VGDT... [阅读全文]
<< < 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 > >> 共797条 分27页