随笔分类 - 8086汇编
摘要:这次在破解TraceMe的时候,我有看过别人的视频。但是我并没有按照别人思路走,而是完全安全自己的思路试了一次。结果破解成功。新手学破解,如果有不对的地方,还请指出来。004013A0 crackmes. /$ 55 p...
阅读全文
摘要:assume cs:codedata segmentdb 'conversation'data endscode segmentstart: mov ax,data mov ds,ax m...
阅读全文
摘要:写在前面的话:在下完全就是一个新手,现在目前在学16位汇编,偶尔用OD调试看看程序,主要就是为了学习,今天写这个帖子,完全就是笔记用,然后拿出来和大家一起讨论交流。因为刚开始接触,文章可能一些地方有错误,如果有错误的地方还请指出来,毕竟刚学,确实差的十万八千里。而且这个程序也很简单,主要还是为了做记...
阅读全文
摘要:assume cs:codestack segmentdb 16 dup(0)stack endscode segmentstart: mov ax,stack;将定义字形数据送入AX mov ss,ax;送入桟空间 mov sp,16;定义桟长度 mov a...
阅读全文
摘要:assume cs:codecode segmentstart: mov ax,0 ;将AX通用寄存器设0 call s inc axs: pop ax ;将数据从桟中取出 code en...
阅读全文
摘要:assume cs:code,ss:stackstack segmentdb 16 dup(0)stack endscode segment mov ax,4c00h int 21h start: ...
阅读全文
摘要:1 ;小写字母的ASCII码比大写字母的ASCII码的值大20H。 2 ;比如大写字母A的ASCII值为01000001 小写字母a的ASCII码为:01100001 3 ;公式为 a(01100001) - 20H(100000) = A(01000001) 4 ;A(01000001) + 2...
阅读全文
摘要:引子打算写几篇稍近底层或者说是基础的博文,浅要介绍或者说是回顾一些基础知识,自然,还是得从最基础的开始,那就从汇编语言开刀吧,从汇编语言开刀的话,我们必须还先要了解一些其他东西,像 CPU ,内存这些知识点还是理解深刻一点的比较好,所以这一篇博文就绕着 80x86 CPU 中寄存器的基础部分下手,至...
阅读全文
摘要:CPU要读写一个内存单元的时候,必须先给出这个内存单元的地址。内存单元由2部分组成。8086CPU中,内存地址由以下组成。1:段地址2:偏移地址8086CPU中,有一个DS寄存器地址,通常用来存放数据的段地址。比如我们要读取10000H的单元内容,可以用如下的程序段进行。mov bx,1000Hmo...
阅读全文
摘要:在CPU中,用16位寄存器来存储一个字。高8位放高8位的内容,低8位放低八位的内容。在内存中存储时,由于内存单元是字节单元,则一个字需要用2个地址连续的内存来存放。则这个字的低字节存放在低字节的单元中,高字节则存放在高字节的单元中。比如以下数据:mov ax,4e20Hax是16位通用寄存器,分高8...
阅读全文
摘要:mov ax,001AH ax = 001AH; 将1AH 移动到ax中,值为001AH,ax为16位通用寄存器。所以得到的值为001AHmov bx,0026H bx = 0026H; 将0026H 移动到BX中,BX为16位通用寄存器。add al,bl al = 0040H BL = 0026...
阅读全文