汇编语言
文章平均质量分 50
青菜里的小青虫
让编程改变世界Change the world by program
展开
-
寄存器
通用寄存器有8个, 又可以分成2组,一组是数据寄存器(4个),另一组是指针寄存器及变址寄存器(4个).顾名思义,通用寄存器是那些你可以根据自己的意愿使用的寄存器,修改他们的值通常不会对计算机的运行造成很大的影响。数据寄存器分为:AH&AL=AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器原创 2013-08-26 12:44:01 · 694 阅读 · 0 评论 -
使用 Edit + MASM 5.0 编译器 + Linker 连接器
其实这种方式是很简单的,只是很麻烦,因为简单而且麻烦,所以我采用尽可能的将截图传上来,然后稍加注解的方式进行介绍,软件准备:需要 MASM 5.0 或者以上的汇编编译器首先,是要编辑汇编源代码:其实对于源码的编辑根本不需要向如下这么麻烦,直接拿个记事本就 OK 了运行 cmd 命令输入 Edit 命令从而弹出汇编源码编辑框原创 2013-08-26 12:59:25 · 1457 阅读 · 1 评论 -
汇编指令大全(有注释)
一、数据传输指令───────────────────────────────────────它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.1. 通用数据传送指令.MOV 传送字或字节.MOVSX 先符号扩展,再传送.MOVZX 先零扩展,再传送.PUSH 把字压入堆栈.POP 把字弹出堆栈.PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI原创 2013-08-26 12:50:29 · 580 阅读 · 0 评论 -
栈
栈是一种具有特殊访问方式的储蓄空间,他的特殊性在于在后一个进栈的最先出栈。栈有两个基本元素,一个是入栈一个是出栈入栈:将一个新元素放入栈顶出栈:从栈顶取出一个元素出栈和入栈的指令:PUSH(入栈)POP(出栈)PUSH ax:将寄存器ax中的数据送入栈;POP ax:从栈顶取出数据送入ax。注意:字型数据是用两个单元存放的,高地址单元放高8位,低地址单元放原创 2013-08-26 12:48:47 · 705 阅读 · 0 评论 -
栈溢出
栈溢出是由于C语言系列没有内置检查机制来确保复制到缓冲区的数据不得大于缓冲区的大小,因此当这个数据足够大的时候,将会溢出缓冲区的范围。定义栈溢出就是缓冲区溢出的一种。 由于缓冲区溢出而使得有用的存储单元被改写,往往会引发不可预料的后果。程序在运行过程中,为了临时存取数据的需要,一般都要分配一些内存空间,通常称这些空间为缓冲区。如果向缓冲区中写入超过其本身长度的数据,原创 2013-08-26 12:48:06 · 549 阅读 · 0 评论 -
DeBug指令
R命令查看、改变CPU寄存器的内容D查看内存中的内容E改写内存中的内容U将内存中的机器指令翻译成汇编指令T执行一条机器指令A以汇编指令格式在内存中写入一条机器指令。原创 2013-08-26 12:45:59 · 472 阅读 · 0 评论 -
MASM For Windows 集成开发环境
软件准备:MASM For Windows 集成开发环境,我这里使用的是 2010 版本,大小 15.5 MB实现 HelloWorld直接打开 MASM For Windows 集成开发环境,然后找到范例程序,然后直接运行即可可以看出,使用这个东东确实会方便很多很多原创 2013-08-26 12:51:33 · 3495 阅读 · 3 评论 -
堆栈
在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。要点:堆,顺序随意。栈,后进先出(Last-In/First-Out)。对比栈(操作系统):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈原创 2013-08-26 12:47:41 · 569 阅读 · 0 评论 -
段寄存器
含义段寄存器是因为对内存的分段管理而设置的。16位CPU有四个16位段寄存器,所以,其程序可同时访问四个不同含义的段。段寄存器CS指向存放程序的内存段,IP是用来存放下条待执行的指令在该段的偏移量,把它们合在一起可在该内存段内取到下次要执行的指令。段寄存器SS指向用于堆栈的内存段,SP是用来指向该堆栈的栈顶,把它们合在一起可访问栈顶单元。另外,当偏移量用到了指针寄存器BP,原创 2013-08-26 12:44:59 · 1180 阅读 · 0 评论 -
ASCII码表
ASCII码表信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。 八进制原创 2013-08-28 15:35:00 · 486 阅读 · 0 评论