
Ассе́мблер (от англ. assembler — сборщик) — транслятор программы из текста на языке ассемблера, в программу на машинном языке.
Как и сам язык, ассемблеры, как правило, специфичны для конкретной архитектуры, операционной системы и варианта синтаксиса языка, поскольку работают с мнемониками машинных инструкций определённого процессора. Вместе с тем, ассемблеры могут быть мультиплатформенными или вовсе универсальными, то есть работать на разных платформах и операционных системах. Среди ассемблеров можно также выделить группу кросс-ассемблеров, имеющих возможность собирать машинный код и исполняемые модули (файлы) для архитектур, отличных от архитектуры и/или операционной системы, в которых работает сам ассемблер (например, трансляция программы для микроконтроллера ассемблером, работающим на компьютере).
В Викисловаре есть статья «макроассемблер»
Многие современные ассемблеры являются макроассемблерами (от греч. μάκρος — большой, обширный), то есть макропроцессорами на базе языка ассемблера[1]. Кроме макросов, ассемблеры при трансляции выполняют другие директивы, набор которых зависит не от аппаратной платформы, для которой транслируется программа, а от самого используемого транслятора.
Ассемблирование может быть не первым и не последним этапом на пути получения исполнимого модуля программы. Так, многие компиляторы с языков программирования высокого уровня выдают результат в виде программы на языке ассемблера, которую в дальнейшем обрабатывает ассемблер. В свою очередь, результатом ассемблирования может быть не исполняемый, а объектный модуль, содержащий разрозненные блоки машинного кода и данных программы, из которого (или из нескольких объектных модулей) в дальнейшем с редактора связей (линкера) может быть получен исполняемый файл.
В отличие от компиляции программ на языках высокого уровня, ассемблирование является более или менее однозначным и обратимым процессом, поскольку в языке ассемблера каждой мнемонике соответствует одна машинная инструкция, в то время как в высокоуровневых языках каждое выражение может преобразовываться в большое число различных инструкций (операция, обратная ассемблированию, называется дизассемблированием). Трансляцию ассемблерных программ иногда также называют компиляцией.
Объяснение:
а) (x >= 0) or (y * y <> 4)
(1>=0) или (2*2<>4)= в первом случает 1 , во втором 0. Логическое или это сложение. 1+0=1
б) (x * y <> 0) and (x > y)
(1*2<>0) и (1>2)= в первом случает 1 , во втором 0. Логическое и это умножение . 1*0=0
в) (not(x * y > 0))and (y > x)
не (1*2>0) и (2>1)=в первом случает 0 , во втором 1. Логическое и это умножение . 0*1=0
а) (x >= 0) and (y * y <> 4)
(1>=0) и (2*2<>4) =в первом случает 1 , во втором 0. Логическое и это умножение . 1*0=0
б) (x * y <> 0) or (x < y)
(1*2<>0) или (1<2) =в первом случает 1 , во втором 1. Логическое или это сложение. 1+1=1
в) (not(x * y < 0))or (y < x)
не (1*2<0) или (2<1) =в первом случает 1 , во втором 0. Логическое или это сложение. 1+0=1