byte+ptr
答:byte ptr 用来定义所存入的是字节单元。[si+1]以字节单元存入SI中。
答:如 mov ax,bx ; 是把BX寄存器“里”的值赋予ax,由于二者都是寄存器,长度已定(word型),所以没有必要加“WORD”。“mov ax,word ptr [bx];”是把内存地址等于“BX寄存器的值”的地方所存放的数据赋予ax。由于只是给出一个内存地址,不知道希望赋予ax的,是byte还是word,所以可以用word明确...
答:楼主问的是16位汇编吧 [DI] 表示指向的值是个word (两字节)BYTE PTR[DI] 表示指向的值是个BYTE (一字节)两字节包括它本身指向的一字节和后一字节。而且后一字节是高位 [DI]= BYTE PTR[DI] + BYTE PTR[DI+1]*10h
答:TYPE DA_WORD,取决于定义:DA_WORD DW 20H 这里是 WORD。MOV AL, BYTE PTR DA_WORD,只有这一句,才是按照字节读出。
答:mov ax,bx ;是把BX寄存器“里”的值赋予AX由于二者都是word型所以没有必要加“WORD”mov ax,word ptr [bx];是把内存地址等于“BX寄存器的值”的地方所存放的数据赋予ax。由于只是给出一个内存地址不知道希望赋予ax的是byte还是word所以...
答:BX]指令中的操作数的数据类型是字节。DEC BYTE PTR [BX]指令是算术运算指令,操作功能是将目的操作数减1,结果送目的操作数。目的操作数为通用寄存器或存储器操作数。DEC为指令助记符,DEC指令影响标志位为OF,SF,ZF,AF,PF。BYTE为指令说明,数据类型为字节,PTR为字节数, [BX]为周期数。
答:ds:[esi]这里的意思是 ds 表示是数据段 esi就是寄存器的值 [esi]表示是地址的值,其实你可以把esi看成是指针。。(说多了)这个话的意思是数据段里地址是esi的地址里面的内容 byte ptr 这个是个伪指令 ,你刚才取的值是字(word)类型的 这个指令的 作用是把这个字取他的高位变成字节 (byte)...
答:;buffer 00 00 00 00 00 00 00 00 00 00 ;buffer 是前面定义的变量名 ;MOV Buffer[BX+SI],DL 设dl=12h 如果bx=1,si=1;将dl的值存入buffer[2]中,以[0]作为起始算 如上所示 ADD Buffer[BP+DI+4],10 这句因为10不是寄存器所以编译器不知其大小,要加byte ptr,ADD byte...
答:数据处理有两个基本问题:(1) 处理的数据在什么地方?(2) 要处理的数据有多长?这两个问题,在机器指令中必须给以明确或隐含的说明,否则计算机就无法工作.在这里,你是要加AL寄存器中的内容加到内存存储单元中去,但计算机不知道要用多大的空间来存储它,所以要加上 byte ptr ,明确告诉计算机我们要用一个...
答:'$'是个常数,不知道是按db、dw、dd中的哪一种形式存到[SI+BI]单元。因为有可能会超出寄存器的存储范围,所以需要强制转换
网友评论:
蓟秦13412384803:
汇编语言指令:JMP BYTE PTR [BX]错在哪儿 -
46440令治
: jmp指令的操作数是地址,实际执行效果是修改IP的值. 由于BYTE PTR使得BX指向的数据为字节类型,而IP为字类型,数据类型不匹配,故该指令不正确. 指令的正确写法可以是jmp word PTR [BX],此时将BX指向的字类型数据赋给IP;或者...
蓟秦13412384803:
汇编语言里PTR什么意思? C++里面又是什么意思? -
46440令治
: ptr -- pointer (指针)缩写. 汇编里面ptr是规定的字 (保留字),mov ax,bx ;是把BX寄存器“里”的值赋予AX. c语言里ptr是程序员自己写的变量名字,不是保留字,当然,它也可以是指针. 当用dw和dt、db等时,就需要他来显示声明了. ...
蓟秦13412384803:
汇编 中add byte ptr[bp],256 错在哪 以及byte ptr[bp]什么意思 谢谢 -
46440令治
: PTR是强制转换运算符 BYTE PTR就是把【BP】中的内容转换成字节 然后+256 因为操作数的类型必需一制 所以出错 因为256不是字节
蓟秦13412384803:
汇编高手来,8086的BYTE PTR -
46440令治
: DA_WORD DW 20H MOV AL, BYTE PTR DA_WORD ;本条指令中按字节属性取DA_WORD一个字节20H传送到AL MOV AH, TYPE DA_WORD ;DA_WORD是DW定义的,所以TYPE值为2 结果,指令执行后 AX = 0220H 答案没有错,是你理解有误.BYTE PTR是一个属性算符,用了它,使得表达式 BYTE PTR DA_WORD 是取一个字节数,但这没有改变DA_WORD本身定义的属性.
蓟秦13412384803:
8086汇编中的PTR伪指令是做什么用的呢? -
46440令治
: PTR主要是指定操作的内存大小的.如: 1. BYTE PTR BUFF,是指定BUFF代表的内存为字节属性 2. WORD PTR BUFF,是指定BUFF代表的内存为字属性 3. 同理可以推出:DWORD PTR BUFF等
蓟秦13412384803:
汇编mov byte ptr[si+1]什么意思 -
46440令治
: byte ptr 用来定义所存入的是字节单元.[si+1]以字节单元存入SI中.
蓟秦13412384803:
inc byte ptr[si+5]是什么意思?
46440令治
: 把地址si+5处的字节变量加1. byte ptr 表示变量是字节变量.如果不指定,编译器就不知道变量的类型. 当然,也有word ptr, dword ptr等等.
蓟秦13412384803:
MOV BYTE PTR[BP],20H和MOV WORD PTR[BX],2000H什么意思?有区别吗? -
46440令治
: 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的反字节顺序存放.
蓟秦13412384803:
关于bp寄存器,MOV BP,BYTE PTR[BX] 这条指令是否正确 -
46440令治
: bp是16位的,而bype ptr[bx]是8位的 类型不匹配,所以这条指令是错误的
蓟秦13412384803:
MOV BYTE PTR [BX],20 -
46440令治
: 是寄存器间接寻址,BYTE PTR 表示这个内存单元是字节单元