Booting from USB comes in two different flavors: floppy emulation mode and hard disk mode. There really is a CD emulation mode, but since you're not using an ISO, that is irrelevant.
Anyway, the BIOS will look at the first sector (LBA sector 0) of the USB and search for an MBR partition table, as I explained above. If an MBR partition table is present, the BIOS will emulate the USB as a hard disk, giving it boot drive number 0x80 in DL and allowing you to read/write using functions 0x42 and 0x43, respectively, and identify the drive using function 0x48.
If an MBR partition table is not present, the BIOS will emulate a floppy disk, giving you boot drive number 0x80 and allowing you to use functions 2 and 3 to read and write, respectively, and you can detect the drive geometry by using function 0x08. Then, you can convert your LBA sectors into C/H/S using this algorithm:
Code:
Temp = LBA / (Sectors per Track)
Sector = (LBA % (Sectors per Track)) + 1
Head = Temp % (Number of Heads)
Cylinder = Temp / (Number of Heads)
Since you are working in assembly, when you divide two numbers using DIV instruction, the result is stored in EAX/AX/AL and the remainder (or modulus) is in EDX/DX/DL.
My guess is that you really don't want to use a floppy drive (nobody does, seriously, it's 2017), and therefore you'll need a proper MBR to "convince" the BIOS that you can boot from a hard disk.
I've already said this in another post, but USB booting for starters isn't good, because once you get out of 16-bit mode, the BIOS's emulation wouldn't be there for you to make your life easier; instead, you'll need to write a driver for every major USB host controller (UHCI, OHCI, EHCI and xHCI) as well as a driver for the USB hub and the USB mass storage devices, with its various protocols, to ensure the broadest hardware compatibility.