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

泉州网站建设技术外包国家商标局官网查询

泉州网站建设技术外包,国家商标局官网查询,龙岩网站建设方案书,wordpress is_home【0】写在前面 要知道#xff0c;在汇编中#xff0c;代码的装入顺序决定了在内存中的地址位置。所有的代码或者数据都在硬盘上#xff0c;当调试或者启动的时候#xff0c;加载到内存#xff1b;当需要对数据进行处理的时候#xff0c;我们通过将数据从内存载入到regis…【0】写在前面 要知道在汇编中代码的装入顺序决定了在内存中的地址位置。所有的代码或者数据都在硬盘上当调试或者启动的时候加载到内存当需要对数据进行处理的时候我们通过将数据从内存载入到registers 通过cpu来进行处理的。 【1】初始化各种段描述符 以 初始化 32 位代码段描述符 为例 【2】有感 首先要先定义这段描述符占据内存空间然后向里面传入真正处理数据的地址 2.1 定义阶段 为什么 LABEL_GDT 必须跟在最前面呢 因为它的地址要作为段的基地址而选择子的地址作为偏移地址来定位某个段。你想想你C语言的数组是不是这样排列的。首先数组首地址在开头然后后面存储的是元素的地址呵呵。碉堡了。一句话说完 只要吧LABEL_GDT放在某段内存的起始位置跟在它后面的哪些段描述符内存地址都可以作为GDT中的元素或者称为表项这就是一个表或者数组的定义由来。 LABEL_GDT: Descriptor 0, 0, 0 ; 空描述符LABEL_DESC_CODE32: Descriptor 0, SegCode32Len - 1, DA_C DA_32 ; 非一致代码段, 32 2.2 定义选择子 说白了选择子就是某个段相对于全局描述符GDT的偏移地址 当我们知道GDT的地址后将其作为基地址并将选择子作为偏移地址来定位该段描述符的。 ; GDT 选择子 SelectorCode32 equ LABEL_DESC_CODE32 - LABEL_GDT2.3 往段描述符空间装干货地址 干货就是真正的处理数据的代码。如向屏幕显示打印字符 [SECTION .s16] [BITS 16] LABEL_BEGIN:start point jmp会跳到这里 mov ax,trong mov ax,GdtLen mov ax, cs mov ds, ax mov es, ax mov ss, ax mov sp, 0100h; 初始化 32 位代码段描述符装干货地址 xor ax, ax mov ax, cs shl ax, 4 add ax, LABEL_SEG_CODE32 mov word [LABEL_DESC_CODE32 2], ax shr ax, 16 mov byte [LABEL_DESC_CODE32 4], al mov byte [LABEL_DESC_CODE32 7], ah; 为加载 GDTR 作准备将全局描述符表GDT装入全局描述符表寄存器GDTR目的是跳转的时候程序要到GDTR取段基地址 xor ax, ax mov ax, ds shl ax, 4 add ax, LABEL_GDT ; eax - gdt 基地址 mov dword [GdtPtr 2], eax ; [GdtPtr 2] - gdt 基地址; 加载 GDTR 正式加载到全局描述符表寄存器 lgdt [GdtPtr]; 关中断 cli; 打开地址线A20in al, 92h or al, 00000010b out 92h, al; 准备切换到保护模式 mov eax, cr0 or eax, 1 mov cr0, eax; 真正进入保护模式 这里就要查询GDTR了跳转到干货地址 jmp dword SelectorCode32:0 ; 执行这一句会把 SelectorCode32 装入 cs,; 并跳转到 Code32Selector:0 处 ; END of [SECTION .s16]2.4 真正的干货 [SECTION .s32]; 32 位代码段. 由实模式跳入. [BITS 32] LABEL_SEG_CODE32: mov ax, SelectorData mov ds, ax ; 数据段选择子 mov ax, SelectorVideo mov gs, ax ; 视频段选择子 mov ax, SelectorStack mov ss, ax ; 堆栈段选择子 mov esp, TopOfStack 。。。。。。【3】GDT LDT 全局描述符表局部描述符表 from p49.asm 3.1 GDT的首地址基地址定义 跟在它后面的都是其表项 3.1.1 GDT定义 [SECTION .gdt] ; GDT ; 段基址, 段界限 , 属性 LABEL_GDT: Descriptor 0, 0, 0 ; 空描述符 LABEL_DESC_NORMAL: Descriptor 0, 0ffffh, DA_DRW ; Normal 描述符 LABEL_DESC_CODE32: Descriptor 0, SegCode32Len - 1, DA_C DA_32 ; 非一致代码段, 32 LABEL_DESC_CODE16: Descriptor 0, 0ffffh, DA_C ; 非一致代码段, 16 LABEL_DESC_DATA: Descriptor 0, DataLen - 1, DA_DRWDA_DPL1 ; Data LABEL_DESC_STACK: Descriptor 0, TopOfStack, DA_DRWA DA_32; Stack, 32 位 LABEL_DESC_LDT: Descriptor 0, LDTLen - 1, DA_LDT ; LDT 局部描述符表 LABEL_DESC_VIDEO: Descriptor 0B8000h, 0ffffh, DA_DRW ; 显存首地址 ; GDT 结束3.1.2 LDT定义 ; LDT [SECTION .ldt] ALIGN 32 LABEL_LDT: ; 段基址 段界限 属性 LABEL_LDT_DESC_CODEA: Descriptor 0, CodeALen - 1, DA_C DA_32 ; Code, 32 位 LDTLen equ $ - LABEL_LDT ; LDT 选择子 SelectorLDTCodeA equ LABEL_LDT_DESC_CODEA - LABEL_LDT SA_TIL ; END of [SECTION .ldt] ; CodeA (LDT, 32 位代码段)3.2 初始化 ; 初始化 LDT 在 GDT 中的描述符 xor eax, eax mov ax, ds shl eax, 4 add eax, LABEL_LDT mov word [LABEL_DESC_LDT 2], ax shr eax, 16 mov byte [LABEL_DESC_LDT 4], al mov byte [LABEL_DESC_LDT 7], ah ; 初始化 LDT 中的描述符 xor eax, eax mov ax, ds shl eax, 4 add eax, LABEL_CODE_A mov word [LABEL_LDT_DESC_CODEA 2], ax shr eax, 16 mov byte [LABEL_LDT_DESC_CODEA 4], al mov byte [LABEL_LDT_DESC_CODEA 7], ah ; 为加载 GDTR 作准备 xor eax, eax mov ax, ds shl eax, 4 add eax, LABEL_GDT ; eax - gdt 基地址 mov dword [GdtPtr 2], eax ; [GdtPtr 2] - gdt 基地址
http://www.zqtcl.cn/news/468596/

相关文章:

  • 上海网站排名团队推广链接跳转
  • 寻找郑州网站优化公司上海高端网站定制
  • 网站关键词排名优化长城建设投资有限公司网站
  • 网站专题优化电子商务网站运营方案
  • 唐山建网站公司湖南网站制作电话
  • 做神马网站优化合肥城乡建设局官网
  • 网站开发与管理心得体会建设高流量网站
  • 网站安全建设的重要性减粘装置设备设计要点
  • 建设一个网站的所有代码Django和wordpress速度
  • 临沂市建设局网站公示php建站系统
  • 有哪些好的做问卷调查的网站好学的专业是编课 网站开发英语翻译
  • 个人网站免费推广广饶网站制作
  • 怎么检测网站是否安全拍卖网站开发
  • 沂源网站制作自建网站的流程
  • 网站关键词收录查询网站最好服务器
  • 做百度移动网站优网站建设类论文选题
  • 自己做的网站怎样让百度搜到长沙专业外贸建站公司
  • 上海缔客网站建设公司网站策划书内容不包括什么
  • 找团队做网站网站建设 通知
  • 网站标题上的小图标怎么做的霞浦建设局网站
  • 国外那些网站做展厅比较好vp代理商网站管理系统
  • 广州最大网站建设wordpress数字超市
  • 怎么提高网站seo优化关键字排名wordpress媒体库搜索
  • 伊春网站制作怎么做视频网站赚钱吗
  • 前端网站开发邹城住房城乡建设部网站
  • 淘宝u站怎么做网站的网站建设费 科研 类
  • 代点任意广告链接网站怎样做才能让百度搜到网站产品
  • 宿迁网站搭建南宁建设局
  • app官网入口昆明排名优化
  • 新乡网站建设开发wordpress如何添加一个文章列表页