Я ненавижу задавать такие элементарные вопросы. Это выглядит так, как будто я ленивый! Но я часами просматривал документацию, и по какой-то причине у меня не закружилась голова по этому маленькому вопросу.
Я хочу вывести на экран символ "4". Я могу сделать это как строку, но не из значения ascii.
Вот рабочий код:
include c:\masm32\include\masm32rt.inc
.data
num4 db "4", 10,0
.code
start:
invoke StdOut, addr num4
inkey
invoke ExitProcess, 0
end start
Я просто хотел сделать маленький шаг оттуда и напечатать 52-й символ ascii (то есть «4»). Вот моя лучшая попытка:
include c:\masm32\include\masm32rt.inc
.data
.code
start:
myvar db 52
invoke StdOut, myvar
inkey
invoke ExitProcess, 0
end start
Он собирается и связывается без проблем, но затем вылетает, когда я его запускаю. Я знаю, что в конце нет символа 0, но invoke StdOut, myvar,0
имеет слишком много аргументов для StdOut.
Моя конечная цель - напечатать многозначное число, как описано Алексеем Фрунзе здесь:
сборка x86 (masm32) - как разделить многозначные данные на отдельные символы
Но так как у меня так много проблем с синтаксисом, я делаю маленькие шаги. Я нашел это, но это не объясняет, как синтаксически добавить часть 48:
сборка x86 - как показать целое число 2, а не второй символ ASCII
Пожалуйста, помогите мне преодолеть эти начальные препятствия, и спасибо!