问个很菜鸟的问题 刚接触汇编 JMP NEAR PTR OPD 中的PTR是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/05/24 12:19:24
这个PTR在子程序的调用中也出现 比如CMP WORD PTR[SI],'#'
那么PTR到底什么意思呢?是系统规定的吗?

ptr是临时的类型转换,相当于C语言中的强制类型转换

cmp word ptr[si],'#'
是用si所指向的内存的连续两个字节与#比较
要是改成
cmp byte ptr[si],'#'
那就是用si指向的那个存储单元的内容(一个字节)与#比较了

jmp near ptr opd
是无条件转移指令,转移到段内的标号opd所标识的位置(临时说明成近类型)
若是
jmp far ptr opd
那就是转移到另外一个代码段的opd所标识的位置了(远类型)

不管用在什么位置,ptr的作用就是临时指定类型
可以放在ptr前面的类型有byte(字节)、word(字)、dword(双字)、qword(四字)、tbyte(十字节)、far(远类型)和near(近类型)