저급 프로그래밍 언어저급 프로그래밍 언어(低級 프로그래밍 言語) 또는 로우 레벨 프로그래밍 언어(low-level programming language)란 컴퓨터가 이해하기 쉽게 작성된 프로그래밍 언어로, 일반적으로 기계어와 어셈블리어를 일컫는다. 실행속도가 매우 빠르지만 배우기가 어려우며 유지보수가 힘든 것이 단점이다. 현재는 특수한 경우가 아니면 사용되지 않는다. 저급언어와 반대되는 것으로 고급 프로그래밍 언어가 있다. 기계어기계어는 특별한 변환 과정 없이 컴퓨터가 직접 처리할 수 있는 유일한 언어이다. 현재 프로그래머들은 대개 기계어로 직접 프로그램을 작성하지는 않는데 그 까닭은 고급 언어가 자동으로 다루는 수많은 세부 사항들을 신경써야 하기 때문이다. 모든 명령마다 수많은 코드를 기억하고 찾아야 하고, 수정하기 또한 매우 어렵다. 아래는 n번째 피보나치 수를 계산하는 32비트 x86 기계어를 표현한 16진 기능의 예이다: 8B542408 83FA0077 06B80000 0000C383 FA027706 B8010000 00C353BB 01000000 C9010000 008D0419 83FA0376 078BD98B B84AEBF1 5BC3 어셈블리어2세대 언어는 기계어 최상단에 추상적인 수준을 제공한다. TX-0, PDP-1과 같은 컴퓨터들을 이용하여 코딩하던 과거에는 MIT 해커들이 했던 최초의 일은 어셈블러를 작성하는 일이었다.[1] 대부분의 어셈블러는 매크로를 제공하므로 공통이 되는 일련의 명령들을 만들어낼 수 있다. 아래는 상단의 피보나치 수 계산기와 동일하지만, MASM 문법을 이용하여 x86 어셈블리어로 표현한 것이다: fib:
mov edx, [esp+8]
cmp edx, 0
ja @f
mov eax, 0
ret
@@:
cmp edx, 2
ja @f
mov eax, 1
ret
@@:
push ebx
mov ebx, 1
mov ecx, 1
@@:
lea eax, [ebx+ecx]
cmp edx, 3
jbe @f
mov ebx, ecx
mov ecx, eax
dec edx
jmp @b
@@:
pop ebx
ret
동일 기능을 C로 나타내면 다음과 같다: unsigned int fib(unsigned int n)
{
if (n <= 0)
return 0;
else if (n <= 2)
return 1;
else {
unsigned int a,b,c;
a = 1;
b = 1;
while (1) {
c = a + b;
if (n <= 3) return c;
a = b;
b = c;
n--;
}
}
}
같이 보기각주
|
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve
Portal di Ensiklopedia Dunia