Mari kita bayangkan kita memiliki setengah alamat 8bit LOWER dan HIGHER di register L dan H. Misalnya, kita ingin membaca byte dari alamat 32770 dec = 8002 hex.
mov l, 02h ;lower byte of address
mov h, 80h ;higher byte of address
mov a, [hl] ;a <-- [h*256 + l]
Banyak mode pengalamatan yang ada di CPU. Jadi kita dapat memiliki contoh yang berbeda, mis. hanya dengan satu register dan alamat langsung:
mov h, 80h
mov a, [2] ;a <-- [h*256 + immediate]
Itu selalu tergantung pada arsitektur CPU tertentu. Misalnya Zilog Z80 disebut CPU 8-bit tetapi juga berisi banyak instruksi 16-bit. Anda dapat melakukan pengalamatan terindeks seperti ini:
mov ix, 8002h ;base address of an array
mov a,[ix+20] ;a <-- [ix + 20] i.e. read a byte from an array like ix[20] in C
Catatan: CPU 8-bit lama tersebut menggunakan akumulator 8-bit, yaitu mereka dapat menghitung matematika dan hal-hal aritmatika lainnya hanya dalam register 8-bit, jadi mereka adalah 8-bit pada tingkat komputasi perangkat lunak . Dan unit pengakses memorinya adalah 8-bit, yaitu hanya dapat membaca atau menulis satu byte memori dalam satu waktu, sehingga level perangkat kerasnya juga 8-bit. Instruksi 16-bit tersebut lambat, mereka sebenarnya melakukan sepasang operasi 8-bit secara berurutan.
person
Al Kepp
schedule
02.12.2012