首页
社区
课程
招聘
这个嵌入的汇编怎么写?
发表于: 2004-12-2 14:00 4121

这个嵌入的汇编怎么写?

2004-12-2 14:00
4121
我想把data的地址取出来,可是怎么也不行?
难道还要定义一个POINTER的指针?

Program  save;
{$APPTYPE CONSOLE}

var   
//    S1:String[16];
//    i:Integer;
    data : array[1..60] of byte = (
    $30,$30,$30,$30,$30,$30,$30,$30,$68,$3A,$20,$34,
    $44,$20,$35,$41,$20,$30,$33,$20,$38,$46,$20,$39,
    $42,$20,$34,$32,$20,$41,$30,$20,$46,$42,$20,$32,
    $44,$20,$30,$46,$20,$43,$33,$20,$41,$36,$20,$42,
    $33,$20,$35,$30,$20,$31,$33,$20,$45,$37,$0D,$0A);

asm
   mov ax,[@data]    // 这行编译通不过
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Operand size mismatch 运算对象大小匹配
   mov dx,[eax]
   add dx,5
end;      
end.

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (4)
雪    币: 16
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
2
你这是什么编译环境??

好像是mov eax,offset XXXXXX
2004-12-2 14:23
0
雪    币: 371
活跃值: (790)
能力值: ( LV12,RANK:570 )
在线值:
发帖
回帖
粉丝
3
是mov eax,offset data。
2004-12-2 15:41
0
雪    币: 413
活跃值: (637)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
4
delphi的环境
2004-12-2 15:43
0
雪    币: 209
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
改为以下就OK了.
Program  save;
{$APPTYPE CONSOLE}

var
//    S1:String[16];
//    i:Integer;
    data : array[1..60] of byte = (
    $30,$30,$30,$30,$30,$30,$30,$30,$68,$3A,$20,$34,
    $44,$20,$35,$41,$20,$30,$33,$20,$38,$46,$20,$39,
    $42,$20,$34,$32,$20,$41,$30,$20,$46,$42,$20,$32,
    $44,$20,$30,$46,$20,$43,$33,$20,$41,$36,$20,$42,
    $33,$20,$35,$30,$20,$31,$33,$20,$45,$37,$0D,$0A);

asm
   mov ax,word ptr data   // 这行编译通不过
//  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//Operand size mismatch 运算对象大小匹配
   mov dx,[eax]
   add dx,5
end.
2004-12-2 21:22
0
游客
登录 | 注册 方可回帖
返回
//