JAVA的栖息地
一、用到的工具(win下的环境) Bochs:虚拟机WinHex:16进制的编辑器收藏的一个连接:http://pan.baidu.com/share/link?shareid=4212183194&uk=4279138139Nasm编译器:http://pan.baidu.com/share/link?shareid=6103169&uk=4279138139NoteP
一、8086寄存器 8086寄存器有14个寄存器分为以下几类:通用寄存器、段寄存器、指令寄存器、标志寄存器等。(一)通用寄存器 ax:累加寄存器 &nbs
一、引导扇区的基本内容 1.引导扇区是磁盘的第0个扇区 2.以0xaa55为结尾 ----------------------------------------------------- 名称 开始字节  
一、上篇基本按书上写个一个从实模式到保护模式的简单实现,但是上面的实现书上说太暴力了主要是死循环,就添加了从保护调回到实模式的实现。 直接问题:按书上写的却怎么也跳回不到实模式 错误:我的中间段的长度是实际长度 而不是0ffffh 至于原因。我想是16位代码的界限,这样在跳到另一个段的时候,cs的值改变了。但是学的跳转指令有直接修改cs的???为何我也不知道了
一、实模式下的汇编和保护模式下的汇编寻址 1.实模式下寻址方式直接 段地址:偏移地址 都是16位的寄存器 物理地址=段地址*16+偏移地址 一个段 最大 2^16=64k 20位的地址总线寻址能力 2^20=1M 
一、比较指令 cmp cmp 值一 值二 1.但是不能直接比较两个变量,可以赋值到寄存器 2.比较必须同时为有符号或则无符号 3.字节数必须相同 4.可以cmpsb,cmbsw比较其他的字节长度 无符号; --------------------------------------------------------
c语言中的预处理不是程序的一部分 占运行时间,不占编译时间 nasm的预处理以%开头的 ------------------------------------------------------ %define 例子: %define count(a,b) a+b &nb
一、标示符 1.大小写区分 2._ 数字 英文字母 $ # @ ~ . ? 3.第一个标示符只能是:英文字母,点,下划线,问号 二、数据定义的伪指令 db 定义字节数据 dw&
一、数据 (1)整形数字 1.基本的十进制数 2.十六进制数加H、h或者前面添加0X、0x 3.八进制数附加Q、q 4.二进制数附加B、b (2)浮点数常量 只适用于伪指令DD、DQ、DT 数字.数字E|e+/-指数
输入输出根据类库提供的函数进行完成的,java根据流进行的 一、标准类库中提供的 1.putchar(c) 向一个终端输出一个字符 2.getchar() &nbs
一、c语言的基本数据类型 基本的数据类型:字符型char一般占用一个字节 整形 int 可以有
寄存器:一、 cs、ip 8086有这两个寄存器的原因:8086是16位结构的CPU,这也就是说,在8086内部,能够一次性处理、传输、暂时存储的信息最大长度是16位的,然而对内存的地址总线是20位的。 物理地址=段地址*16+偏移地址(16进制表示的)Mark:内存中的地址是不分段的
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号