这个汇编程序中TABLE的偏移地址怎么看啊?

2025-12-11 23:10:42
推荐回答(3个)
回答1:

表是存在段寄存器里的,相对于段寄存器的偏移地址是未知的,但是我们可以通过OFFSET命令求出来,所以
MOV BX,OFFSET TABLE就是把table的偏移地址放进了BX里,
根据ENTRY DW 3的定义,ENTRY就等于3,
ADD BX,ENTRY 就是把BX加上3
MOV AX,[BX] 是取出bx的内容放到AX里
而DW表示以字的形式存储,每个字应该占两个字节,也就是说存储顺序为0A 00 14 00 1E 00 28 00 32 00,所以(AX)=1E00

回答2:

Table没有偏移地址,table是一个数据段, 简称:段
在table段中的数据的偏移被寄存器IP所定义! IP才是table的偏移地址
而ADD BX,ENTRY的意思是:
在寄存器BX中加上ENTRY段的起始地址, ENTRY为段地址!

回答3:

TABLE的偏移是未知的

MOV BX,OFFSET TABLE 把TABLE的偏移地址赋给BX
ADD BX,ENTRY BX的值加3
MOV AX,[BX] AX等于40