24小时热门版块排行榜    

查看: 367  |  回复: 0
当前主题已经存档。

sdlj8051

金虫 (著名写手)

[交流] 汇编语言和C语言字符串的区别

以前老是搞不清楚它们之间的区别,今天专门研究一下
如有什么错误,请大家指正。
汇编语言:
szText db 'hello,world',0

mov eax,szText;这是错误的!
mov al,szText;这是正确的,al='h'
mov ebx,offset szText;ebx保存了"hello,world!",0字符串的首地址
mov cl,szText+1;cl='e'

szText表示字符串的第一个字节
offset szText表示该字符串的地址
szText+1表示首地址+1的字节

C语言:
char *s = "hello,world" ;//定义s这个指针变量(4字节)来保存字符串的地址
char str[] = "china" ;//str就是字符串首地址本身

如下:
int main(void)
{
char *s = "hello,world" ;
char str[] = "abc" ;
__asm
{
  mov eax,s//eax就是"hello,world"的地址
  mov bl,byte ptr[eax]
}
}
在堆栈中的情况是
----------
|00636261|--->此栈地址就是字符串的首地址
----------
|xxxxxxxx|--->此栈地址就是s指针变量的地址,内部保存的是"hello,world"字
----------    符串的首地址
|EBP     |
----------
很明显,s在内存中是要占空间的(4 byte),而str就是地址本身,所以不占空间
以上是自己的一些理解,可能会有错误,欢迎大家更正&补充

[ Last edited by 幻影无痕 on 2006-10-17 at 10:18 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 sdlj8051 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿华东理工大学081700,初试分数271 +4 kotoko_ik 2026-03-23 5/250 2026-03-23 23:23 by 呆呆师姐
[考研] 0854 考研调剂 招生了!AI 方向 +4 pk3725069 2026-03-19 16/800 2026-03-23 23:09 by 汪!?!
[考研] 361求调剂 +3 Glack 2026-03-22 3/150 2026-03-23 22:03 by fuyu_
[考研] 一志愿陕师大生物学071000,298分,求调剂 +3 SYA! 2026-03-23 3/150 2026-03-23 19:09 by macy2011
[考研] 考研化学308分求调剂 +7 你好明天你好 2026-03-23 8/400 2026-03-23 18:39 by macy2011
[考研] 一志愿上海交大生物与医药专硕324分,求调剂 +5 jiajunX 2026-03-22 5/250 2026-03-23 18:07 by YMU施老师
[考研] 293求调剂 +3 涛涛Wjt 2026-03-22 5/250 2026-03-22 22:21 by jiangpengfei
[考研] 311求调剂 +6 冬十三 2026-03-18 6/300 2026-03-22 20:18 by edmund7
[考研] 一志愿华中农业071010,总分320求调剂 +5 困困困困坤坤 2026-03-20 6/300 2026-03-22 17:41 by hxsm
[考研] 308求调剂 +3 墨墨漠 2026-03-21 3/150 2026-03-22 16:54 by i_cooler
[考研] 306求调剂 +5 来好运来来来 2026-03-22 5/250 2026-03-22 16:17 by BruceLiu320
[考研] 286求调剂 +10 Faune 2026-03-21 10/500 2026-03-21 23:34 by 314126402
[考研] 280求调剂 +11 咕噜晓晓 2026-03-18 12/600 2026-03-21 22:40 by ACS Nano——
[考研] 一志愿深大,0703化学,总分302,求调剂 +4 七月-七七 2026-03-21 4/200 2026-03-21 18:20 by 学员8dgXkO
[考研] 295复试调剂 +8 简木ChuFront 2026-03-19 8/400 2026-03-20 20:44 by zhukairuo
[考研] 求调剂 +3 eation27 2026-03-20 3/150 2026-03-20 19:32 by JourneyLucky
[考研] 招收调剂硕士 +4 lidianxing 2026-03-19 12/600 2026-03-20 12:25 by lidianxing
[考研] 085410人工智能专硕317求调剂(0854都可以) +4 xbxudjdn 2026-03-18 4/200 2026-03-20 09:07 by 不168
[考研] 材料学硕318求调剂 +5 February_Feb 2026-03-19 5/250 2026-03-19 23:51 by 23Postgrad
[考研] 【同济软件】软件(085405)考研求调剂 +3 2026eternal 2026-03-18 3/150 2026-03-18 19:09 by 搏击518
信息提示
请填处理意见