
8086汇编
文章平均质量分 73
cqkxboy168
这个作者很懒,什么都没留下…
展开
-
什么是寄存器——汇编学习笔记(一)
计算机寄存器分类简介:32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)1、数据寄存器数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线原创 2013-05-30 14:16:30 · 5945 阅读 · 0 评论 -
查看CPU和内存以及debug的使用——汇编学习笔记(二)
Debug 是 DOS 和 Windows 都提供的实模式(8086 方式)程序的调试工具,通过它可以查看 CPU 各种寄存器的内容,内存情况,以及在机器码级跟踪程序的运行。debug 各命令的介绍:(1) R命令——查看、改变 CPU 寄存器的内容;(2) D命令——查看内存中的内容;(3) E命令——改写内存中的内容;(4) U命令——将内存中的机器指令翻译成汇编指令;原创 2013-05-30 14:17:42 · 4880 阅读 · 0 评论 -
如何用汇编编写程序——汇编学习笔记(五)
我们这里要开始用汇编语言编写可执行文件了,例如 exe 格式的可执行文件一、一个程序从写出到执行的过程第一步:编写汇编源程序。第二步:对源程序进行编译连接。源程序编译产生目标文件,目标文件连接产生可执行文件。(可执行文件包含两部分的内容,1.程序和数据,程序是指从汇编指令翻译过来的机器码,数据是指在源程序中定义的数据;2.相关的描述信息,比如程序有多大,要占多少内存空间等)原创 2013-05-30 14:19:07 · 1207 阅读 · 0 评论 -
[bx]和 loop 指令——汇编学习笔记(六)
要完整的描述一个内存单元,需要两种信息:a内存单元的地址;b内存单元的长度(类型)。用 [0] 表示一个内存单元时, 0 表示单元的偏移地址,段地址在 DS 寄存器中,单元的长度由具体指令中其他的操作对象来决定,比如 mov ax,[0] ,这时 [0] 表示一个字单元,占两个字节, mov al,[0],这时 [0] 表示一个字节单元,占一个字节。同理[bx]也是表示一个内存单元,只是它原创 2013-05-30 14:19:49 · 1237 阅读 · 0 评论 -
栈——汇编学习笔记(四)
栈的操作规则被称为LIFO,last in first out 后进先出当今 CPU 中都有栈的设计,8086CPU 提供了相关的指令来以栈的方式访问内存,8086CPU 提供了入栈和出栈指令,最基本的两个是 PUSH(入栈) 和 POP(出栈),push ax,表示将寄存器 ax 中的数据送入栈中,8086CPU 中入栈和出栈都是以字为单位进行的。8086CPU 中,有两个寄存器原创 2013-05-30 14:14:38 · 782 阅读 · 0 评论 -
汇编里寄存器的作用
ebp和esp是32位的SP,BP esp是堆栈指针 ebp是基址指针 ESP与SP的关系就象AX与AL,AH的关系.32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EF原创 2013-05-30 14:02:27 · 887 阅读 · 0 评论 -
寻址方式——汇编学习笔记(三)
操作数寻址方式有多种,其目的是缩短指令长度,扩大寻址空间,提高编程的灵活性。最基本的寻址方式有如下几种。 (1)隐含寻址 在指令中并不直接给出操作数的地址,而是隐含着操作数的地址。 例:ADD B ;另一个操作数的地址即隐含为累加器AC (2)立即寻址 指令的地址字段指出的不是操作数的地址,而是操原创 2013-05-30 14:18:25 · 2920 阅读 · 0 评论