AX,可存放一般数据,而且可作为累加器使用;BX,可存放一般数据,而且可用来存放数据的指针(偏移地址),常常和DS寄存器连用;CX,可存放一般数据,而且可用来做计数器,常常将循环次数用它来存放;DX,可存放一般数据,而且可用来存放乘法运算产生的部分积,或用来存放输入输出的端口地址(指针);SP,用于...
分类:
其他好文 时间:
2014-12-20 23:28:16
阅读次数:
298
补全编程,利用loop指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在DX中assume cs:codecode segment start:mov ax,2000h mov ds,ax mov bx,0 s: mov cl,[...
分类:
其他好文 时间:
2014-12-10 14:12:02
阅读次数:
211
8086CPU的转移指令分为以下几类:1.无条件转移指令(如:jmp)2.条件转移指令3.循环指令(如:loop)4.过程5.中断一,操作符offset由编译器处理,是伪指令,功能是取得标号的偏移地址问题9.1中,要复制的数据:mov ax,bx指令的长度(机器码)为两个字节,即1个字。nop的机器...
分类:
其他好文 时间:
2014-12-09 13:48:27
阅读次数:
273
/*
* up_wp_page()函数用于解除物理页的共享状态,同时给发生写时复制的进程提供一页新的
* 物理页,新物理页是之前共享页的数据相同的拷贝。
* table_entry是共享物理页的地址的指针,即页表实际地址+表内偏移地址
*/
void un_wp_page(unsigned long * table_entry)
{
unsigned long old_page,new_...
分类:
系统相关 时间:
2014-11-26 11:29:37
阅读次数:
325
寄存器(内存访问) 看到标题才发现,第二章是寄存器直接与常量(数字)进行交互内存中字的存储假设读取字节(流)为从左向右读对字的处理为从又向左正是因为不同,所以才会发问吧DS与偏移地址:通用的获取地址的方式(CS:IP这个是给程序用的)类似于通用寄存器,但不能使用move ds,1:单纯的说指令太少....
分类:
其他好文 时间:
2014-11-07 18:27:57
阅读次数:
105
1. 基本概念1.1 地址(1)逻辑地址:指由程序产生的与段相关的偏移地址部分。在C语言指针中,读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址。(2)线性地址:段中的偏移地址(逻辑地址),加上相应段的基地址就生成了一个线性地址。(3)物理地址: 放在寻址总线...
分类:
系统相关 时间:
2014-10-16 14:13:42
阅读次数:
272
偏移地址是指段内相对于段起始地址的偏移值,例如一个存储器的大小是1KB,可以把它分为4段,第一段的地址范围就是0—255,第二段的地址范围就是256-511,依次类推。。这些段内的偏移地址就是在0-255的范围内的。 段地址就是每一段的首地址,第一段的段地址就是0,计算它们的物理地址只需要把段地址左...
分类:
其他好文 时间:
2014-10-16 07:20:32
阅读次数:
208
没有读过第一篇的读者,可以点击这里,阅读深入研究C语言的第一篇。问题一:如何打印变量的地址?我们用取地址符&,可以取到变量的偏移地址,用DS可以取到变量的段地址。1.全局变量:我们看到,这里的全局变量是在数据段中的。2.局部变量:我们看到,这里的局部变量是在栈段中的。问题二:研究main函数的偏移地...
分类:
编程语言 时间:
2014-10-16 00:05:01
阅读次数:
377
Python 3版本pattern_create.rb工具,用于计算溢出发生时被覆盖元素偏移地址。#!/usr/bin/env python# Replicates msf pattern_create.rbimport systry:length=int(sys.argv[1])except:pr...
分类:
编程语言 时间:
2014-10-10 20:12:54
阅读次数:
504
原文地址:http://blog.csdn.net/yihuiworld/article/details/7533335#comments程序如何执行: CPU先找到程序在内存中的入口地址 -- 地址总线 (8086有20根地址总线,每一根可以某一时传0或1, 20位的二进制数字可以表示的不同的数字...
分类:
其他好文 时间:
2014-10-07 18:44:43
阅读次数:
241