自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

转载 做一个神奇的跳转

换博客啦, 博客园写blog还是挺舒服的, 但是交流欠佳, 打算在csdn上写blog. 本人计划推出 Secrets in C 系列. 详见:http://blog.csdn.net/dennis_fan转载于:https://www.cnblogs.com/dennisOne/archive/2012/11/20/2778555.html...

2012-11-20 10:09:00 71

转载 判断C语言的算术运算越界问题

大量的安全漏洞是由于计算机算术运算的微妙细节引起的, 具体的C语言, 诸如符号数和无符号数之间转换, 算术运算的越界都会导致不可预知的错误和安全漏洞, 具体的案例数不胜数. 作为一个系统程序员, 有必要对这些细节有深入的了解. 本篇参考csapp, 主要介绍如何判断算术运算的越界问题.(虽然本篇的代码经过大量的测试, 但本人仍然无法保证代码的正确性, 希望大家纠错).讲...

2012-11-13 17:39:00 508

转载 从汇编语言看C语言的内存管理

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne本文试图从汇编语言的角度回答下面几个问题: 在C语言中直接使用寄存器; C语言如何直接操作内存; C语言的内存的管理; C语言的参数传递和返回值; C语言中的可变参数传递;C语言直接使用寄存器 在TC...

2012-10-29 15:04:00 160

转载 汇编语言笔记17-使用BIOS进行键盘输入和磁盘读写

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne☞使用BIOS进行键盘输入和读取键盘缓冲区 复习键盘缓冲区和状态字节 (1). BIOS键盘缓冲区是系统启动后,BIOS用于存放int 9中断例程所接受的键盘输入的内存区。键盘缓冲区有16个字单元,可以存储15个按键的扫描码和对应的ASCII码,高位字节是扫描码,低位字节是字符...

2012-10-28 14:37:00 271

转载 汇编语言笔记16-直接定址表

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne☞地址标号和数据标号 地址标号 1 assume cs:code 2 code segment 3 a: db 1, 2, 3, 4, 5, 6, 7, 8 4 b: dw 0 5 start: mov si, offset a...

2012-10-28 11:05:00 341

转载 汇编语言笔记15-外中断

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOneCPU除了有运算能力外,还要有I/O能力。那么如何及时处理外设的输入?需要解决两个问题:外设的输入随时都可能发生,CPU如何得知?CPU从何处得到外设的输入?本章以键盘输入为例,讨论这两个核心问题。 ☞第一个核心问题:CPU从何处得到外设的输入? PC系统的接口卡和主...

2012-10-26 21:21:00 103

转载 汇编语言笔记14-端口

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne☞CPU直接读写数据的地方 CPU内部的寄存器 内存单元 各种存储器都和CPU的地址线、数据线、控制线相连,CPU把它们当做内存,看作一个逻辑存储器(内存地址空间)。 端口 除了存储器外,和CPU的总线相连的还有下面3中芯片。 (1). 各种接口卡(如网...

2012-10-26 15:34:00 177

转载 汇编语言笔记13-int指令(内中断续)

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne☞int指令简介 int指令引发的中断,是另一种重要的内中断(当然外中断也是由int指令引发的)。本章主要介绍int指令引发的内中断。 CPU执行 int n指令,引发的n号中断的中断过程。 (1). 取中断类型码n; (2). 标志寄存器入栈,IF=0,TF=0; ...

2012-10-26 13:22:00 173

转载 汇编语言笔记12-内中断

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne☞中断概述 中断时CPU处理外部突发事件的一个重要技术。它能使CPU在运行过程中对外部事件发出的中断请求及时地进行处理,处理完成后又逻辑返回断点,继续进行CPU原来的工作。 引起中断的原因或者说发出中断请求的来源叫做中断源。根据中断源的不同,可以把中断分为硬件中断和软件中断两大类,...

2012-10-24 16:01:00 105

转载 汇编语言笔记11-标志寄存器

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne☞标志寄存器综述 8086CPU的标志寄存器(flags Register, FR)有16位,其中存储的信息通常被称为程序状态字(PSW),flag寄存器与其他寄存器不同,flag寄存器是按位起作用的。8086的flag寄存器中有CF、PF、ZF、SF、OF、DF标志位。 ...

2012-10-23 21:42:00 171

转载 使用汇编语言解决除法溢出问题

1 assume cs:code 2 3 code segment 4 start: 5 mov ax, 4240h 6 mov dx, 000fh 7 mov cx, 0ah 8 9 call divdw10 11 mov a...

2012-10-23 13:09:00 351

转载 使用汇编语言显示字符串

1 assume cs:code, ds:data 2 data segment 3 db 'welcome to masm!', 0 4 data ends 5 6 code segment 7 start: mov ah, 8 8 mov al, 3 9 mov cl, 21...

2012-10-23 13:02:00 1466

转载 汇编语言笔记10-CALL和RET指令

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne☞模块化程序设计 模块化程序设计 汇编语言通过call和ret指令实现了模块化程序设计。可以实现多个相互联系、功能独立的子程序来解决一个复杂的问题。 子程序的框架 1 assume cs:code 2 code segment 3 main...

2012-10-23 11:42:00 157

转载 汇编语言笔记09-转移指令的原理

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne☞8086CPU转移指令分类无条件转移指令(如:jmp)条件转移指令 循环指令(如:loop)过程 中断 ☞操作符offsetoffset在汇编语言中是由汇编器处理的符号,它的功能是取标号的偏移地址。 ☞jmp指令 ...

2012-10-21 20:37:00 110

转载 汇编语言笔记08-数据处理的两个基本问题(阶段总结)

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne数据处理涉及到两个基本问题: (1). 处理的数据在什么地方?(内存,寄存器,端口还是指令缓冲器) (2).要处理的数据有多长?(byte, word, dword) ☞寄存器总结 寄存器 reg:ax、bx、cx、dx、ah、al、bh、bl、...

2012-10-21 00:46:00 115

转载 汇编语言笔记07-更灵活的定位内存地址的方法

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne小知识点1:and和or指令 and指令 mov al, 01100011B and al, 00111011B or指令 mov al, 01100011B or al, 00111011Band和or指令的功能(比如大小...

2012-10-20 17:31:00 154

转载 汇编语言笔记06-包含多个段的程序

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne在操作系统的环境下,合法地通过操作系统取得的空间都是安全的。程序取得所需空间的方法有两种:一是在加载程序的时候为程序分配,再就程序在执行过程中向系统申请。对于第一种方式,我们在程序中定义将要处理的数据,这些数据被编译、连接程序作为程序的一部分写入可执行文件中。当可执行文件...

2012-10-20 13:40:00 126

转载 汇编语言笔记05-[bx]和loop指令

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOnedebug和汇编编译器masm对指令的不同处理 debugmasm debug和编译器对[idata]有这不同的解释。 debug将"[idata]"是一个内存单元,"idata"是内存单元的偏移地址;而编译器将"[idata]...

2012-10-20 11:17:00 156

转载 汇编语言笔记04-第一个程序

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne一个汇编源程序的组成 汇编源程序 汇编源程序的组成 (1). 伪指令 XXXsegment… XXXends 定义段(可以定义代码段、数据段、栈段)。 end 一个汇编程序的结束标志,并且可以指定代码入口地址。 assume编译程序...

2012-10-19 17:31:00 101

转载 汇编语言笔记03-寄存器(内存访问)

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne内存中字的存储 8086PC,存放在一个字型数据(16位)的两个地址连续的内存单元称为字单元。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。 将起始地址为N的字单元简称为N地址字单元,它包括N和N+1号两个内存单元。 ...

2012-10-15 10:16:00 117

转载 汇编语言笔记02-寄存器(CPU工作原理)

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne典型CPU的构成 一个典型的CPU是由运算器、控制器、寄存器等器件构成。在CPU中: 运算器进行信息处理 寄存器进行信息存储 控制器控制各种器件进行工作 内部总线连接CPU的各种器件,在它们之间进行数据的传送。 8086CPU的通用寄...

2012-10-15 10:01:00 93

转载 汇编语言笔记01-基础知识

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效地应用汇编程序对其编程。汇编的研究重点: 如何利用硬件系统的编程结构和指令集有效灵活地控制系统进行工作。☞机器语言机器语言是机器指令的集合。机器指令就是一台机器可以正确执行的命令。电子计算机的...

2012-10-13 15:10:00 86

转载 汇编语言笔记-序言+免责声明

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne近来为了深入学习操作系统,把原来本科期间没有好好学的汇编语言重新补习了下。该系列是我读王爽老师的《汇编语言》的一份读书笔记。由于年岁的增长,迫切想了解计算机的底层。王爽老师这本《汇编语言》极其适合入门,原来以为汇编入门很难,但是在王老师的娓娓道来下,现在发现汇编的门槛并没有想象中的高...

2012-10-13 14:28:00 156

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除