E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
IA-32汇编学习
51单片机
汇编学习
笔记(待续)
51\52单片机
汇编学习
笔记 写在前面: 本文适合阅读ppt是参考。笔记参考书籍为《单片机中级教程-原理及应用》,参考ppt为三明学院机电工程学院使用ppt(文章结尾提供下载地址)。
·
2015-11-13 04:50
学习笔记
IA-32
架构保护模式
GDT和LDT描述符(段描述符):struct Segment_Descriptor{ ushort segment_limit_lo : 16; uint23 segment_base_lo : 24; uint4 type &n
·
2015-11-13 02:47
架构
汇编学习
笔记(8)子程序
说的多不如做的多,子程序的功能十分重要,这篇笔记用来记录书上练习题的代码,加强对子程序的应用。 在屏幕上指定位置显示字符串 在转移指令那一章有个联系是要求在屏幕中间显示不同颜色的字体,当时我写的代码是这样 1 assume cs:codesg,ds:data 2 3 data segment 4 db 'welcome to masm!' 5 data ends 6
·
2015-11-12 17:46
学习笔记
汇编学习
笔记(7)call和ret指令
ret和retf CPU执行ret指令时进行以下两步操作: (IP)=((ss)*16+(sp)) (sp)=(sp)+2 这相当于pop IP CPU执行retf指令时进行以下四步操作: (IP)=((ss)*16+(sp)) (sp)=(sp)+2 (cs)=((ss)*16+(sp)) (sp)=(sp)+2 这相当于pop IP,pop CS,下面这段代码会造成
·
2015-11-12 17:45
学习笔记
汇编学习
笔记(5)阶段性总结
《汇编语言》的1-8章已经学习完毕,这篇笔记是对前面所学的总结,想到哪些知识点就写下来(以下内容都是以8086CPU为基础)。 汇编程序 汇编语言是直接对硬件编程的语言,由机器语言发展而来,采用自然语言的形式书写指令并通过编译器编译为机器语言后由计算机执行。汇编程序主要由两部分组成:指令和数据。 指令 汇编指令:有对应机器码的指令。 1.mov指令:数据传输命令, 和高级语言的赋值
·
2015-11-12 17:43
学习笔记
汇编学习
笔记(6)转移指令原理
这一章主要介绍了转移指令jmp的实现原理,个人感觉还是比较重要的一章,这一章就详细摘录书上的例题及练习,已达到巩固的效果。 offset offset是由编译器执行的指令并没有对应的机器码。 语法:offset 标号 功能:获取标号的偏移地址 书上的例子 1 ;offset 2 3 assume cs:codesg 4 5 codesg seg
·
2015-11-12 17:43
学习笔记
汇编学习
笔记(4)寻址方式
前言 本文是《汇编语言》的学习笔记,对应书中第七章内容,灵活的寻址方式。 这一章节主要通过例题的形式介绍汇编中访问内存的多种方式,新介绍了and和or命令,si,di寄存器。 and and命令是逻辑与命令,按二进制位进行与运算。与运算就是q与q的合取式记为p^q,p和q只要有一个为假,p^q就为假,当且仅当q和q都为真时,p^q才为真。用二进制表示,当且仅当p和q都为0时,p^q才为0,所
·
2015-11-12 17:41
学习笔记
汇编学习
笔记(3)[bx]和loop
本文是《汇编语言》一书的学习笔记,对应书中的4-6章。 汇编程序的执行 要想将源代码变为可执行的程序需经过编译、连接两个步骤,WIN7操作系统下需要MASM程序来进行编译连接工作。将MASM和Debug安装在E:\Software\assembly目录下并新建code文件夹,创建汇编源程序1.asm,使用masm命令编译,link命令连接。 1 ;演示的小程序 2 3 assum
·
2015-11-12 17:40
学习笔记
汇编学习
笔记(2)寄存器
本篇文章是汇编语言(王爽)一书的学习笔记,对应书中的第二、三章,寄存器。 CPU主要是由运算器、寄存器和控制器组成,这一篇笔记主要是寄存器相关知识的学习总结,考虑到通用性,用8086CPU来学习。本次笔记共涉及8086CPU中的7个寄存器(总数14个),分别是AX,BX,CS,IP,DS,SS,SP。 字与字节 8086CPU中,可以处理以下两种尺寸的数据 1.字节:Byte,1Byte=8
·
2015-11-12 17:38
学习笔记
汇编学习
笔记(1)基础知识
本篇文章是汇编语言(王爽)一书的学习笔记,对应书中的第一章,基础知识。 简介 汇编语言,就是直接对硬件进行操作的语言,由机器语言发展而来。早期的程序员都是通过0和1组成的代码来控制计算机的行为,这种方式书写和维护成本巨大,一个hello world都是由几十行0和1组成,错把一个0写成1非常难遇排查,因此,汇编语言应运而生。 汇编语言把难以记忆的机器语言用接近自然语言的形式表现出来,便于书写和
·
2015-11-12 17:36
学习笔记
汇编学习
笔记(14)BIOS对键盘输入的处理
字符的处理 键盘输入的字符一般由int9中断例程从60h端口中读取,并存放在键盘缓冲区中,由int16h例程从键盘缓冲区中读取相应字符,CPU对键盘输入a、shift_a的处理过程如下 1.一开始没有键盘输入,键盘缓冲区为空。 2.按下A键,引发int9例程从60h端口读取A键的通码,然后检测0040:17处的状态字节看是否有shift等控制键按下,发现没有控制键按下,则将A的通码1eh
·
2015-11-12 13:42
学习笔记
汇编学习
笔记(15)综合研究
使用寄存器 TC2.0编译器,编译连接如下代码 用Debug加载,-u命令查看汇编代码,发现根本找不到main函数所在代码段,故用print语句将main函数所在代码段的偏移地址输出方便查找。 可以看到,在程序开头多出两行代码push bp;mov bp,sp这是因为汇编程序将main函数作为子程序处理,须将栈顶指针保存,以便返回。 使用内存空间 程序访问内存空间需要知道两
·
2015-11-12 13:42
学习笔记
汇编学习
笔记(13)直接定址表
不加冒号的数据标号 直接定址表顾名思义就是可以通过给定的数据直接找到所需的地址,主要通过数据标号来实现。 到现在为止我们学习的数据标号的写法都是形如 a: db 1,2,3 其实还有一种写法是这样 a db 1,2,3 看上去只是少了个冒号,但是表示的含义可是大不相同。第一种写法a表示内存单元的地址,而第二种写法a不仅表示内存单元的地址,还表示了内存单元的长度。
·
2015-11-12 13:41
学习笔记
汇编学习
笔记(11)int指令和端口
也就是说,使用int指令可以调用任意的中断例程,例如我们可以显示的调用0号中断例程,还记得在
汇编学习
笔记(10)中我们自己定义了除法溢出的例程么,我们在这里直接调用看看 1 assume cs:codesg
·
2015-11-12 13:39
学习笔记
汇编学习
笔记(12)外中断
概念 外中断,顾名思义是用来处理外部设备输入的中断程序,主要分为两种: 可屏蔽中断:根据标志寄存器IF位的值来判断是否响应,若IF=1,则CPU再执行完当前指令后响应中断;若IF=0则不响应 不可屏蔽中断:CPU必须响应的外部中断,中断码固定为2 键盘输入的处理过程 1.键盘输入:按下一个键产生一个通码,松开一个键产生一个断码,断码=通码+80h 2.引发9号中断:引发9号
·
2015-11-12 13:39
学习笔记
汇编学习
笔记(10)内中断
序 中断,可以理解为"从中间断开",再加上主语就是"从程序流中断开",即CPU不再接着预先定义的代码向下执行,转而去处理中断的信息,有内中断和外中断之分。 内中断 内中断是由计算机内部产生的中断信息,8086CPU有以下4种内中断信息: 除法错误,中断码0 单步执行,中断码1 into指令,中断码4 int指令,中断码int n
·
2015-11-12 13:38
学习笔记
汇编学习
笔记(9)标志寄存器
序 汇编语言中并没有高级语言的if、for语句,通过前面的学习,我们知道在汇编语言中通过loop来实现循环,通过call和ret来实现类似函数的功能。其实,不论是语法还是实现方式都不重要,重要的是要理解这种设计的思想以及为什么要设计这种指令。 举个简单的例子,loop根据(CX)来控制循环次数,从语法上看很简单"loop 标号",但我们在享受这种便捷的同时可以思考一个问题&
·
2015-11-12 13:37
学习笔记
GNU ARM汇编--(六)s3c2440的时钟控制
前面几篇利用GNU ARM汇编控制LED以及ARM的中断处理的设计,对ARM汇编以及体系结构有了一定的认识.后面的
汇编学习
会结合具体的芯片进行,一个为了更灵活熟练的使用汇编,二也是为了通过学习一款具体芯片来提炼出一些有价值的经验
·
2015-11-12 11:04
ARM
汇编学习
备忘-1 DEBUG
工具: 学习工具:emu8086最好用的
汇编学习
环境,有一个非常好用的调试器 window下的命令行工具:DEBUG MASM LINK (也许还有ML.EXE ?)
·
2015-11-11 13:18
debug
汇编学习
笔记---2.3 CS和IP
1,CS和IP是8086CPU中两个最关键的级才能起,指示了CPU当前要读取指令的地址。其中CS表示代码段寄存器,IP表示指令指针寄存器。 在8086PC机器中,任意时刻,假设CS中的内容是M,IP中的内容是N,8086CPU将从内存MX16+N单元开始读取一条指令并执行。 当8086CPU加电启动或者复位后,CS和IP被设置为CS=FFFFH,IP=0000H;当8086PC刚启动是,CPU
Trent1985
·
2015-11-11 12:00
IP
汇编
cs
堆栈平衡
[
汇编学习
]献给汇编初学者-函数调用堆栈变化分析(转自黑客风云) 跟一个朋友谈
·
2015-11-11 11:59
堆栈
x64、x86_64、x64三者的区别
x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,ntel官方文档里面称为“
IA-
·
2015-11-11 07:02
区别
几个概念:x86、x86-64和
IA-32
、IA-64
最近在学习操作系统方面的知识,学习操作系统难免要和CPU打交道,虽然现在CPU和操作系统不像计算机发展初期一样是绑定在一起的,但是大家都知道操作系统和CPU Architecture的联系是很紧密的,有多紧密呢,差不多跟你和你女朋友的关系一样紧密,哈哈~~,闲话少说,开始进入正文。 学习计算机的(我想还包括不是计算机专业)肯定都听过大名鼎鼎的摩尔定律,不知道的可以参见http://en.
·
2015-11-11 05:47
64
软件调试之INT 3讲解
本章我们将介绍
IA-32
CPU是如何支持断点和单步执行功能的。前两节将分别介绍软件断点和硬件断点,第4.3节介绍用于实现单步执行功能的陷阱标志。
·
2015-11-11 04:41
int
[软件调试学习笔记]WinDbg演示
IA-32
CPU下的Windows 分页机制下的地址转换过程
我们知道,从386开始,
IA-32
CPU开始支持Paging。在启用Paging之后,OS将线性地址空间划分为固定大小的Page(通常为4KB或4MB)。
·
2015-11-10 23:26
windows
WinDbg演示
IA-32
CPU下的Windows 分页机制下的地址转换过程
转载于飞天舞者 http://www.cnblogs.com/winston/archive/2009/04/12/1434225.html 我们知道,从386开始,
IA
·
2015-11-08 15:39
windows
x86与x64与x86_64
x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,ntel官方文档里面称为“
IA-
·
2015-11-08 14:01
64
实地址模式与保护模式之间的切换
9.1 实地址模式与保护模式之间的切换 我们知道,
IA-32
计算机在加电或者Reset信号有效之后,首先进入实地址模式,执行BIOS程序,然后再进入保护模式,执行Windows
·
2015-11-07 13:47
模式
汇编学习
笔记---2.2物理地址计算
要理解段地址偏移,首先要了解,为啥要计算段地址。举个例子:8086CPU有20位地址总线,一次可以传送20为地址,达到1MB的寻址能力,但是,该CPU内部又是16位结构,一次处理传输和暂存的地址为16位,只能传送16位的地址,寻址能力只有64K,因此,通常8086CPU采用的是在内部用两个16位地址来合成一个20位物理地址,而这个20位的物理地址计算,就是通过段地址和偏移地址来合成的。当8086C
Trent1985
·
2015-11-07 09:00
汇编学习
笔记---2.1通用寄存器
对于汇编程序员来说,CPU中主要的部件就是寄存器,这也是我们程序员可以用指令读写的部件,通过指令来实现对CPU的控制。以8086CPU为例,它所有的寄存器都是16位的,共有14个寄存器分别是:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW。以AX为例,寄存器的逻辑结构如下图所示:其中,0-7表示AX中的第八位,用AL表示,8-15表示高八位,用AH来表示,对于
Trent1985
·
2015-11-04 13:00
S5PV210(TQ210)裸机编程
4.1
汇编学习
4.1.1 基础知识 4.1.2 ARM模拟器 4.2 &
·
2015-11-02 13:25
编程
简单C程序在
IA-32
CPU上运行过程的分析
本文将通过编译器生成的汇编代码分析C程序在
IA-32
体系PC上的运行流程 实验环境: gcc 4.8.2 C语言程序的内存结构 C代码如下 int g(int x) {
·
2015-11-02 12:19
cpu
Win32
汇编学习
笔记(四)
前面几篇文章中都没有使用到菜单,对话框等资源,这次就演练如何在应用程序中加入这些资源。我们就以将VC6.0默认生成的Win32程序移植为32位汇编为例。 首先用VC6.0生成一个默认Win32版的Hello,World程序,将Hello.rc,demo.ico,small.ico都拷贝到项目目录下,去掉VC6.0相关的部分,最后Hello.rc修改如下: //Microsoft 
·
2015-11-02 10:27
Win32
Win32
汇编学习
笔记(三)
; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
·
2015-11-02 10:23
Win32
Win32
汇编学习
笔记(二)
模仿win32的Hello,World程序: . 386 .model flat,stdcall  
·
2015-11-02 10:22
Win32
汇编学习
笔记(软件使用)
1.debug的使用 功能: R命令用来查看,改变CPU寄存器的内容 D命令来查看内存中的内容 U命令将内存中的机器指令翻译成汇编指令 T命令执行一条机器指令 A命令以汇编指令格式在内存中写入一条机器指令 G命令表明一次直接执行到某点 2.ascii对照表 计算机用ascii码的规则对键盘输入的a进行
·
2015-11-01 14:56
学习笔记
汇编学习
笔记(一)--王爽老师教材
学习汇编的目的 通过学习汇编进行编程,而深入的了解计算机底层的基本工作机理,可以达到随心所欲的控制计算机。在学习的过程中,比如操作系统,编译原理等内容都会影响我们,但是我们只是利用masm等工具进行更好的学习汇编,不要让这些额外的东西分散我们的注意力,要明确我们学习的目的,不要多手抓多手都丢失的厄运!! 第二章知识点 1.物理地址 所有的内存
·
2015-11-01 14:55
学习笔记
Intel- 64 与
IA-32
架构软件开发人员手册 中文版
P6家族处理器是基于P6家族微架构的
IA-32
处理器它包含了奔腾Pro(Pentium®Pro),奔腾2(Pentium®II),奔腾3(Pentium®III),奔腾3至强处理器(Pentium®IIIXeon
IT老混混
·
2015-11-01 13:02
系统编程
Intel- 64 与
IA-32
架构软件开发人员手册 中文版
P6家族处理器是基于P6家族微架构的
IA-32
处理器它包含了奔腾Pro(Pentium ®Pro),奔腾2(Pentium ® II),奔腾3(Pentium ® III),奔腾3至强处理器(Pentium
a1051123
·
2015-11-01 13:00
Win32
汇编学习
笔记(一)
1,安装masm32,并设置环境变量: @echo off set Masm32Dir = E: \ masm32 set include = %Masm32Dir% \ Include ; %include% ; D: \ dyk \ vc6 \ Include ; D: \ dyk \ vc6 \ MFC \ Includ
·
2015-11-01 13:08
Win32
[软件调试学习笔记]WinDbg演示
IA-32
CPU下的Windows 分页机制下的地址转换过程
我们知道,从386开始,
IA-32
CPU开始支持Paging。在启用Paging之后,OS将线性地址空间划分为固定大小的Page(通常为4KB或4MB)。
·
2015-11-01 11:24
windows
【管理心得之四十】中文“其他”、英文“other”、日文“その他”..........................................
本阶段的主要任务是: 一、学习理论,收集、
汇编学习
资料,提高自己的素质。....
·
2015-11-01 10:43
管理
动手打造一个
汇编学习
环境
相信大家学习汇编的时候都是在Dos界面下的,输入输入命令,编译--连接--运行,都是很机械的动作。很是使人厌烦。当然你也可以选择一些好的集成环境,我上网看看别人评论,并自己下载试过,RadASM 这个集成环境是很好的。不过太过笨重了,有100多M,并有很多功能我们也用不着。还有MASMPlus也挺好。 在此,我极力推荐一个软件EditPlus, 这是个小巧灵活,很人性化的
·
2015-10-31 13:14
学习
汇编学习
笔记,过程编程习题
Intel汇编语言程序设计第五章编程联系 绘制色彩文本 1 INCLUDE irvine32. inc 2 3 .data 4 str1 BYTE " Enter " , 0 5 color DWORD 1
·
2015-10-31 13:14
学习笔记
[Intel® 64 and
IA-32
Architectures Software Developer's Manuals]Intel架构软件开发手册
http://www.intel.com/products/processor/manuals/ Intel® 64 and
IA-32
Architectures Software Developer's
·
2015-10-31 11:21
Architecture
平坦内存模式、分段内存模式、实地址模式
IA-32
处理器平台允许3种不同的访问系统内存的方法: (1)平坦内存模式 (2)分段内存模式 (3)实地址模式 平坦内存模式把全部系统内存表示为连续的地址空间。
·
2015-10-31 11:51
内存
汇编学习
笔记之处理器体系结构
在真正接触汇编语言的指令之前最好先了解汇编语言的工作原理和过程,这对于理解汇编指令和读汇编的程序有很大的好处。 1. 处理器结构 寄存器(有限的存储单元),时钟,一个控制单元(CU)和一
·
2015-10-31 10:44
学习笔记
IA-32
Concept
Operating Mode: The
IA-32
architecture supports three operating modes and one quasi-operating mode: Protected
·
2015-10-31 10:28
on
汇编学习
一般学汇编先学计算机组成原理,重点掌握内存寻址,和cpu基本原理。至于总线、接口等概念可以掠过,用到时在查阅。学习的目标是了解原理,所以,如果有重点的认真看书的化,最少要用4个小时。 如果你大概知道堆栈、偏移地址、寄存器的结构这些概念,就足矣正式开始学习汇编了。 以下是我给你的建议: ★学习汇编不要求新, 一本经过时间考验的教材往往能带你进入
·
2015-10-31 09:13
学习
汇编学习
笔记--【bx】和loop
1.[bx]和内存单元 mov ax , [bx] [bx]:表示一个内存单元,它的偏移地址在bx中 (ax) = ((ds)*16+(bx)) 将一个内存单元的内容送入ax中,这个内存单元的长度为2字节,存放一个字,偏移地址在bx中,段地址在ds中 mov al , [bx] 将一个内存单元的内容送入ax中,这个内存单元的长度为1字节,存放一个字节,偏移地址在bx中,
·
2015-10-31 09:23
学习笔记
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他