Итак, я читал код сборки для учебных целей и наткнулся на эти две инструкции:
add register, value
add register, 'value' ; Where the value is now in single quotes
В чем разница между ними?
Пока меня не разозлили, если это окажется дубликатом. Я спросил здесь, так как я точно не знаю, что в Google, чтобы ответить на этот вопрос.
value
— фактическое значение.'value'
- это символ, представляющий значение ASCII (под значением в вашем сообщении я предполагаю, что вы имеете в виду одну цифру). Итак,0
равно нулю.'0'
— это значение 0x30 (значение ASCII символа'0'
). - person lurker   schedule 04.01.2018objdump
, чтобы увидеть, в чем разница? - person fuz   schedule 04.01.2018'0' "0" `0`
— одинарные и двойные кавычки — это одно и то же, заключительная строка (т. символов, то есть`\n`
будет компилироваться как значение10
. Другие ассемблеры могут сильно отличаться по своему синтаксису. (и если вы не уверены, проверьте полученный машинный код с помощьюobjdump
или используйте файл листинга из ассемблера) - person Ped7g   schedule 04.01.2018