BYTE PTR和WORD PTR分别是什么意思
展开全部 前者指明了指令访问的内存单元是一个字节单元,也就是8位,也就是最大的数为 0FFH,化成10进制数为256,指令访问的是内存,是因为加方括号的都是存储器寻址,方括号里的DI是变址寄存器,整个代表以DI里的内容作为偏移地址,然后以(DS)*16+(DI)得到的值作为在存储器里的物理地址要是没有BYTE PTR的话,那个物理地址对应的是低字节的内容,然后物理地址加1对应的物理地址对应的才是高字节的内容。
有了BYTE PTR后只要取该物理地址对应的一个字节的内容即可比如说MOV BYTE PTR[BX] 10H源操作数用的是立即寻址,相当于直接赋值10H,目的操作数用的是寄存器间接寻址,假设BX里的内容(BX)=1000H,(DS)=2000H,那么对应的物理地址为21000H,现在这个物理地址对应的单元内容是10HWORD PTR表示指令访问的内存单元是两个字节单元...
jmp word ptr 【bx】 和 jmp bx的区别是什么呢
jmp word ptr [bx]是以BX这个寄存器内容开始的内存单元为JMP的IP即:IP=DS:BX例:mov ax,20hmov ds,axsub bx,bxjmp word ptr [bx]到了JMP,就会跳到程序的开始执行,就是把IP设置为0。
因为DS=20,BX=0,而20:0里面的内容是0,所以IP为0。
而JMP BX则是把寄存器BX的内容设置为IP。
即:IP=BX例子:mov bx,0jmp bx执行后,IP=0,很好理解吧?
汇编语言中ptr的作用是什么
在没有寄存器名存在的情况下,用操作符“X ptr”指明内存单元的长度,X在汇编指令中可以为word 或者byte。
例如:mov word ptr ds:[0],1inc word ptr [bx]move byte ptr ds:[0],1inc byte ptr [bx]在没有寄存器参与的内存单元访问指令中,必须要显性地告诉CPU所要访问的单元是字单元,还是字节单元。
ps:参考 王爽【汇编语言】第二版
指令JMP WORD PTR [BX]属于( )寻址
DA4 EQU WORD PTR DA5DA5 DB 0ABH , 89H数据段图: DA4与DA5是相关联的,当其中一个变化时,两一个也会随之变化(1)SHR DA4 , 1 (DA4)=89ABH/2=44D5H 此时的变化为:DA5 DB D5 , 44(2)MOV DX , DA4 (DX)=44D5H(3)SHL DA5 , 1 (DA5)=D5H*2=(1)AAH=AAH 此时的变化: DA4 DW 44AAH(4)MOV CX , DA4 (CX)=44AAH 图全都贴不上来,总之就是DA4和DA5有一个变了,另一个也会变...
MOV BYTE PTR[BP],20H和MOV WORD PTR[BX],2000H什么意思?...
展开全部 BYTE PTR这样的叫属性修饰符,具体来说,就是操作数为字节;相应的,WORD PTR操作数为字。
所以,MOV BYTE PTR[BP],20H的结果,把立即数20H放到DS X 10H+BP,亦即地址21000+6200=27200H的内容为20H;而MOV WORD PTR[BX],2000H的结果,27200H处为00H,27202H处为20H,按INTEL的反字节顺序存放。
...
转载请注明出处51数据库 » xchg word ptr si