組合語言學習筆記(十六)直接定址表

2021-06-22 19:28:57 字數 371 閱讀 4306

code segment

a db 1,2,3,4

b dw 0

標號a,描述了位址code:0,和從這個位址開始,以後的記憶體單元都是位元組單元;

標號b,描述了位址code:8,和從這個位址開始,以後的記憶體單元都是字單元

mov ax,b相當於mov ax,cs:[8]

如果想在**段中,直接用資料標號訪問資料,則需要用偽指令assume將標號所在段和乙個段暫存器聯絡起來

否則編譯器在編譯的時候,無法確定標號的段位址在哪乙個暫存器中

直接定址表

data

table dd 『01234556789abcdef』

data

mov ax,table[bx]

組合語言 直接定址表

assume cs code code segment a dw 1,2 3,4 5,6 7,8 a代表了code段的首位址code 00,由於dw,也代表了a開始的這一小段記憶體都是按照字單元儲存的。從code 0 code 15 也就是,a 0 a 15 a si 代表了從code 00開始的偏...

組合語言 直接定址表

assume cs code code segment 從code 0 code 15 也就是,a 0 a 15 a si 代表了從code 00開始的偏移量為si的記憶體單元。此記憶體單元是字單元,故si的偏移量是2個位元組。剩下的空間都是真正的cpu執行的 了。start mov si,0 mo...

組合語言 直接定址表

功能 將a位址中的1 8的數值相加,並儲存到b位址中。assume cs code code segment a db 1,2,3,4,5,6,7,8 b dw 0 start mov si,offset a mov di,offset b mov ah,0 mov cx,8 s mov al,cs...