1 mov ax 0123H(将0123H送入ax寄存器)和mov bx 003H(将003H送入bx寄存器)指令的区别 可能我还没从十进制转过来,我每次都换算一下,我在提问过程中才想到没确立十六进制思想。
2主要是 ax和bx ,ax是累加器寄存器,bx是基地址寄存器,只是送往的数据在不同的寄存器?但ax和bx是不同的寄存器
3但 add ax bx 又如何理解,自己一个牵强的理由是ax ,bx都在内存中,ax 和bx的数据可以相互传递?呵呵。
4 指令的两个操作对象的位数一定要是一致的?如 mov ax,bl 就是错误的?
5 然后在学王爽的汇编 要用什么汇编编辑器,还在学第二章。
6 起始地址 10000H 转化为段地址 1000H没怎么理解。
------解决方案--------------------------------------------------------
1.我不知道你再问什么?要说这两个指令的区别,我认为就是把两个数据送入不同的寄存器而已,没什么区别。就看你自己喜欢怎么用了。
2.只知道ax不能用在[..]里,而bx可以,如[bx],[bx+si],[bx+1],[bx+di].
3.ax ,bx在内存中,怎么可能?这两个寄存器在cpu里,什么时候跑内存了。
4,指令的两个操作对象的位数一定要是一致的 这是必须的,否则你想 如果把16位长的数据放到8位寄存器,是放高位还是放低位,或把八位数据放到16位寄存器,是放到高八位,第八位补0,还是放到低8位,高八位补0,很麻烦,所以就规定了,要一致。
5.编辑器随便哪个都可以,记事本,editplus,ultraedit都可以,没什么关系。
6.起始地址10000h可以看成是物理地址即1000h * 10h得到的,即偏移地址为0,那么段地址就是1000h.一个物理地址可以有不同的段地址和偏移地址组成,就看你的需要了。
------解决方案--------------------------------------------------------
寄存器是个物理存在的硬件啊,是最顶端的缓存,准确的说。
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
5、用masmplus,用editplus改的,很舒服