【发布时间】:2012-05-03 21:02:05
【问题描述】:
我用 C 语言创建了一个程序来生成一个 char* 处理数据。 我发送到我的汇编程序并将其放入寄存器中:
mov edx, [ebp+12]
mov edi, edx
我怎样才能在其中写入一个字符。 我知道我需要 在循环中编写一个 char 和 inc edi...。 但是我怎么能写一个字符,我已经把这个值放到另一个寄存器中了。 但是如果我做 mov edx, 49;字符代码我会丢失指针。 我想做类似的事情
for(p=malloc(100*sizeof(char*)); p!=NULL;p++){
*p=//my char code
}
适用于 linux (DEBIAN) x86 的程序集
【问题讨论】:
-
那么,使用 AL 吗?如果需要,只需按 EAX 并在之后弹出它。你真的应该阅读英特尔寄存器架构和汇编指令。
-
这个问题对我来说很不清楚。 “我的字符代码”应该是什么?
-
如果我输入 49 我必须收到 '1'
标签: assembly