var:db ?
и просто mov-ить в неё нужные значения, но компиль выдает
error: invalid combination of opcode and operands
Как это сделать?
покажи весь код
BITS 16 ; <= Compiler options. Compile to .bin file extension org 0x7c00 ; <= Reserve RAM address jmp main ; <= Jmp to entry point main: ; <= Entry point mov var, 26h ; <= Mov to var hex code & mov ah, 0x0e ; <= Set the text print mode mov bh, 0x02 ; <= Set screen and text parameters mov bl, 0x02 ; <= Set screen and text parameters mov al, var ; <= Mov var to AL int 10h ; <= Calling 10h interrupt var:db ? ; <= Variable var
похоже 1) MOV VAR, 26h компилятор не может понять размер аргумента байт слово или двойное слово ибо переменная VAR определена ниже. нужен ключ двух проходной компиляци 2) компилятор пытается Сишную нотацию записи Hex чисел 0х0е трактовать как переменные
чем компилишь?
nasm-ом nasm OS.asm -f bin -o OS.bin
Ты по чему учишь-то или как?
с отдельных частей всё сам придумываю
Лучше что-нибудь нормальное почитай...
за тебя уже все придумали раньше. тебе просто надо это прочитать. да и учебных примеров загрузчиков масса, школьники на ютуб выкладывают даже
... mov [var], 26h ... mov al, [var]
спасибо, помогло
С чего это такой странный парсинг, имена переменных обычно нельзя с чисел начинать
По логике, проверить синтаксис 😃 Может, там без ":" нужно написать, хз 😁
Обсуждают сегодня