Другие языки программирования и технологии
Ассемблер это машинный язык, тогда зачем его компилируют в машинный-exe-как и високоуровневи язики
У вас идиотов эмбарго на букву "Ы"? Что за "високоуровневи"? Совсем отупели? Ладно. . к сути вопроса: То как ты вводишь ассемблер - интерпретация, на самом деле то, что ты написал в текстовм редакторе должно быть приведено к байткоду или транслировано. Для этого существуют препроцессоры, создающие выполняемые файлы. К слову, замечу, не обязательно exe. Расширения у файла вообще может и и не быть, если программа не выполняется в операционной системе.
Процессор не понимает Ассемблер ему машинные коды всё подавай! Вот и приходится "компилировать".
Ассемлерный код вида:
; ---------------------------------------------
MAIN PROC NEAR
MOV AH,09 ;Выдать запрос
LEA DX,PROMPT
INT 21H
MOV AH,0AH ;Получить ввод
LEA DX,PARAMS
INT 21H
MOV AL,PARAMS.ACTLEN ;Длина ввода
с листингом:
; ---------------------------------------------
012B MAIN PROC NEAR
012B B4 09 MOV AH,09 ;Выдать запрос
012D 8D 16 011D R LEA DX,PROMPT
0131 CD 21 INT 21H
0133 B4 0A MOV AH,0AH ;Получить ввод
0135 8D 16 0102 R LEA DX,PARAMS
0139 CD 21 INT 21H
013B A0 0103 R MOV AL,PARAMS.ACTLEN ;Длина ввода
; ...
013E C3 RET
Превращаетс в понятный IBM совместимому процессору машинный код (2-5 колонки) :
012B B4 09
012D 8D 16 011D R
0131 CD 21
0133 B4 0A
0135 8D 16 0102 R
0139 CD 21
013B A0 0103 R
013E C3
Сам переведи их в двоичный машинный код в памяти (1 колонка).
; ---------------------------------------------
MAIN PROC NEAR
MOV AH,09 ;Выдать запрос
LEA DX,PROMPT
INT 21H
MOV AH,0AH ;Получить ввод
LEA DX,PARAMS
INT 21H
MOV AL,PARAMS.ACTLEN ;Длина ввода
с листингом:
; ---------------------------------------------
012B MAIN PROC NEAR
012B B4 09 MOV AH,09 ;Выдать запрос
012D 8D 16 011D R LEA DX,PROMPT
0131 CD 21 INT 21H
0133 B4 0A MOV AH,0AH ;Получить ввод
0135 8D 16 0102 R LEA DX,PARAMS
0139 CD 21 INT 21H
013B A0 0103 R MOV AL,PARAMS.ACTLEN ;Длина ввода
; ...
013E C3 RET
Превращаетс в понятный IBM совместимому процессору машинный код (2-5 колонки) :
012B B4 09
012D 8D 16 011D R
0131 CD 21
0133 B4 0A
0135 8D 16 0102 R
0139 CD 21
013B A0 0103 R
013E C3
Сам переведи их в двоичный машинный код в памяти (1 колонка).
Во-первых, ассемблер - не машинный язык, а низкоуровневый. Во-вторых, твоя ОСь должна понимать что делает программа, а не только железо.
вопрос в корне не понятен, википедия в помощь
он не комп если что так !))
во 1
во 2 там нужно делать 3 процедуры чтобы это произвести
А всё для того чтобы найти ошибку
сам его сейчас учу
во 1
во 2 там нужно делать 3 процедуры чтобы это произвести
А всё для того чтобы найти ошибку
сам его сейчас учу
Похожие вопросы
- Как создается машинный язык и как он работает???
- Почему нету единого языка программирования чей компилятор компилирует код на любой выбранный язык?
- Какой язык является непосредственным машинным языком?
- А есть ещё люди, которые в состоянии сегодня написать программу на машинном языке? Не "Hello world!", а что-то хоть мало
- Возможно ли научиться программировать на машинном языке, типа 0101001101001..? Какие плюсы и минусы?
- что такое ассемблер? более доступным языком объясните пожалуйста
- Подойдет ли ассемблер как первый язык программирования?
- Вопрос из разряда компиляторов. На С++ написан код, генерирующий машинный код из команд на языке ассемблер.
- Вопрос по изучению языка Ассемблера под MS DOS. (Нужны советы по программному обеспечению/программированию)
- Почему здесь нет языка программирования ассемблер?