汇编
代码之炼金术师
Hello World
展开
-
汇编语言01——寄存器(CPU的工作原理)
寄存器概述:CPU的组成:运算器,控制器,寄存器8086CPU有14个寄存器(8个通用寄存器),分别为:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW8086CPU所有寄存器都是16位的,可以存放两个字节(一个字)AX,BX,CX,DX是通用寄存器,存放一般性数据8086上一代CPU的寄存器是8位的;为保证兼容性,这四个寄存器都原创 2014-08-05 21:48:14 · 924 阅读 · 0 评论 -
汇编语言09——Call和Ret指令
Call和Ret指令ret指令:使用栈中的数据,修改IP的内容,从而实现近转移(pop ip)CPU执行ret指令时,进行如下操作:1,(ip) = ((ss) * 16 + (sp))2,(sp) = (sp) + 2retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移(pop ip, pop cs)CPU执行retf指令时,进行下面操作原创 2014-08-17 21:58:55 · 4459 阅读 · 0 评论 -
汇编语言08——转移指令的原理
整理自fishcc论坛转移指令的原理8086CPU的转移指令的分类:无条件转移指令(如jmp)条件转移指令循环指令(如loop)过程(类似C语言中函数)中断操作符offset取得标号的偏移地址例:start: mov ax,offset start;相当于mov ax,0s: mov ax,offset s;相当于mo转载 2014-08-17 15:49:02 · 568 阅读 · 0 评论 -
汇编语言06——更灵活定位内存地址
整理自fishcc论坛转载 2014-08-17 13:55:02 · 595 阅读 · 0 评论 -
汇编语言07——数据处理的两个基本问题
整理自fishcc论坛08数据处理的两个基本问题两个基本问题:处理的数据放在什么地方要处理的数据有多长定义描述性符号:reg 寄存器sreg 段寄存器reg的集合:ax,bx,cx,dx,sp,dp,si,disreg的集合:ds,ss,cs,es开始解决问题1:处理的数据放在什么地方在8086CPU中,只有四个寄存器(b转载 2014-08-17 13:58:39 · 583 阅读 · 0 评论 -
使用VC将C语言代码转为汇编
这里使用VS2010进行试验原创 2014-08-16 21:23:16 · 8758 阅读 · 0 评论 -
汇编语言05——包含多个段的程序
安全的空间通常来说,转载 2014-08-16 10:10:38 · 1133 阅读 · 0 评论 -
汇编语言04——[BX]和loop指令
首先展示一个新的程序:assume cs:codesg转载 2014-08-13 22:29:34 · 1103 阅读 · 0 评论 -
汇编语言03——第一个汇编程序
汇编程序编写步骤编写源代码-》转载 2014-08-10 16:43:02 · 1650 阅读 · 0 评论 -
汇编语言02——寄存器(内存访问)
DS和addressDS寄存器通常用来存放要访问的数据的段地址转载 2014-08-10 15:27:24 · 658 阅读 · 0 评论 -
如何在64位操作系统上使用masm进行编译链接和运行
关于如何在64位操作系统上进行编译链接:首先,需要下载debug.exe,DOSbox,masm假如汇编源文件放在:D:\Develop\ASM_Program\first_asm\下,文件名为1.asm下载一个masm6.15,将MASM.EXE,LINK.EXE,ML.EXE三个文件复制到1.asm目录中,1.asm内容:(求2^3)assume原创 2014-08-10 23:04:22 · 14384 阅读 · 3 评论 -
汇编语言10——标志寄存器
标志寄存器flag 和其他寄存器不一样,其他寄存器是用来存放数据的,都是整个寄存器具有一个含义。而flag寄存器是按位起作用的,也就是说,它的每一位都有专门的含义,记录特定的信息。flag的1、3、5、12、13、14、15位在8086CPU中没有使用,不具有任何含义。而0、2、4、6、7、8、9、10、11位都具有特殊的含义。转载 2014-08-20 21:08:35 · 790 阅读 · 0 评论 -
如何在64位系统下使用debug
首先,我们网上去下载debug.exe,这里我把debug放在了c盘根目录下步骤阅读2 接下来,我们需要下载很重要的一个软件叫DosBox,我已经下载好,并打开它3输入mount c c:\ 加载目录到c盘4输入c:\ 进入到c盘,看到我们已经在c盘下了。转载 2014-08-05 21:31:22 · 1032 阅读 · 0 评论