关于汇编中的LDS指令
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/21 03:22:44
关于汇编中的LDS指令
例:lds 寄存器,源操作数
书中描述:
当指令指定的是16位寄存器时,把源操作数存储单元中存放的十六位偏移地址取出存放在寄存器中,然后把源操作数+2的十六位数装入指令指定的段寄存器
当指令指定的是32位寄存器时 把源操作数存储单元中存放的32位偏移地址装入寄存器 然后把 源操作数+4 的16位数装入段寄存器
我不明白为什么要将 源操作数+2 或者源操作数+4 的十六位数装入.
为什么要将源操作数分别+2 ,+4,这样就能得出段寄存器地址了吗
例:lds 寄存器,源操作数
书中描述:
当指令指定的是16位寄存器时,把源操作数存储单元中存放的十六位偏移地址取出存放在寄存器中,然后把源操作数+2的十六位数装入指令指定的段寄存器
当指令指定的是32位寄存器时 把源操作数存储单元中存放的32位偏移地址装入寄存器 然后把 源操作数+4 的16位数装入段寄存器
我不明白为什么要将 源操作数+2 或者源操作数+4 的十六位数装入.
为什么要将源操作数分别+2 ,+4,这样就能得出段寄存器地址了吗
你这样想,这条指令格式是LDS reg,mem
这条指令的功能是把mem指向的地址,高位存放在DS中,低位存放在reg中.
下面说的是16位的.
比如当前DS=1000H,BX=0100H.
当前内存:
1000:0100 01
1000:0101 02
1000:0102 03
1000:0103 04
而有一条指令:LDS BX,[BX]
[BX]指向1000:0100,执行后BX存低位的内容,也就是BX=0201H,
而DS则存高位的内容,也就是[BX+2]的内容,DS=0403H
这样你是不是就理解了为什么要加2,因为[BX+2]才能指向高位.想清楚了16位的,你也就想通了32位的
这条指令的功能是把mem指向的地址,高位存放在DS中,低位存放在reg中.
下面说的是16位的.
比如当前DS=1000H,BX=0100H.
当前内存:
1000:0100 01
1000:0101 02
1000:0102 03
1000:0103 04
而有一条指令:LDS BX,[BX]
[BX]指向1000:0100,执行后BX存低位的内容,也就是BX=0201H,
而DS则存高位的内容,也就是[BX+2]的内容,DS=0403H
这样你是不是就理解了为什么要加2,因为[BX+2]才能指向高位.想清楚了16位的,你也就想通了32位的
汇编中的.DATA?指令与.DATA指令有什么区别啊?
求关于初中课本中的词语汇编.
关于汇编的一道题目,AX中有符号数除以2的正确指令是?
汇编伪指令 assume 具体作用是什么
汇编stack segment stack指令是什么意思?
判断下列指令书写是否正确.汇编
汇编中的test位测试指令,侧移位的话可以理解,但是它可不可以一次测试多位?
汇编中的DW是什么意思
汇编指令test cl,cl的作用是什么
汇编 TEST AL,81H TEST指令作用是什么?
写出每条汇编指令执行后,相关寄存器中的值 mov ax,62627 AX= mov ah,31h AX= mov al,
matlab中的一条指令,