汇编问题,定义字和字节问题,求教。。。。。==!
file:///C:\Users\zy\AppData\Roaming\Tencent\Users\287658003\QQ\WinTemp\RichOle\ASIT_B1227~C两个分别定义字和字节型的数据
定义字的时候最多能定义2个字符,而且为什么debug中不是分段显示的?如下图
定义字节时候是分段显示的
求大神,各位朋友指点?对于字和字节还是不懂呀,。。。
数据是连续存放的,不存在什么分段不分段的。第2个代码里你在字符的后面定义了13个空格,以所恰好是“分段”显示的。(3个字符加13个空格,刚好显示为1行)
debug里,左边每行显示的是16个字节,右边每行显示的是把这16个字节作为ASC码,显示其对应的字符,ASC码里没有的显示为一个点。(空格的ASCII码是20h,像00,ech这些不在128个ASCII码内,在右边显示为一个点。) 空格占一个字节 Dardy 发表于 2013-7-27 11:14 static/image/common/back.gif
数据是连续存放的,不存在什么分段不分段的。第2个代码里你在字符的后面定义了13个空格,以所恰好是“分段” ...
还有个小疑问,就是定义‘字’的时候,应该是占两个字节,比如上面显示的‘biedodav’,对应不是‘62 00 69 00 65 00。。。。这样么, 不是按照一个字符一个字符的分别存为dw类型。
dw 'e';占两个字节
dw 'abcdefe' ;占8个字节,相当于 dw 'ab' , 'cd' , 'ef' , 'e'
是按照每两个字符从左到右划分。
我的emu8086模拟器和你图里有点不一样,但分两个字节的划分方式是一样的,
dw 'i' ,存为69 00,你的是00 69
dw 'ib',存为69 62 , 你的是62 69
书上没细说这些规则,你调试出来的是什么规则就以什么规则为准 {:1_1:}
页:
[1]