db''与db ""的区别

debugk 2008-08-31 10:36:11
在程序中老看到db''与db "",一直有点好奇两者之间是否有区别,写了两个小程序测试了下。

assume cs:code

data segment
db 'abcdefghij!'
db 11 dup (0)
data ends

code segment

start:
mov ax,data
mov ds,ax
mov si,0
mov di,16
mov cx,11

s:
mov al,[si]
mov [di],al
inc si
inc di
loop s

mov ax,4c00H
int 21H

code ends
end start


上述程序中,db 'abcdefghij!'与db "abcdefghij!"效果一致

assume cs:code

data segment
db "abcdefghij!",0
db 11 dup (0)
data ends

code segment

start:
mov ax,data
mov ds,ax
mov si,0
mov di,16

s:
mov al,[si]
mov cl,al
mov ch,0
jcxz ok
mov [di],al
inc si
inc di
jmp short s

ok:
mov ax,4c00H
int 21H

code ends
end start

上述程序中,db "abcdefghij!",0与db 'abcdefghij!',0效果一致

那么是否能够说明,在8086汇编中,''与""的作用一致?
...全文
144 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
alan001 2008-09-01
  • 打赏
  • 举报
回复
一样的
BAYNPU 2008-09-01
  • 打赏
  • 举报
回复
是单引号还是双引号请楼主自己在DEBUG查看一下不就知道了,使用还不是一样吗。
Andy1990zx 2008-09-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 outsinre 的回复:]
这个细节值得注意,楼主真细心
[/Quote]

我曾經偶爾發現"字符串不能用單引號", 然後就以為"字符串只能用雙引號, 字符用單引號" 看來我的學習還是不夠嚴謹
outsinre 2008-09-01
  • 打赏
  • 举报
回复
这个细节值得注意,楼主真细心
cnzdgs 2008-09-01
  • 打赏
  • 举报
回复
区别就是:用单引号时,字符串中不能直接用单引号字符;用双引号时,字符串中不能直接用双引号字符。
gzgzlxg 2008-08-31
  • 打赏
  • 举报
回复
作为定义字符串而言,这两个符号的作用完全相同,正是因为如此,所以在定义字符串时,比许多高级语言更为方便,例如:

db "That's right." ; That's right.

当然也可以如同许多高级语言所使用的类似的语法,例如:

db 'That''s right.' ; That's right.

显然不如第一句来的方便和表达的清晰。

同样:

db '单引号"'"在定义字符串时和双引号相同。' ; 单引号"'"在定义字符串时和双引号相同。
db "单引号""'""在定义字符串时和双引号相同。" ; 单引号"'"在定义字符串时和双引号相同。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧