一个懒人专用文章归档神器,如果你不能成为压路机的一部分,那么你就只能成为道路的一部分 Bala~bala~

 分类:汇编

MOVSX/MOVZX的解释

MOVSX/MOVZX的解释
MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. 符号扩展的意思是,当用跟多的内存存储某一个有符号数时,由于符号位位于该数的第一位,扩展之后,符号位仍然需要位于第一位,所以,当扩展一个负数的时候需要将扩展的高位全赋为1.对于正数而言,符号扩展和零扩展是一样的,因为符号位就是0. 比如一个用一个8位二进制表示-1,则是10000001 如果把这...

懒人 1560℃ 0评论 0喜欢

汇编语言db ‘book’,0中的0是什么意思?

汇编语言db ‘book’,0中的0是什么意思?
book是单词。最后会加0,这个0是字符串结束字符,以后处理的时候有用。 就是普通数据: 0 没有什么忒别含义 db ‘hello’,0 经过汇编编译后,生成数据: 68 65 6C 6C 6F 00 h e l l o 0 最后两个0就是代码db ‘hello’,0中0的编译结果 C语言中标准字符串的结尾 对...

懒人 1795℃ 0评论 0喜欢

汇编语言指令汇总

汇编语言指令汇总
最近正在学汇编呀,但每次编程时总发现一些 指令 忘 了 , 于是天天翻书好烦呀,就把大多数指令给收集起来 ,每条指令都有详细的说明 ,注意事项呀 不错哦 常用指令集 一、 传送类指令 MOV opd,ops 传送指令——-1,位数一致2,不能传送到DS 3,不能同时为M,不能同时为SR,不能传送到4,不影响标志位 PUSH ops 入...

懒人 1364℃ 0评论 0喜欢

Windows中FS段寄存器V2

Windows中FS段寄存器V2
代码运行在 RING0 (系统地址空间)和 RING3 (用户地址空间)时, FS 段寄存器分别指向 GDT( 全局描述符表 ) 中不同段:在 RING3 下, FS 段值是 0x3B (这是 WindowsXP 下值;在 Windows2000 下值为 0x38 。差别就是在 XP 下 RPL=3 );运行在 RING0 下时, FS 段寄存器值是 0x3...

懒人 1328℃ 0评论 0喜欢

段选择符和段寄存器

段选择符和段寄存器
首先看一下段选择符。段选择符为16位。为了方便查找段选择符,CPU提供了段寄存器来存放段选择符。段寄存器有cs, ss, ds, es, fs, gs(为16位),主要的有cs:代码段寄存器。包含程序指令的段;ss:栈段寄存器。指向当前程序栈的段。ds:数据段。指向静态数据或者全局数据段 段选择符的字段如下(相应的图): 其中,TI表示是存放在GDT还是存放...

懒人 1121℃ 0评论 0喜欢

汇编程序开发环境搭配

汇编程序开发环境搭配
引子 由于这些日子一直都在研究底层的技术,从 Windows 驱动程序,到 Windows 内核等等技术的学习, 让我对底层的技术越发有兴趣了,而刚好,在研究 WRK 时, 对内存管理,寄存器,地址总线,数据总线,控制总线等的理解不够透彻, 所以越发的想学习汇编程序设计来提升功力, 而由于近来在公司里一直都有项目压着,所以在公司里也实在不好拿本汇编程序设计看...

懒人 1029℃ 0评论 0喜欢

8086 CPU 寄存器简介

8086 CPU 寄存器简介
引子 打算写几篇稍近底层或者说是基础的博文,浅要介绍或者说是回顾一些基础知识, 自然,还是得从最基础的开始,那就从汇编语言开刀吧, 从汇编语言开刀的话,我们必须还先要了解一些其他东西, 像  CPU ,内存这些知识点还是理解深刻一点的比较好, 所以这一篇博文就绕着 80×86  CPU 中寄存器的基础部分下手,至于其他的一些将会在后续的博文中介绍 ...

懒人 908℃ 0评论 0喜欢

寄存器概念整理

寄存器概念整理
一直以来对寄存器的名称、作用比较模糊,今天抽时间整理了下。   (一)  通用寄存器 作用:传送和暂存数据,参与算数和逻辑运算。 (1)通用寄存器 16位的有8个:AX(Accumulator),BX(Base),CX(Count),DX(Data),BP(BasePointer),SP(Stack Pointer),SI(Source Index...

懒人 1166℃ 0评论 0喜欢