汇编
罗哥分享
为自由,学技术。
展开
-
用RadASM开发记事本程序
此记事本程序用普通的Edit控件实现,还有一些小小的bug,不完美的地方,在选 择文本的时候,行号未能更新重画,现在也正在思考,水平不够,用RichEdit控件 能达到更好的效果,修复一些小的BUG. ;--------------------------------------------------------------------------------;程序作者:维唯为为 ;开发日期:2011-03-08;文件描述:我的应用程序模板 ;注意事项:此份代码使用原创 2011-03-08 23:24:00 · 808 阅读 · 0 评论 -
配置RadASM,并写一个消息框程序
<br /><br />安装好MASM32和完整版RadASM,在RadASM中选Option -> Set Paths -> APP(&A):.../Masm32。<br />再New Project -> masm (Win32 App(no res))->none ->默认。OK!<br />再加上:<br /> <br />.386<br />.model flat,stdcall<br />option casemap:none<br /><br /><br />include windows.原创 2011-03-08 23:30:00 · 669 阅读 · 0 评论 -
RadASM编写拾色器
配置RadASM编译器,选masm,在RadASM中新建-> Win32 App –>DialogAsMain.tpl ,取名Dlg_Test,再打开 Dlg_Test.dlg中编辑资源,如下图: 对话框控件属性设置:Name :IDD_DIALOG ; Caption:拾色器 ; MaxButton:False ; SizeBorder:False ; TopMost:True ; 打开project -> Resourcee添加一个图标资源,取名IDI_APP_MAIN原创 2011-03-10 13:00:00 · 590 阅读 · 0 评论 -
保护模式下编程
;1.;===========================================================;在保护模式下32位CPU仍然可以用20位地址来实现32位地址线寻址;16位CPU: 16位段寄存器+16位偏移地址 (经地址加法器) -> 20位物理内存地址;32位CPU: 32位地址的内存段信息存入在一张内存表中,只需将表的索引存入16寄存器当中即可;保存表中索引的段寄存器称为:段选择子;表中每个表示32位内存段信息称为:段描述符(保存了段的地址和段的长原创 2011-03-13 16:55:00 · 562 阅读 · 0 评论 -
一个简单的中断程序
在Masm for Windows 下调试: DATAS SEGMENT ;此处输入数据段代码 DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX ;系统默认在内存0000:000到0000:03FE专门存放中断向原创 2011-03-12 20:38:00 · 1029 阅读 · 0 评论 -
写一个简单的COM覆盖型的Virus
先写一个测试程序"HelloWorld",取名test.asm, 如下:;DTA数据传输区,存放文件的相关控制信息,它的作用是在磁盘文件与程序之间做一个桥梁,程序写文件时先写DTA,程序读文件时就直接从DTA中读取文件的信息。.model tiny.code org 0100hok: mov dx,offset message mov ah,09h int 21h mov ah,4ch int 21h ret原创 2011-03-14 17:55:00 · 344 阅读 · 0 评论 -
一个尾寄生Virus
在tasm 编译通过:测试程序:;DTA数据传输区,存放文件的相关控制信息,它的作用是在磁盘文件与程序之间做一个桥梁,程序写文件时先写DTA,程序读文件时就直接从DTA中读取文件的信息。.model tiny.code org 0100hok: mov dx,offset message mov ah,09h int 21h mov ah,4ch int 21h ret message原创 2011-03-15 10:13:00 · 440 阅读 · 0 评论