Skip to content

Commit 6eb0abb

Browse files
committed
Fix: Don't overwrite es register
1 parent aebe0d3 commit 6eb0abb

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

bios/stage-2/src/vesa.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ impl<'a> VesaInfo<'a> {
3838
let block_ptr = slice.as_mut_ptr();
3939
let ret;
4040
unsafe {
41-
asm!("mov es, {:x}", "int 0x10", in(reg)0, inout("ax") 0x4f00u16 => ret, in("di") block_ptr)
41+
asm!("push es", "mov es, {:x}", "int 0x10", "pop es", in(reg)0, inout("ax") 0x4f00u16 => ret, in("di") block_ptr)
4242
};
4343
match ret {
4444
0x4f => {
@@ -172,7 +172,7 @@ impl VesaModeInfo {
172172
target_addr -= segment << 4;
173173
unsafe {
174174
asm!(
175-
"mov es, {:x}", "int 0x10",
175+
"push es", "mov es, {:x}", "int 0x10", "pop es",
176176
in(reg) segment as u16,
177177
inout("ax") 0x4f01u16 => ret,
178178
in("cx") mode,

0 commit comments

Comments
 (0)