使用mbr在清空之后的屏幕上显示绿色字
Posted seasidezhb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用mbr在清空之后的屏幕上显示绿色字相关的知识,希望对你有一定的参考价值。
mbrWrite.asm
里边的代码如下:
SECTION MBR vstart=0x7c00
mov ax,cs
mov ds,ax
mov es,ax
mov ss,ax
mov fs,ax
mov sp,0x7c00
mov ax, 0x600
mov bx, 0x700
mov cx, 0
mov dx, 0x184f
int 0x10
mov ah, 3
mov bh, 0
int 0x10
mov ax, message
mov bp, ax
mov cx, 13
mov ax, 0x1301
mov bx, 0x2
int 0x10
jmp $
message db "Learning good"
times 510-($-$$) db 0
db 0x55,0xaa
bximage -hd=60 -func=create -imgmode="flat" -q boot.img
创建一个60M大小的硬盘。
nasm -f bin mbrWrite.asm -o mbrWrite.bin
将mbrWrite.asm生成bin文件。
sudo dd if=mbrWrite.bin of=boot.img bs=512 count=1 conv=notrunc
将mbrWrite.bin写入到boot.img文件里边。
bochsrc
文件内容如下:
# configuration file generated by Bochs
plugin_ctrl: unmapped=true, biosdev=true, speaker=true, extfpuirq=true, parallel=true, serial=true
config_interface: textconfig
# display_library: x
# gdbstub: enabled=1, port=1234, text_base=0, data_base=0, bss_base=0
# 这两个一起开启
magic_break: enabled=1
#display_library: x, options="gui_debug"
display_library: x
memory: host=32, guest=32
romimage: file="/usr/local/share/bochs/BIOS-bochs-latest", address=0x00000000, options=none
vgaromimage: file="/usr/local/share/bochs/VGABIOS-lgpl-latest"
boot: disk
floppy_bootsig_check: disabled=0
ata0: enabled=true, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=disk, path="boot.img", mode=flat
ata0-slave: type=none
ata1: enabled=true, ioaddr1=0x170, ioaddr2=0x370, irq=15
ata1-master: type=none
ata1-slave: type=none
ata2: enabled=false
ata3: enabled=false
optromimage1: file=none
optromimage2: file=none
optromimage3: file=none
optromimage4: file=none
optramimage1: file=none
optramimage2: file=none
optramimage3: file=none
optramimage4: file=none
pci: enabled=1, chipset=i440fx
vga: extension=vbe, update_freq=5, realtime=1
cpu: count=1, ips=4000000, model=bx_generic, reset_on_triple_fault=1, cpuid_limit_winnt=0, ignore_bad_msrs=1, mwait_is_nop=0
cpuid: level=6, stepping=3, model=3, family=6, vendor_string="GenuineIntel", brand_string=" Intel(R) Pentium(R) 4 CPU "
cpuid: mmx=true, apic=xapic, simd=sse2, sse4a=false, misaligned_sse=false, sep=true
cpuid: movbe=false, adx=false, aes=false, sha=false, xsave=false, xsaveopt=false, smep=false
cpuid: smap=false, mwait=true
print_timestamps: enabled=0
# no gdb stub
port_e9_hack: enabled=0
private_colormap: enabled=0
clock: sync=none, time0=local, rtc_sync=0
# no cmosimage
log: -
logprefix: %t%e%d
debug: action=ignore
info: action=report
error: action=report
panic: action=ask
keyboard: type=mf, serial_delay=250, paste_delay=100000, user_shortcut=none
mouse: type=ps2, enabled=false, toggle=ctrl+mbutton
speaker: enabled=true, mode=system
parport1: enabled=true, file=none
parport2: enabled=false
com1: enabled=true, mode=null
com2: enabled=false
com3: enabled=false
com4: enabled=false
bochs -f bochsrc
使用bochsrc文件开始模拟。
如上图,按回车键。
输入“c”,按回车键。
最后显示如上图。
此文章为4月Day 6学习笔记,内容来源于极客时间《操作系统实战 45 讲》。
如何在小屏幕上更改 div 的顺序?
【中文标题】如何在小屏幕上更改 div 的顺序?【英文标题】:How to change order of divs on smaller screens? 【发布时间】:2015-11-17 04:11:18 【问题描述】:当屏幕尺寸小于 480 像素时,我需要重新排序 div。
我不想使用position: absolute
,因为绿色区域的高度可能会因文本数量而异。
我需要小屏幕顺序为红色、绿色、红色、绿色、红色、绿色(每个红色都在直接绿色的顶部,宽度为 100%)。
有什么想法吗?非常感谢
*, html, body
margin: 0;
padding: 0;
.container
width: 100%;
display: inline-block;
box-sizing: border-box;
.full_half
display: inline-block;
width: 50%;
background-color: green;
float: left;
min-height: 100px;
.pic
background-color: red;
height: 100px;
.text
box-sizing: border-box;
padding: 20px 120px;
@media screen and (max-width: 480px)
.full_half
width: 100%;
.text
padding: 0 0 !important;
<div class="container">
<div class="full_half pic"></div>
<div class="full_half text">test</div>
</div>
<div class="container">
<div class="full_half text">test</div>
<div class="full_half pic"></div>
</div>
<div class="container">
<div class="full_half pic"></div>
<div class="full_half text">
dfdfdfdfdfdffdfdfdfdfdfdfdfdfdfdf<br />
dfdfdfdfdfdffdfdfdfdfdfdfdfdfdfdf<br />
dfdfdfdfdfdffdfdfdfdfdfdfdfdfdfdf<br />
</div>
</div>
已解决:
我终于设法通过将 flexbox 应用于容器来更改顺序(仅当宽度小于 480 像素时)。
css 更改:
@media screen and (max-width: 480px)
.container
flex-direction: column;
.pic
order: 1;
.text
order: 2;
http://jsfiddle.net/vquf7z7b/
【问题讨论】:
【参考方案1】:使用CSS Flexbox,您可以使用order
属性控制元素的视觉顺序,使用flex-direction
属性控制div 的x/y 方向。
以下是对代码的一些简单调整,可让您的布局正常工作:
CSS
.container
display: flex; /* NEW */
/* width: 100%; */
/* display: inline-block; */
/* box-sizing: border-box; */
@media screen and (max-width: 480px)
.full_half width: 100%;
.text padding: 0 0 !important;
.container flex-direction: column; /* NEW */
.container:nth-child(2) > .pic order: -1; /* NEW */
现在,当屏幕尺寸小于 480 像素时,div 会堆叠在单列中,顺序为红、绿、红、绿、红、绿。
*,
html,
body
margin: 0;
padding: 0;
.container
display: flex;
.full_half
display: inline-block;
width: 50%;
background-color: green;
float: left;
min-height: 100px;
.pic
background-color: red;
height: 100px;
.text
box-sizing: border-box;
padding: 20px 120px;
@media screen and (max-width: 480px)
.full_half
width: 100%;
.text
padding: 0 0 !important;
.container
flex-direction: column;
.container:nth-child(2) > .pic
order: -1;
<div class="container">
<div class="full_half pic"></div>
<div class="full_half text">test</div>
</div>
<div class="container">
<div class="full_half text">test</div>
<div class="full_half pic"></div>
</div>
<div class="container">
<div class="full_half pic"></div>
<div class="full_half text">
dfdfdfdfdfdffdfdfdfdfdfdfdfdfdfdf
<br />dfdfdfdfdfdffdfdfdfdfdfdfdfdfdfdf
<br />dfdfdfdfdfdffdfdfdfdfdfdfdfdfdfdf
<br />
</div>
</div>
revised fiddle
在上面的示例中,flex 容器 (.container
) 的子元素排成一行,这是 flexbox (flex-direction: row
) 的默认布局。
每个子元素默认为order: 0
。通过在第二个.container
中为div
和.pic
类赋予-1 的order
值,它被定位在其兄弟之前(div
和.text
的值为0)。我们也可以将第一个兄弟值设为 1,从而将其移动到 div
之后和 .pic
。 Learn more about the order
property.
通过将 flex-direction
的值从其默认值 (row
) 更改为 column
,div 堆叠在一个列中。 Learn more about the flex-direction
property.
浏览器支持: 所有主流浏览器都支持 Flexbox,except IE < 10。一些最新的浏览器版本,例如 Safari 8 和 IE10,需要vendor prefixes。要快速添加所需的所有前缀,请使用Autoprefixer。更多详情this answer。
【讨论】:
以上是关于使用mbr在清空之后的屏幕上显示绿色字的主要内容,如果未能解决你的问题,请参考以下文章