diff options
author | hpa <hpa> | 2002-04-30 03:33:27 +0000 |
---|---|---|
committer | hpa <hpa> | 2002-04-30 03:33:27 +0000 |
commit | b17209b886b2395ed711f3335e7be355d2fefc8d (patch) | |
tree | 68821078b0d4b1f2e8975b9b079127d36dedc350 /isolinux.asm | |
parent | 83b3e784e2226dbda6345e54031c0eb4ceca34eb (diff) | |
download | syslinux-b17209b886b2395ed711f3335e7be355d2fefc8d.tar.gz |
Further rationalize command-line parsing by allowing functions tosyslinux-1.73-pre9
take an argument.
Diffstat (limited to 'isolinux.asm')
-rw-r--r-- | isolinux.asm | 50 |
1 files changed, 12 insertions, 38 deletions
diff --git a/isolinux.asm b/isolinux.asm index 1be8b202..807f707d 100644 --- a/isolinux.asm +++ b/isolinux.asm @@ -689,6 +689,12 @@ all_read: ; Now set up screen parameters call adjust_screen + ; Wipe the F-key area + mov al,NULLFILE + mov di,FKeyName + mov cx,10*(1 << FILENAME_MAX_LG2) + rep stosb + ; Patch the writechr routine to point to the full code mov word [writechr+1], writechr_full-(writechr+3) @@ -914,21 +920,19 @@ ctrl_f: push di jmp short show_help func_key: + ; AL = 0 if we get here push di cmp ah,68 ; F10 ja get_char_2 sub ah,59 ; F1 jb get_char_2 - shr ax,8 + xchg al,ah show_help: ; AX = func key # (0 = F1, 9 = F10) - mov cl,al - shl ax,FILENAME_MAX_LG2 ; Convert to offset - mov bx,1 - shl bx,cl - and bx,[FKeyMap] - jz get_char_2 ; Undefined F-key - mov di,ax + shl ax,FILENAME_MAX_LG2 ; Convert to pointer + xchg di,ax add di,FKeyName + cmp byte [di],NULLFILE + je get_char_2 ; Undefined F-key call searchdir jz fk_nofile push si @@ -1865,35 +1869,6 @@ initrd_cmd_len equ 7 ; Config file keyword table ; %include "keywords.inc" - align 2, db 0 - -keywd_table: - keyword append, pc_append - keyword default, pc_default - keyword timeout, pc_timeout - keyword font, pc_font - keyword kbdmap, pc_kbd - keyword display, pc_display - keyword prompt, pc_prompt - keyword label, pc_label - keyword implicit, pc_implicit - keyword kernel, pc_kernel - keyword serial, pc_serial - keyword say, pc_say - keyword f1, pc_f1 - keyword f2, pc_f2 - keyword f3, pc_f3 - keyword f4, pc_f4 - keyword f5, pc_f5 - keyword f6, pc_f6 - keyword f7, pc_f7 - keyword f8, pc_f8 - keyword f9, pc_f9 - keyword f10, pc_f10 - keyword f0, pc_f10 - keyword localboot, pc_localboot - -keywd_count equ ($-keywd_table)/keywd_size ; ; Extensions to search for (in *forward* order). @@ -1935,7 +1910,6 @@ img_table: ; AppendLen dw 0 ; Bytes in append= command KbdTimeOut dw 0 ; Keyboard timeout (if any) -FKeyMap dw 0 ; Bitmap for F-keys loaded CmdLinePtr dw cmd_line_here ; Command line advancing pointer initrd_flag equ $ initrd_ptr dw 0 ; Initial ramdisk pointer/flag |