assembly
tomjourney
积善之家 必有余庆
展开
-
程序编码(机器级代码+汇编代码+C代码+反汇编)
【0】写在前面——程序编码GCC调用了一系列程序,将源代码转化成可执行代码的流程如下:(1)C预处理器扩展源代码,插入所有用#include命令指定的文件,并扩展声明的宏;(2)编译器产生两个源代码的汇编代码:*.s;(3)汇编器将汇编代码转化为二进制目标代码 :*.o ; (目标代码是机器代码的一种形式,它包含所有指令的二进制表示,但没有填入地址的全局值)(4)链接器将目标代码与实现库函转载 2015-07-25 22:16:15 · 2884 阅读 · 1 评论 -
X86汇编语言中的registers相关
0、写在前面本文中总结于王爽老师的汇编语言,建议有兴趣的都买一本,以支持王爽老师的辛勤付出。再者,这本书写的确实很nice。8086CPU共有14个registers:AX, BX, CX, DX, SI, DI, SP, BP, IP, CS, SS, DS, ES, PSW, 所有寄存器都是16位的。【1】通用寄存器: AX, BX, CX, DX通常用于存放一般性的数据;【2】CS和IP (c原创 2015-07-03 09:47:57 · 1245 阅读 · 0 评论 -
控制语句(if-else+循环+switch)汇编规则
【1】说说条件码最常用的的条件码有:CF:进位标志 (无符号溢出)ZF:零标志SF:符号标志(结果为负数)OF:溢出标志 (补码溢出, 有符号溢出)【2】有两类指令设置条件码而不改变任何其他寄存器cmp(cmpb, cmpw, cmpl) + test(testb, testw, testl)You should knowif-else + 循环(while + for + do-原创 2015-07-25 23:49:51 · 1773 阅读 · 0 评论 -
段描述符表(GDT+LDT)的有感
【0】写在前面要知道,在汇编中,代码的装入顺序决定了在内存中的地址位置。所有的代码或者数据都在硬盘上,当调试或者启动的时候,加载到内存;当需要对数据进行处理的时候,我们通过将数据从内存载入到registers 通过cpu来进行处理的。 【1】初始化各种段描述符 以 初始化 32 位代码段描述符 为例【2】有感首先:要先定义这段描述符(占据内存空间),然后向里面传入真正处理数据的地址;2.1原创 2015-07-05 19:45:12 · 1790 阅读 · 0 评论 -
过程(栈帧结构是干货)
【0】写在前面过程(栈帧结构是干货);本文总结于csapp, 加上自己的理解;【1】栈帧结构每个函数的每次调用,都有它自己独立的一个栈帧,这个栈帧中维持着所需要的各种信息。过程调用:函数调用另一个词语表示叫作过程;IA32 程序 用程序栈 来支持过程调用;【2】转移控制(此处非常重要:关系到对函数调用和返回理解是否到位) 解说:显然是地址80483dc的call调用sum函数, call指令转载 2015-07-26 23:19:33 · 1787 阅读 · 0 评论 -
可重定位目标文件
【0】GCC将源代码转化成可执行代码的流程(1)C预处理器cpp扩展源代码,插入所有用#include命令指定的文件,并扩展声明的宏;(2)编译器ccl产生两个源代码的汇编代码:*.s;(3)汇编器as将汇编代码转化为二进制目标代码 :*.o ; (目标代码是机器代码的一种形式,它包含所有指令的二进制表示,但没有填入地址的全局值)(4)链接器ld将目标代码与实现库函数的代码合并,最终产生可原创 2015-08-08 19:41:57 · 1765 阅读 · 0 评论 -
转移指令jmp和跳转指令call
【-1】写在前面以下内容文字描述来自于 王爽老师的《汇编语言》教材,建议大家都买一本,哈哈。不是我打广告,确实人家写的好,应该支持。我只是附上了自己的图片和理解而已。【0】先上干货只修改ip,称为段内转移,如jmp ax 修改cs和ip,称为段间转移,如 jmp 1000:0【1】分类转移指令分为: 无条件转移,如jmp 条件转移 循环指令, loop 过程 中断【2】我们的jmp2.1原创 2015-07-07 00:17:10 · 10234 阅读 · 0 评论 -
汇编操作显存
【0】README0.1)本文转自:http://www.cnblogs.com/youxin/archive/2012/05/21/2512329.html for relative source code , please visit https://github.com/pacosonTang/Orange-s-OS/blob/master/lib.inc【1】关于 80*25彩色字符模式显转载 2015-10-08 19:44:21 · 3977 阅读 · 0 评论