【发布时间】:2015-02-14 01:11:57
【问题描述】:
我在x86 上有一些汇编示例代码,使用MASM,我试图从中学习,但我很难理解。以下是数据段:
.data
sNum1 word 23,-17
iX dword 37,54
sNum2 word 25,-5,3 dup (-17,4)
bVal1 byte 'ABC',3 dup(-1,23) ,35
iNumVals dword 21,-43,45,167,92,135,-786
bVal2 byte '345',37,-1
iNum1 dword ? ;user-input first number
iNum2 dword ? ;user-input 2nd number
iSum dword ? ;sum of user-input values
strPromptName byte 10,13,"What is your name: ",0
strInput byte 20 dup(?) ;holds user-input characters
strGreeting byte 10,13,9,"Good morning, ",0
strPromptNum byte 10,13,"Enter a number:",0
strInputNum byte 12 dup(?) ;holds input ASCII numbers
strOutputNum byte 12 dup(?) ;numeric characters after conversion
strSumIs byte 10,13,10,13,9,"The output sum is ",0
strArrayIs byte 10,13,"The values in the array are",0
为什么存储为byte 的已定义字符串在其字符串值之前包含数字。例如 - strGreeting 包含“早上好,”,但前面是“10,13,9”,后面是“,0”。这样做的目的/方法是什么?为什么这些值在这里?它们是某种缓冲区吗?如果是,它们分别代表什么?
【问题讨论】: