汇编语言简单问题,为什么DS会是0b62?
ASSUME CS:cseg,DS:dseg,SS:sseg
sseg SEGMENT STACK
sseg ENDS
dseg SEGMENT
stri DB 'Hello World!','$'
dseg ENDS
cseg SEGMENT
start:
MOV AX,dseg
MOV DS,AX
LEA DX,stri
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
cseg ENDS
END start
第一步,为什么dseg会变成0b62?0b62代表什么?为什么不是别的数?
答案:原始的DS地址是0B52.。程序被加载到内存当中时候,是被加载到内存DS+10(也就是0B52+0010)的地址,也就是0B62处了。。。所以,当前的地址就是OB62
其他:那是系统分配给数据段的段地址,也不一定是这个值,不同电脑情况不一样。
不必纠结于此。 系统分配的数据段段地址 那有什么原始地址!胡扯。
那是系统分配给数据段的段地址,也不一定是这个值,不同电脑情况不一样。
不必纠结于此。
网友“老爷符”说的才对。
这个满意答案!
瞎答,你会误导很多人的。
上一个:请汇编语言的大侠帮我一个忙,应该不难的。
下一个:用单片机汇编语言编写中断程序