当前位置: 首页 > news >正文

怎么做网站访问统计长兴企业网站开发

怎么做网站访问统计,长兴企业网站开发,做网站学哪种代码好,唐山网站建设方案报价这个引导扇区的代码没什么困难#xff0c;比较容易读懂。较上一章不同的是#xff0c;引导扇区除了给本身代码准备GDT之外#xff0c;还要给“简易操作系统”准备GDT。本章中的引导扇区代码#xff0c;内核代码#xff0c;用户代码一定的要弄的清楚明白熟悉后才能进行后面…这个引导扇区的代码没什么困难比较容易读懂。较上一章不同的是引导扇区除了给本身代码准备GDT之外还要给“简易操作系统”准备GDT。本章中的引导扇区代码内核代码用户代码一定的要弄的清楚明白熟悉后才能进行后面的概念因为后面的“任务切换”等概念都是建立在这三段代码之上的本篇只讨论引导扇区代码。 代码如下 ;代码清单13-1;文件名c13_mbr.asm;文件说明硬盘主引导扇区代码 ;创建日期2011-10-28 22:35 ;设置堆栈段和栈指针 core_base_address equ 0x00040000 ;常数内核加载的起始内存地址 core_start_sector equ 0x00000001 ;常数内核的起始逻辑扇区号 mov ax,cs mov ss,axmov sp,0x7c00;计算GDT所在的逻辑段地址mov eax,[cs:pgdt0x7c000x02] ;GDT的32位物理地址 xor edx,edxmov ebx,16div ebx ;分解成16位逻辑地址 mov ds,eax ;令DS指向该段以进行操作mov ebx,edx ;段内起始偏移地址 ;跳过0#号描述符的槽位 ;创建1#描述符这是一个数据段对应0~4GB的线性地址空间mov dword [ebx0x08],0x0000ffff ;基地址为0段界限为0xFFFFFmov dword [ebx0x0c],0x00cf9200 ;粒度为4KB存储器段描述符 ;创建保护模式下初始代码段描述符mov dword [ebx0x10],0x7c0001ff ;基地址为0x00007c00界限0x1FF mov dword [ebx0x14],0x00409800 ;粒度为1个字节代码段描述符 ;建立保护模式下的堆栈段描述符 ;基地址为0x00007C00界限0xFFFFE mov dword [ebx0x18],0x7c00fffe ;粒度为4KB mov dword [ebx0x1c],0x00cf9600;建立保护模式下的显示缓冲区描述符 mov dword [ebx0x20],0x80007fff ;基地址为0x000B8000界限0x07FFF mov dword [ebx0x24],0x0040920b ;粒度为字节;初始化描述符表寄存器GDTRmov word [cs: pgdt0x7c00],39 ;描述符表的界限 lgdt [cs: pgdt0x7c00]in al,0x92 ;南桥芯片内的端口 or al,0000_0010Bout 0x92,al ;打开A20cli ;中断机制尚未工作mov eax,cr0or eax,1mov cr0,eax ;设置PE位;以下进入保护模式... ...jmp dword 0x0010:flush ;16位的描述符选择子32位偏移;清流水线并串行化处理器[bits 32] flush: mov eax,0x0008 ;加载数据段(0..4GB)选择子mov ds,eaxmov eax,0x0018 ;加载堆栈段选择子 mov ss,eaxxor esp,esp ;堆栈指针 - 0 ;以下加载系统核心程序 mov edi,core_base_address mov eax,core_start_sectormov ebx,edi ;起始地址 call read_hard_disk_0 ;以下读取程序的起始部分一个扇区 ;以下判断整个程序有多大mov eax,[edi] ;核心程序尺寸xor edx,edx mov ecx,512 ;512字节每扇区div ecxor edx,edxjnz 1 ;未除尽因此结果比实际扇区数少1 dec eax ;已经读了一个扇区扇区总数减1 1:or eax,eax ;考虑实际长度≤512个字节的情况 jz setup ;EAX0 ?;读取剩余的扇区mov ecx,eax ;32位模式下的LOOP使用ECXmov eax,core_start_sectorinc eax ;从下一个逻辑扇区接着读2:call read_hard_disk_0inc eaxloop 2 ;循环读直到读完整个内核 setup:mov esi,[0x7c00pgdt0x02] ;不可以在代码段内寻址pgdt但可以;通过4GB的段来访问;建立公用例程段描述符mov eax,[edi0x04] ;公用例程代码段起始汇编地址mov ebx,[edi0x08] ;核心数据段汇编地址sub ebx,eaxdec ebx ;公用例程段界限 add eax,edi ;公用例程段基地址mov ecx,0x00409800 ;字节粒度的代码段描述符call make_gdt_descriptormov [esi0x28],eaxmov [esi0x2c],edx;建立核心数据段描述符mov eax,[edi0x08] ;核心数据段起始汇编地址mov ebx,[edi0x0c] ;核心代码段汇编地址 sub ebx,eaxdec ebx ;核心数据段界限add eax,edi ;核心数据段基地址mov ecx,0x00409200 ;字节粒度的数据段描述符 call make_gdt_descriptormov [esi0x30],eaxmov [esi0x34],edx ;建立核心代码段描述符mov eax,[edi0x0c] ;核心代码段起始汇编地址mov ebx,[edi0x00] ;程序总长度sub ebx,eaxdec ebx ;核心代码段界限add eax,edi ;核心代码段基地址mov ecx,0x00409800 ;字节粒度的代码段描述符call make_gdt_descriptormov [esi0x38],eaxmov [esi0x3c],edxmov word [0x7c00pgdt],63 ;描述符表的界限lgdt [0x7c00pgdt] jmp far [edi0x10] ;------------------------------------------------------------------------------- read_hard_disk_0: ;从硬盘读取一个逻辑扇区;EAX逻辑扇区号;DS:EBX目标缓冲区地址;返回EBXEBX512 push eax push ecxpush edxpush eaxmov dx,0x1f2mov al,1out dx,al ;读取的扇区数inc dx ;0x1f3pop eaxout dx,al ;LBA地址7~0inc dx ;0x1f4mov cl,8shr eax,clout dx,al ;LBA地址15~8inc dx ;0x1f5shr eax,clout dx,al ;LBA地址23~16inc dx ;0x1f6shr eax,clor al,0xe0 ;第一硬盘 LBA地址27~24out dx,alinc dx ;0x1f7mov al,0x20 ;读命令out dx,al.waits:in al,dxand al,0x88cmp al,0x08jnz .waits ;不忙且硬盘已准备好数据传输 mov ecx,256 ;总共要读取的字数mov dx,0x1f0.readw:in ax,dxmov [ebx],axadd ebx,2loop .readwpop edxpop ecxpop eaxret;------------------------------------------------------------------------------- make_gdt_descriptor: ;构造描述符;输入EAX线性基地址; EBX段界限; ECX属性各属性位都在原始; 位置其它没用到的位置0 ;返回EDX:EAX完整的描述符mov edx,eaxshl eax,16 or ax,bx ;描述符前32位(EAX)构造完毕and edx,0xffff0000 ;清除基地址中无关的位rol edx,8bswap edx ;装配基址的31~24和23~16 (80486)xor bx,bxor edx,ebx ;装配段界限的高4位or edx,ecx ;装配属性 ret;-------------------------------------------------------------------------------pgdt dw 0dd 0x00007e00 ;GDT的物理地址 ;------------------------------------------------------------------------------- times 510-($-$$) db 0db 0x55,0xaa体会这段代码很有意思阅读思考的过程中就感觉自己站在CPU旁边观察CPU运行一样让人着迷可以看出本书作者的编程功底相当深厚的这些汇编写的都很优雅。
http://www.zqtcl.cn/news/497396/

相关文章:

  • 建设工程资质证书二维码扫描网站自己做的网站如何让qq登录
  • 网站域名有效期wordpress 特别慢
  • 建立个人网站服务器如何用dedecms做网站
  • php网站开发实市场推广策略 包括哪些
  • 合众商道网站开发可以投稿的写作网站
  • 北京贸易公司网站制作免费的查企业的网站
  • 网站建设报价表模板下载小程序怎么找出来
  • 网站制作简单协议wordpress快速建站教程视频教程
  • 杭州做网站价格北京企业响应式网站建设
  • 30个成功的电子商务网站设计中企动力 网站报价
  • php 网站开发 视频百度seo排名查询
  • 网站开发代码wordpress提示安装
  • 网站推广的策略高端网球拍
  • 广东知名网站建设wordpress 用户量
  • asp源代码网站网络架构图是什么
  • 专业做淘宝网站公司吗苏州网站制作开发
  • 电商网站模板html安阳历史
  • seo快速排名多少钱安阳网站怎么优化
  • 如何在网站后台删除栏目阿里巴巴上做网站要多少钱
  • 网站建设意识形态工作河北省两学一做网站
  • 綦江建站哪家正规php做不了大型网站吗
  • 优秀的设计网站青岛网站设计企业
  • 谁有做爰网站号wordpress 4.8 中文
  • 毕业设计做网站用什么广州中智软件开发有限公司
  • 哪个网站不花钱可以做招聘wordpress没有页脚
  • 免费视频网站素材网络系统管理技能大赛
  • 聊天网站建设网站建设毕业设计评价
  • 网站建设 内容缺乏域名备案要多久
  • 产品展示型网站建设全国新冠疫苗接种率
  • 网站建设商如何自建商城和电商平台