DATA1 SEGMENT ;定义数据段DATA1 word1 DW 5678h byte1 DB "ABCDEFG" DATA1 ENDS DATA2 SEGMENT ;定义数据段DATA2 word2 DW 1234h word3 DW 9876h DATA2 ENDS DATA3 SEGMENT ;定义数据段DATA3 byte2 DB ? DATA3 ENDS CODE1 SEGMENT ;编写代码段CODE1 ASSUME CS:CODE1, DS:DATA1, ES:DATA2 ;(1) MOV AX, DATA1 ;(2) MOV DS, AX ;(3) MOV AX, DATA2 ;(4) MOV ES, AX ;(5) … MOV AX, word1 ;访问段DATA1中的字变量word1 MOV word2, AX ;访问段DATA2中的字变量word2 … ASSUME DS:DATA3, ES:NOTHING ;(6) MOV AX, DATA3 MOV DS, AX MOV BL, byte2 ;访问段DATA3中的字节变量byte2 … MOV AX, 4C00H ;(7) INT 21H ;(8) CODE1 ENDS
在这个程序当中定义的DATA1、DATA2、DATA3变量一个定义了14个BYTE的内容,最后把DS指向了DATA3 ,书上不是说一个数据段如DS最大占用64K的空间吗,这样的话目前最多也才占用14个单元啊。如果下一次我又要给变量赋值的话,这些值是会从15个单元排起吗,还是怎么的?这些值又该放在什么位置呢?