设某数据段定义如下:
DATA SEGMENT
DA1 DB ‘COMP’,00H,9AH
DA2 DB 6 DUP(?)
COUNT EQU $-DA1
DATA ENDS
试回答:
(1) DA1+2字节单元的内容是_____。
(2) COUNT的值是______。
不要只填空,帮忙详细解释一下定义的内存变量的储存方式,比如说汇编程序是怎样处理字符‘COMP’,如何为之分配空间?伪指令语句语句“COUNT EQU $-DA1”是不是也被储存在逻辑数据段内?谢谢!
谢谢!我还有一些问题。这个, $代表目前指令指针所指的地址,那么这个指令指针它是怎么走的?是不是我分配一个内存空间指令指针就加一? 比如说执行这条语句“ DA2 DB 6 DUP(?)”指令指针走6个(加6)?执行这条指令“COUNT EQU $-DA1 “后指令指针走1个? 是这么回事吗?
追答$---在这里指的是COUNT EQU $-DA1 这个为指令语句的地址标号 经推算可知为DA1+12
执行完COUNT EQU $-DA1 指令后地址不会增1,因为这条指令并不为数据分配地址。
还有什么问题都可以找我,俺回答的比较详细了,别忘了给俺加点分。
在此叫指令指针的确不妥,应叫做数据指针用来分配地址更好些。