发布网友 发布时间:2022-04-26 09:31
共5个回答
热心网友 时间:2022-06-26 19:45
ptr-pointer (既指针)得缩写。汇编里面ptr是规定的字(既保留字),是用来临时指定类型的。可以理解为,ptr是临时的类型转换,相当于C语言中的强制类型转换。
如 mov ax,bx ; 是把BX寄存器“里”的值赋予ax,由于二者都是寄存器,长度已定(word型),所以没有必要加“WORD”。
“mov ax,word ptr [bx];”是把内存地址等于“BX寄存器的值”的地方所存放的数据赋予ax。
由于只是给出一个内存地址,不知道希望赋予ax的,是byte还是word,所以可以用word明确指出;如果不用,(mov ax,[bx];)则在8086中是默认传递一个字,即两个字节给ax。
扩展资料
ptr也可以作为临时类型转换
(1)“cmp word ptr[si],'#'”是用si所指向的内存的连续两个字节与‘#’比较,要是改成cmp byte ptr[si],'#'那就是用si指向的那个存储单元的内容(一个字节)与‘#’比较了。
(2)“jmp near ptr opd”是无条件转移指令,转移到段内的标号opd所标识的位置(近类型)。若是“jmp far ptr opd”那就是转移到另外一个代码段的opd所标识的位置了(远类型)。
参考资料来源:百度百科-指针
热心网友 时间:2022-06-26 19:46
ptr应该就是pointer ,说明地址指针类型。热心网友 时间:2022-06-26 19:46
列举两种用法热心网友 时间:2022-06-26 19:47
显示声明参考资料:http://wenku.baidu.com/view/2972a8d4b9f3f90f76c61b76.html
热心网友 时间:2022-06-26 19:47
在没有寄存器名存在的情况下,用操作符“X ptr”指明内存单元的长度,X在汇编指令中可以为word 或者byte。