24小时热门版块排行榜    

查看: 368  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 机械学硕310分,数一英一,一志愿211本科双非找调剂信息 +3 @357 2026-03-25 3/150 2026-03-26 16:34 by by.MENG
[考研] 284求调剂 +6 junqihahaha 2026-03-26 6/300 2026-03-26 16:01 by 不吃魚的貓
[考研] 081700 调剂 267分 +11 迷人的哈哈 2026-03-23 11/550 2026-03-26 15:41 by zzll406
[考研] 考研调剂 +7 呼呼?~+123456 2026-03-24 7/350 2026-03-26 15:24 by 小小麦片
[考研] 材料学硕297已过四六级求调剂推荐 +13 adaie 2026-03-19 13/650 2026-03-26 14:05 by 小小麦片
[考研] 0856求调剂 +8 zhn03 2026-03-25 9/450 2026-03-26 13:42 by zzll406
[考研] 290分调剂求助 +3 吉祥止止陈 2026-03-25 3/150 2026-03-25 19:58 by barlinike
[考研] 359求调剂 +3 王了个楠 2026-03-25 3/150 2026-03-25 12:50 by Dyhoer
[考研] 318求调剂 +3 plum李子 2026-03-23 3/150 2026-03-25 09:42 by 雾散后相遇lc
[考研] 07化学280分求调剂 +7 722865 2026-03-23 7/350 2026-03-25 09:29 by aa331100
[考研] 305分求调剂(食品工程) +5 Sxy112 2026-03-21 7/350 2026-03-24 12:27 by 544594351
[基金申请] 请教下大家 2026年国家基金申请是双盲审吗? +3 lishucheng1 2026-03-22 5/250 2026-03-24 08:22 by gltch
[考研] 一志愿070300浙大化学358分,求调剂! +4 酥酥鱼.. 2026-03-21 4/200 2026-03-23 08:12 by Iveryant
[考研] 一志愿东华大学化学070300,求调剂 +7 2117205181 2026-03-21 8/400 2026-03-22 22:55 by chixmc
[考研] 319求调剂 +4 小力气珂珂 2026-03-20 4/200 2026-03-22 15:53 by ColorlessPI
[考研] 311求调剂 +3 26研0 2026-03-20 3/150 2026-03-22 14:46 by ColorlessPI
[考研] 一志愿北京化工大学070300 学硕336求调剂 +5 vv迷 2026-03-21 8/400 2026-03-22 14:20 by ColorlessPI
[考研] 22408 344分 求调剂 一志愿 华电计算机技术 +4 solanXXX 2026-03-20 4/200 2026-03-20 23:49 by alg094825
[考研] 295材料求调剂,一志愿武汉理工085601专硕 +5 Charlieyq 2026-03-19 5/250 2026-03-20 20:35 by JourneyLucky
[考研] 一志愿西安交通大学 学硕 354求调剂211或者双一流 +3 我想要读研究生 2026-03-20 3/150 2026-03-20 20:13 by JourneyLucky
信息提示
请填处理意见