From: Mateusz Viste <mate...@nospam.viste.fr> On Mon, 10 Apr 2017 23:30:35 -0500, Rugxulo wrote: > Unless I'm mistaken, conditional jumps on 8086 don't go beyond -128 .. > 127 (signed) byte range. Hence the billions of workarounds (TASM > "jumps", MASM "option ljmp", etc).
I won't argue about what opcode is or is not available on 8086, since I did not bother decoding their exact meaning. I do see however that (NASM at least) can assemble JZ and JZ SHORT in two very different forms, JZ SHORT being significantly shorter. 5 00000000 B80100 mov ax, 1 6 00000003 48 dec ax 7 00000004 746A jz short gameover 5 00000000 B80100 mov ax, 1 6 00000003 48 dec ax 7 00000004 7503E9DD01 jz gameover Of course NASM always uses the short form whenever it's possible, but when the jump is too far away it silently uses the longer form, hence the need to always specify SHORT if one wants to be sure what's going on. Mateusz ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user --- Internet Rex 2.29 * Origin: capcity2.synchro.net - 502/875-8938 (276:10/901) --- Synchronet 3.15a-Linux ListGate 1.3 * Capitol City Online - Frankfort, KY - telnet://capitolcityonline.net ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user