注意,下面的一段代码是在NASM之中编写的一段汇编指令,可以看到在汇编语言中可以直接将数据送至显存中,单步执行并显示它们,这并不是一段完整的汇编代码,但是经过编写之后,可以直接在NASM中工作。这段代码中有几个非常关键的问题,由于在编程的过程中使用了Boch虚拟机下的实地址模式,并且代码编写调试完成之后直接写入虚拟DOS下的主引导扇区,那么根据操作系统对主引导扇区的相关约定,这一部分的代码必须大小为512字节,所以你会看到,在代码的末尾,会使用times伪指令对这部分进行0填充,es:0x??? 表示的是以显存地址0xB800为基址,冒号后面的部分为偏移地址的内存区块,这样做可以直接将字符串送至显存,并且直接输出。最后,整段代码以db 0x55,0xAA结尾,这是主引导扇区代码结束的标志,必须如实按照这种格式编写,否则会导致编译不通过等问题。
mov ax,0xB800 mov es,ax mov byte [es:0x0000],'H'; mov byte [es:0x0001],0x17;代表黑底白字 mov byte [es:0x0002],'e'; mov byte [es:0x0003],0x17;代表黑底白字 mov byte [es:0x0004],'l'; mov byte [es:0x0005],0x17;代表黑底白字 mov byte [es:0x0006],'l'; mov byte [es:0x0007],0x17;代表黑底白字 mov byte [es:0x0008],'o'; mov byte [es:0x0009],0x17;代表黑底白字 mov byte [es:0x000A],' '; mov byte [es:0x000B],0x17;代表黑底白字 mov byte [es:0x000C],'W'; mov byte [es:0x000D],0x17;代表黑底白字 mov byte [es:0x000E],'o'; mov byte [es:0x000F],0x17;代表黑底白字 mov byte [es:0x0010],'r'; mov byte [es:0x0011],0x17;代表黑底白字 mov byte [es:0x0012],'l'; mov byte [es:0x0013],0x17;代表黑底白字 mov byte [es:0x0014],'d'; mov byte [es:0x0015],0x17;代表黑底白字 mov byte [es:0x0016],'!'; mov byte [es:0x0017],0x17;代表黑底白字 times 510-($-$$) db 0x00 ;注意这里一定是512个字节,不然主引导扇区会崩溃 db 0x55,0xAA
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算