search for: pushw

Displaying 20 results from an estimated 27 matches for "pushw".

Did you mean: pushl
2012 Aug 10
1
[PATCH 4/4] Support sectors >512
....ziglio at citrix.com> --- mbr/gptmbr.S | 42 +++++++++++++++++++++++++++++------------- 1 files changed, 29 insertions(+), 13 deletions(-) diff --git a/mbr/gptmbr.S b/mbr/gptmbr.S index b0c11b9..f0955b2 100644 --- a/mbr/gptmbr.S +++ b/mbr/gptmbr.S @@ -77,6 +77,12 @@ next: ADJUST_DRIVE pushw %dx /* 0(%bp) = %dl -> drive number */ + movw %sp, %bp /* %bp -> frame pointer: LEAVE UNCHANGED */ + + /* prepare to read sector size */ + sub $0x1c, %sp /* -28(%bp) == %sp */ + pushw $0x1e /* -30(%bp) == %sp */ + movw $0x200, -6(%bp) /* -6(%bp) sector size */ /* Check to see if we have...
2010 Nov 26
1
[PATCH] new *br: Show handoff data
...stack-12) e0_si = (stack-14) e0_di = (stack-16) e0_bot = (stack-16) e_di = (e0_bot-2) /* Original register values from entry point */ e_es = (e0_bot-4) e_si = (e0_bot-6) e_ds = (e0_bot-8) BIOS_page = 0x462 .globl _start _start: cli xorw %ax, %ax movw %ax, %ss movw $stack, %sp pushaw pushw %di /* es:di -> $PnP header */ pushw %es pushw %si pushw %ds sti cld pushw %cs popw %ds #ifdef DEBUG_START pushw %dx call crlf movw $(_start),%dx /* 0x0600 mbr.ld .text address */ call wrhexw call crlf call caddr caddr: popw %dx subw $(caddr - _start), %dx call wrhexw call crl...
2013 Feb 08
6
[PATCH] 4k_sector: Support dynamic sectors in GPT MBR
This patches add support for dynamic sectors to GPT MBR code. First 3 patches are trick and optimizations to gain some space for the forth patch. I have a modified version of SeaBIOS, some code and some script o test it I'll send on a different mail.
2017 Mar 24
2
"isolinux.bin missing or corrupt" when booting USB flash drive in old PC
...R is obviously at http://git.zytor.com/syslinux/syslinux.git/tree/core/isolinux.asm#n186 (Do i get it right that this is the Intel syntax ? (Gronfff)) If POP yields the victim of the most recent not yet popped PUSH, then this does not look correctly coordinated with the MBR. isohdpfx.S has: pushw %cx /* -16: Save sectors on the stack */ movzbw %dh, %ax /* dh = max head */ incw %ax /* From 0-based max to count */ pushw %ax /* -18: Save heads on the stack */ mulw %cx /* Heads*sectors -> sectors per cylinder */ pushw %bx /* -20: EBIOS flag */ isolinux.asm has: ; The followin...
2009 Mar 30
2
[PATCH 1/1] v2 Add Diagnostic MBR for trouble-shooting
...li /* disable interrupts */ + xorw %ax, %ax /* reset to 0 */ + movw %ax, %ds /* reset data segment base */ + movw %ax, %ss /* reset stack segment base */ + movw $stack, %sp /* set stack pointer */ + movw %sp, %si /* address where BIOS loaded MBR, used as source address for relocation */ + pushw %es /* save Plug'n'Play header provided by BIOS in ES:DI */ + pushw %di + pushw %dx /* save drive number provided by BIOS in DL */ + movw %ax, %es /* reset extra segment base */ + sti /* enable interrupts */ + cld /* increment direction for relocation operation */ +relocate...
2017 Mar 25
0
where to swap
...in <http://www.syslinux.org/archives/2017-March/025706.html>. Here pasted (so might not apply cleanly): diff --git a/mbr/isohdpfx.S b/mbr/isohdpfx.S index 17e1efe..14eca14 100644 --- a/mbr/isohdpfx.S +++ b/mbr/isohdpfx.S @@ -151,7 +151,7 @@ next: /* Check to see if we have EBIOS */ pushw %dx /* drive number */ - movb $0x41, %ah /* %al == 0 already */ + movb $0x41, %ah movw $0x55aa, %bx xorw %cx, %cx xorb %dh, %dh @@ -167,20 +167,22 @@ next: read_sector_cbios: movb $0x42, %ah ; jmp read_common */ movl $0xeb42b4+((read_...
2017 Mar 21
3
"isolinux.bin missing or corrupt" when booting USB flash drive in old PC
...dif jmp 1f /* We have non-GPT partition information */ 2: #ifdef DEBUG_PRINT push %si call print_string .ascii "M\r\n" pop %si #endif movl 8(%si), %ecx #endif 1: /* We have no partition information */ pushl %ebx /* -4: partoffset_hi */ pushl %ecx /* -8: partoffset_lo */ pushw %es /* -10: es:di -> $PnP header */ pushw %di /* -12: es:di -> $PnP header */ movw %bp, %ds movw %bp, %es ADJUST_DRIVE pushw %dx /* -14: dl -> drive number */ /* Copy down to 0:0x600 */ movw $0x7c00, %si movw $_start, %di movw $(512/2), %cx rep; movsw ljmpw $0, $next...
2017 Mar 24
3
"isolinux.bin missing or corrupt" when booting USB flash drive in old PC
...nough to reach "andw 1,%cx". Ewww ...) Well... I'm not quite following you. If it reaches andw 1,%cx then CX will indicate if wanted EBIOS calls are supported or not as the and will mask away all but the interesting bit. The code: /* Check to see if we have EBIOS */ pushw %dx /* drive number */ movb $0x41, %ah /* %al == 0 already */ movw $0x55aa, %bx xorw %cx, %cx xorb %dh, %dh stc int $0x13 jc 1f cmpw $0xaa55, %bx jne 1f andw $1,%cx...
2009 Mar 30
0
[PATCH 1/1] Add Diagnostic MBR for trouble-shooting
...li /* disable interrupts */ + xorw %ax, %ax /* reset to 0 */ + movw %ax, %ds /* reset data segment base */ + movw %ax, %ss /* reset stack segment base */ + movw $stack, %sp /* set stack pointer */ + movw %sp, %si /* address where BIOS loaded MBR, used as source address for relocation */ + pushw %es /* save Plug'n'Play header provided by BIOS in ES:DI */ + pushw %di + pushw %dx /* save drive number provided by BIOS in DL */ + movw %ax, %es /* reset extra segment base */ + sti /* enable interrupts */ + cld /* increment direction for relocation operation */ +relocate...
2017 Mar 26
0
"isolinux.bin missing or corrupt" when booting USB flash drive in old PC
...) > > Well... I'm not quite following you. > If it reaches andw 1,%cx then CX will indicate if wanted EBIOS calls > are supported or not as the and will mask away all but the interesting > bit. > > > The code: > /* Check to see if we have EBIOS */ > pushw %dx /* drive number */ > movb $0x41, %ah /* %al == 0 already */ > movw $0x55aa, %bx > xorw %cx, %cx > xorb %dh, %dh > stc > int $0x13 > jc 1f > cmpw $0xaa55, %bx >...
2009 Mar 30
2
[PATCH 1/1] v3: Add Diagnostic MBR for trouble-shooting BIOS boot-order problems.
...segment base */ + movw %ax, %ss /* reset stack segment base */ + movw $stack, %sp /* set stack pointer */ + movw %sp, %si /* address where BIOS loaded MBR, used as source address for relocation */ + movw %sp, %bp /* needed later if drive number is to be forced due to Ctrl key being pressed */ + pushw %es /* save Plug'n'Play header provided by BIOS in ES:DI */ + pushw %di + pushw %dx /* save drive number provided by BIOS in DL */ + movw %ax, %es /* reset extra segment base */ + sti /* enable interrupts */ + cld /* increment direction for relocation operation */ +relocate...
2017 Mar 25
2
where to swap
It is good to see this ----- Forwarded message from syslinux-bot for Martin Str|mberg <ams at ludd.ltu.se> ----- Date: Sat, 25 Mar 2017 05:54:09 -0700 From: syslinux-bot for Martin Str|mberg <ams at ludd.ltu.se> To: Syslinux commits mailing list <syslinux-commits at zytor.com> Cc: ams at ludd.ltu.se Subject: [syslinux:master] mbr/isohdpfx.S: correct pointer for heads/sectors
2017 Apr 16
1
fwd: [syslinux:syslinux-4.xx] mbr/isohdpfx.S: correct stack for heads/sectors
...nsertions(+), 3 deletions(-) diff --git a/mbr/isohdpfx.S b/mbr/isohdpfx.S index 17e1efe..f9e9691 100644 --- a/mbr/isohdpfx.S +++ b/mbr/isohdpfx.S @@ -175,12 +175,12 @@ next: /* Get (C)HS geometry */ movb $0x08, %ah int $0x13 - andw $0x3f, %cx /* Sector count */ popw %bx /* EBIOS flag */ - pushw %cx /* -16: Save sectors on the stack */ movzbw %dh, %ax /* dh = max head */ incw %ax /* From 0-based max to count */ - pushw %ax /* -18: Save heads on the stack */ + pushw %ax /* -16: Save heads on the stack */ + andw $0x3f, %cx /* Sector count */ + pushw %cx /* -18: Save sectors on the s...
2017 Mar 18
0
isohybrid boot from logical partition
...f /* We have GPT partition information */ movl (32+20)(%si), %ecx movl (36+20)(%si), %ebx jmp 1f /* We have non-GPT partition information */ 2: movl 8(%si), %ecx #endif 1: /* We have no partition information */ pushl %ebx /* -4: partoffset_hi */ pushl %ecx /* -8: partoffset_lo */ pushw %es /* -10: es:di -> $PnP header */ pushw %di /* -12: es:di -> $PnP header */ movw %bp, %ds movw %bp, %es ADJUST_DRIVE pushw %dx /* -14: dl -> drive number */ /* Copy down to 0:0x600 */ movw $0x7c00, %si movw $_start, %di movw $(512/2), %cx rep; movsw ljmpw $0, $next...
2009 Mar 30
0
[PATCH 3/3] v2: isohdpfx: Ctrl-key press forces load from first hard disk
...ns(-) diff --git a/mbr/isohdpfx.S b/mbr/isohdpfx.S index 9e9d55c..bddb533 100644 --- a/mbr/isohdpfx.S +++ b/mbr/isohdpfx.S @@ -67,6 +67,7 @@ _start: movw %ax, %ss movw $stack, %sp movw %sp, %si + movw %sp, %bp /* needed later if drive number is to be forced due to Ctrl key being pressed */ pushw %es /* es:di -> $PnP header */ pushw %di pushw %dx /* dl -> drive number */ @@ -82,6 +83,15 @@ _start: ljmpw $0, $next next: + /* Provide a way for the user to force boot from first hard-disk by pressing a Ctrl key */ +get_shift_keys: /* Provide a way for the user to force CHS a...
2017 Mar 22
3
"isolinux.bin missing or corrupt" when booting USB flash drive in old PC
...ad_sector_cbios only this division: divb (sectors) There is a suspicious discrepancy in the code: heads = (stack-16) sectors = (stack-18) ... /* here we computer CHS values or just do some dummy computation for EBIOS */ andw $0x3f, %cx /* Sector count */ popw %bx /* EBIOS flag */ pushw %cx /* -16: Save sectors on the stack */ movzbw %dh, %ax /* dh = max head */ incw %ax /* From 0-based max to count */ pushw %ax /* -18: Save heads on the stack */ mulw %cx /* Heads*sectors -> sectors per cylinder */ Does "-16: Save sectors on the stack" contradict "sector...
2017 Mar 24
2
"isolinux.bin missing or corrupt" when booting USB flash drive in old PC
Hi, C/H/S addressing and reading of first block seems to be ok in isohdpfd.bin. The main suspect for the failure of the attempt with isohdpfd.bin is the number or content of the blocks read after the first one. But i have no clue why isohdpfc.bin should do better than isohdpfd.bin. They differ just by one instruction (JC = 0x72 versus JMP = 0xEB) which both are performed before the reading and
2012 Sep 10
19
Initial support for sector size >512
This set of patches add some support for sector size >512. Currently it fixes extlinux, MBR for GPT and ext partitions. Other code is unaffected. This set of patches has been tested on a read Dell machine running a beta firmware.
2017 Mar 22
0
"isolinux.bin missing or corrupt" when booting USB flash drive in old PC
...rote: > There is a suspicious discrepancy in the code: > > heads = (stack-16) > sectors = (stack-18) > > ... > /* here we computer CHS values or just do some dummy computation for EBIOS */ > andw $0x3f, %cx /* Sector count */ > popw %bx /* EBIOS flag */ > pushw %cx /* -16: Save sectors on the stack */ > movzbw %dh, %ax /* dh = max head */ > incw %ax /* From 0-based max to count */ > pushw %ax /* -18: Save heads on the stack */ > mulw %cx /* Heads*sectors -> sectors per cylinder */ > > Does "-16: Save sectors on the stack...
2013 Dec 14
4
[PATCH 1/2] Match comment with code
...t still mentions EE Signed-off-by: Ruben Kerkhof <ruben at rubenkerkhof.com> --- mbr/gptmbr.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mbr/gptmbr.S b/mbr/gptmbr.S index 7f450d3..8ab6b50 100644 --- a/mbr/gptmbr.S +++ b/mbr/gptmbr.S @@ -194,7 +194,7 @@ found_part: pushw %di /* 80 00 00 00 ee 00 00 00 - - bootable partition, type EFI (EE), no CHS information */ + - bootable partition, type EFI (ED), no CHS information */ xorl %eax,%eax movb $0x80,%al stosl -- 1.8.4.2