Я пишу свою первую программу на ассемблере, используя 16-битную сборку 8086 (MASM 5.00 в DOSBox).
Я пытаюсь прочитать аргументы командной строки из PSP , как предлагается в этом ТАК вопрос :
sti
cld
push ds
pop es
mov ah,09h
mov dx,81h
int 21h
Это выведет аргументы командной строки, если я закончу их $
, поэтому:
test param1 param2 param3$
будет print
param1 param2 param3
Я попытался завершить строку, поместив в память знак $
с
xor bx,bx
mov bl,[80h]
mov byte [bx + 81h],'$'
, но последняя строка выдает error A2011: Type illegal in context
, Я неправильно понимаю синтаксис?
Моя следующая цель - разделить строку аргумента и сохранить каждый аргумент отдельно для последующего использования (некоторые аргументы являются числовыми, поэтому мне нужно будет также преобразовать их, но я есть идеи о том, как этого добиться).
Есть ли хорошие примеры того, как это сделать? Ресурсы, которые я нашел, либо предназначены для разных архитектур ЦП, либо используют стандартные библиотеки.