作者:乔山办公网日期:
返回目录:word文档
你的问题不是很详细,一般情况下微机原理中如1234:0056这样的大多数是表示存储器的逻辑地址,意思为段地址为1234H,偏移地址为0056H。
PTR在汇编语言中用来指出操作数的类型或尺寸,通常用在跳转/调子程序或寻址时用来指明是BYTE、WORD还是DWORD
对于百8086汇编语言,定义了"字变量Z",指令"MOV Z,AX"是正确的.
例如度:
DATA SEGMENT
Z DW 1234H ; 字变量知Z里原本的数据是1234H
DATA ENDS
MOV AX,0ABCDH
MOV Z,AX ; 执行道"MOV Z,AX"之后,字变量Z里的数据变为0ABCDH
; 假设字内变量Z的偏移地容址是0000H,
; 该指令相当于 MOV [0000H],AX
MOV WORD PTR Z,2000H ; 执行后,字变量Z里的数据变为2000H
; 假设字变量Z的偏移地址是0000H,
; 该指令相当于 MOV WORD PTR [0000H],2000H
mov ax,word ptr [bx];是把内存地址等于“BX寄存器复的值”的地方所存放的数据,赋予ax。由于只是给出一个内存地址,不知道希望赋予ax的是byte还是word,所以需要用制word明确指出! ptr是显示申明。所以,当两个操作数的宽度不一样时,就要用到。
这里的宽度是zd指bit说简单点就是 16位的还是8位的!
cpu内部的寄存器,是16位的,而内存的单位寻址是8位的,所以它们的宽度不一样,就需要显示声明ptr。当用dw和dt、db等时,就需要它来显示声明了。