bios文件后缀名怎么改 主板bios文件格式

您所在的位置:网站首页 怎么更改bin文件后缀 bios文件后缀名怎么改 主板bios文件格式

bios文件后缀名怎么改 主板bios文件格式

2024-06-01 20:58| 来源: 网络整理| 查看: 265

int 10h 视频相关函数:AH      function00     设置video模式             附带调用寄存器           结果          AL 模式                        None02        设置光标位置           bh 页号,   dh行号   dl   列号13 写入串al  01 自动移动光标bl 属性es:bp 串指针cx字符计数dh初始行号dl初始列号bh页号

nasm的输出格式:nasm可以选择许多输出文件格式。nasm选择的输出文件名字, 基于输入和格式。 bin格式, 平面二进制, 不产生任何目标文件, 只产生写入的代码。这种纯粹的二进制文件被DOS使用:COM, 》SYS设备驱动都是纯粹的二进制文件。 纯二进制用于操作系统和加载程序开发。bin支持多个区域名字。使用bin使nasm模认为16位, 为了使用32位代码, 需要显式的使用BIT32指示符.

bin文件提供额外的指示符ORG用于确定起始地址, 用于程序假设加载的位置.例如org 0x100dd labellabe:不像masm中的ORG, 允许你跳到目标文件, 并且覆盖代码, nasm的org准确的说是ORGIN. 他唯一的功能是定位一个偏移, 加到内部地址上, 不保证任何技巧masm用有的.

bin对段的扩展:bin扩展了SECTION指示符, 允许定位段的对齐需求, 通过在段定义结束使用ALIGN:section .data align=16ALIGN的参数定为了有多少区域低字节开始地址必须为零. 偏移之为2的幂.

bin格式多区域支持:bin区域允许任何名字, 包括已知的.text .data .bss区域可以被指派分配的, 无分配. 默认是分配的, 但是bss段是无分配的.区域可以被在特定边界对齐, 在前面区域align=, 或者任意的start开始区域可以赋给虚拟起始地址, 用于计算内存引用. vstart = org, start, vstart, align的参数是关键表达式.任何在显式的SECTION之前的代码在默认的.text段中.ORG语句未给出, 默认为0.bss区域将会放在所有分配段的后面, 除非start, vstart, follows, vfollows被确定.所有段都对齐于4字节, 除非定义不同.区域可以重叠.nasm建立section..start为每个区域, 可以在代码中使用.映射文件可以通过-f bin生成, 通过map选项. 类型为 all, brief, sections, segments, symbols可以被确认. 输出可以定向到stdout, stderr, 或者文件. [map symbol myfile.map]没有用户表, 必须要方括号.

nasm16位32位混合:最同用的混合大小的指令是用于操作系统: 以16位模式启动, 加载内核, 接着切换到保护模式, 跳转到32位内核开始地址. 在一个完全的32位操作系统, 这似乎是唯一的混合大小的指令, 因为在此之前所有的事都可被16位指令完成, 之后的事都可被32位指令完成.

这个跳转指定了48位远地址, 因为目标段是32位. 然而, 必须在16位段中汇编, 不指定偏移大小, 将会被截断. nasm可以使用:jmp  dword  0x1234:0x56789abcdword前缀严格来讲应该紧跟冒号后面, 但是这样写是无歧义的, 该前缀强制偏移部分为长地址.

你也可以作相反的操作:jmp  word  0x8756:0x4321指定了16位位模式.

不同大小段间的寻址:最简单的在16位中寻址32位地址, 是采用寄存器, 因为任何包含在32位寄存器中的有效地址, 都强制32位寻址:mov eax , offset_into_32mov dword [fd:eax], 0x11223344这会工作, 但是有些笨重, 如果你已经知道精确的偏移, 允许使用32位有效地址.因此,只需要如此:mov   dword  [fd: dword offset] , 0x11223344nasm对于前缀在段前面还是后面并不关心, 因此更好看的是:mov  dword [dword fs: offset], 0x11223344不要被括号外dword迷惑, 用来控制存储目的地址数据大小, 里面的控制地址偏移的大小.

也可以指定dword far 给远跳, 或者远调用.call dword far [fs: word 0x4321]加载48位远跳地址从16位偏移处, 16位段32位偏移, 调用该地址.

作者:liyonghelpme



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3