Near call/jump tables don't always work in a bootloader
问题 General Problem I\'ve been developing a simple bootloader and have stumbled on a problem on some environments where instructions like these don\'t work: mov si, call_tbl ; SI=Call table pointer call [call_tbl] ; Call print_char using near indirect absolute call ; via memory operand call [ds:call_tbl] ; Call print_char using near indirect absolute call ; via memory operand w/segment override call near [si] ; Call print_char using near indirect absolute call ; via register Each one of these