请教 MOV AX,WORD PTR DS:[ECX+EBP*2] 什么意思

作者&投稿:貊居 (若有异议请与网页底部的电邮联系)
mov word ptr ds:[2],0是什么意思~

将数字“0”以两个字节(1个字)的方式 传输到 DS:[2]内。

WORD PTR表示2字节的字型数据
[bx]表示以DS为段寄存器,BX中的数据作偏移地址,也就是DS:[BX]内存单元中的数据。
因为AX寄存器本身就是2字节的,所以即使这里省略掉WORD PTR也一样可以正确执行

MOV AX,WORD PTR DS:[ECX+EBP*2]
很久不用了 分析一下
MOV 汇编语言的移动命令
AX DS ECX EBP 都是寄存器
WORD PTR 表示2字节的字型数据
简单说是将AX的数据移动到DS寄存器

冒号 中括号里的具体含义我已经想不起来了

汇编语言我其实不太懂,1995年考试通过之后就很少用了。
这个指令的意思是:
把AX寄存器中的值,赋给地址为DS(段寄存器):偏移地址为ECX(扩展寻址寄存器)+EBP(扩展基址寄存器)乘以2,的内存地址中。


高陵县13062433939: 请教 MOV AX,WORD PTR DS:[ECX+EBP*2] 什么意思 -
沈龙盐酸: MOV AX,WORD PTR DS:[ECX+EBP*2] 很久不用了 分析一下 MOV 汇编语言的移动命令 AX DS ECX EBP 都是寄存器 WORD PTR 表示2字节的字型数据 简单说是将AX的数据移动到DS寄存器 冒号 中括号里的具体含义我已经想不起来了

高陵县13062433939: MOV AX WORD PTR [BX]是什么意思 -
沈龙盐酸: WORD PTR表示2字节的字型数据 [bx]表示以DS为段寄存器,BX中的数据作偏移地址,也就是DS:[BX]内存单元中的数据. 因为AX寄存器本身就是2字节的,所以即使这里省略掉WORD PTR也一样可以正确执行

高陵县13062433939: AX是什么意思MOVWORDPTRX?MOVWORDPTRX,A
沈龙盐酸: 这条指令的功能是: 将16位寄存器AX中的数据,复制传送到变量X所指向的两个字节16位存储单元中. 本来,若变量X定义成了16位的字类型变量(即用DW定义),可以直接写 MOV X, AX 但因为X未定义成字,可能是用DB定义成了8位的字节,也可能是用DD定义成了32位的双字,直接那样写会出现两个操作数类型不一致的错误.所以就加上WORD PTR指定这一次将X变量地址当成字类型变量使用. MOV 是数据传送指令. 前面一个操作数 WORD PTR X是目的操作数,也就是说数据住这儿存放.其中,X是变量名. 后面的AX是通用寄存器中的16位累加器.

高陵县13062433939: ,指令MOV AX,SIZE ARRAY是什么意思 -
沈龙盐酸: 12行改 MOV AX,WORD PTR ARRAY+4 14行改 MOV AX,WORD PTR ARRAY+8

高陵县13062433939: MOV AX,WORD PTR[SI]与MOV AX,[SI]的区别?MOV [SI],AX与MOV WORD PTR[SI],AX区别? -
沈龙盐酸: 没错,是等价的.AX是16位,也就是一个WORD,所以你即使不写word ptr,也没问题. 要写byte ptr、word ptr、dword ptr的场景是这样的,比如: mov [si], 1 1是个立即数,那么上面这句话就不能确定是往si开始一个字节的内存中写入1,还是一个字的内存中写入1,还是一个双字的内存中写入1.这个时候就要指定了,比如: mov word ptr[si], 1,它就指明了是: [si] = 1, [si + 1] = 0

高陵县13062433939: 汇编指令 ORG O1OOH NUM DB 1,2,3,4,5,6,7,8 DISP DW 2 LEA BX,NUM ADD BX,DISP MOV AX,WORD PTR[BX] -
沈龙盐酸: LEA BX,NUM ;bx存放的是数据的地址 ADD BX,DISP ;bx+2使得bx指向NUM后的第三个存储单元(这个bx就好像数组的下标,你懂的) MOV AX,WORD PTR[BX] ;此处送给AX的是一个字的数据(16位),也就是要从地址bx开始往后读取两个字节的数据,根据高位对高位的原则,结果必然是0403H.希望能帮到你.

高陵县13062433939: 汇编:DB1 DB 8 DUP(2 DUP(3),3 DUP(2)) MOV AX,WORD PTR DB1 [04H] AX等多少,为什么? -
沈龙盐酸:[答案] DB1 DB 8 DUP(2 DUP(3),3 DUP(2)) //即DB1=03 03 02 02 02 (0303020202重复8次) MOV AX,WORD PTR DB1 [04H] AX等多少,为什么 AX应该等于DB1从开始起第4个字节后的两个字节内容,即02 注意,上面存一个3是占了一个字节的长度,即...

高陵县13062433939: VAR1 DB 65H,7BH VAR2 DW 654DH,3CFFH MOV AX,VAR1 MOV DL,VAR2 上面的汇编程序的后两条指令对吗?为什么 -
沈龙盐酸: 后2条不对 VAR1用字节定义,取的时候只能按字节取,AX是16位寄存器,类型不对,改变1.MOV AL,VAR12.修改类型 MOV AX,WORD PTR VAR1 第二条指令道理一样,VAR2用字定义,取的是字节,可修改成为MOV DL,BYTE PTR VAR2

高陵县13062433939: 汇编语言中,关于字节与字之间的转换问题 -
沈龙盐酸: CBW指令将AL的最高有效位扩展至AH,即:如果AL的最高有效位是0,则AH = 00;AL的最高有效位为1,则AH = FFH.AL不变,如al中的值是0F0H,cbw后,ax中的值是0FFF0H, 而mov ax,word ptr buf,是把以buf为地址的两个字节,存入ax,如: buf db 30H,50H,70H mov ax,word ptr buf后,ax的值是5030H

高陵县13062433939: 汇编语言 mov ax,word ptr [ si ] [ di ] 这条语句为什么有错误
沈龙盐酸: si、bx均可作为源数据的偏移与ds段地址配合使用;di、bx均可作为目的数据的偏移与es段地址配合使用 即si指向源,di指向目的,si、di不能出现的一个偏移地址中 !!!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网