Byte AddressabilityWord LengthLittle-Endian FormattingLittle-Endian AssignmentsBig-Endian AssignmentsSlide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Byte Addressability•Bytes are always 8 bits•Word length typically ranges from 16 to 64 bits.•Memory location assignments refer to successive by te locations in memory•Memory is byte-accessible.•For 8086, a Word is 16-bits (2 bytes)Word Length•For the 8086, a Word is 16-bits (2 bytes) A Signed Integerb15b14… … … …b1b0<------------------------------16 bits -----------------------------> 2 Characters8 bits 8 bits<----- ASCII character -----> <----- ASCII character ----->Little-Endian Formatting•There are two ways that byte addresses can be assigned across words.–Big-Endian – higher byte addresses are used for the less significant bytes of a word–Little-Endian – lower byte addresses are used for the less significant bytes of a word–The Intel Architecture uses Little EndianLittle-Endian Assignments•.data•List BYTE 10, 20, 30, 40, 50, 60Offset Value0005 600004 500003 400002 300001 200000 10*note that with byte size data, there is no difference between Big-Endian and Little-EndianBig-Endian Assignments•.data•List BYTE 10, 20, 30, 40, 50, 60Offset Value0005 600004 500003 400002 300001 200000 10*note that with byte size data, there is no difference between Big-Endian and Little-EndianLittle-Endian Assignments•.data•List WORD 1020h, 3040h, 5060hOffset Value0005 500004 600003 300002 400001 100000 20*note that with word size data, the low-order byte is stored in a lower addressBig-Endian Assignments•.data•List WORD 1020h, 3040h, 5060hOffset Value0005 600004 500003 400002 300001 200000 10*note that with word size data, the low-order byte is stored in a higher addressLittle-Endian Assignments•.data•List DWORD 10203040h, 50607080hOffset Value0005 700004 800003 100002 200001 300000 40*note that with word size data, the low-order byte is stored in a lower addressBig-Endian Assignments•.data•List DWORD 10203040h, 50607080hOffset Value0005 600004 500003 400002 300001 200000 10*note that with word size data, the low-order byte is stored in a higher addressBig-Endian Assignments•.data•List DWORD 00000006hOffset Value0005 XX0004XX0003060002000001 000000 00*note that with word size data, the low-order byte is stored in a higher addressLittle-Endian Assignments•.data•List DWORD 00000006hOffset Value0005 XX0004XX0003000002000001 000000 06*note that with word size data, the low-order byte is stored in a higher addressBig-Endian Assignments•.data•List BYTE “This is a string”,0Offset Value0005730004200003730002690001680000 54*note: These are the ASCII values ‘T’=54H, ‘h’=68H, ‘ i’= 69H …Little-Endian Assignments•.data•List BYTE “This is a string”,0Offset Value0005730004200003730002690001680000 54*note: Strings are saved as byte
View Full Document