Closed tmp-coder closed 7 years ago
说起来挺遗憾的,只有第一次开课的时候李老师跟大家进行了互动,后面就没有见老师再回答过相关问题。我从第一次就开始选了这门课,中间断断续续一直没有把课程学完,这学期希望能够把课程再重新学一下,欢迎一起交流。
好了,言归正传
这里的字符串长度是要算.byte 13, 10
这两个字节的,它们的作用相当于\r\n
,最终在bochs终端里面显示换行,所以按照你的写法,字符串的长度应该是19+6=25,你试试,这样改了之后应该没问题,之前的不能正常显示字符串是因为.byte 13,10
是两个字节,.ascii "ZZTos is running..."
是19个字节,加起来一共有21个字节,你的现象是不是最后只显示了两个省略号?(还是其他)
哦,我明白了,它是将msg1:的所有内容输出来包括.byte 13,10,所以是字符串长度加上所有.byte共19+6=25.多谢,我并不是学计算机的,并没有学过汇编.希望能一直向你请教.
我本科是自动化专业的,研究生才读的计算机,欢迎交流。
你好!我最经也在学这们课程,途中遇到一些问题不知能否向你请教(因为老师好像已经不再答疑了) 请问bootsect.s中的字符串长度是怎么计算的啊? 我更改输出字符串为
msg1: .byte 13,10 .ascii "ZZTos is running..." .byte 13,10,13,10
这个字符串长度只有19 可是我将98行语句更改为mov cx,#20 ! 显示字符串长度
竟然不能输出完整字符串,请问这是什么问题