Amaliy mashg’ulot №7-8
Assembler tili
Protsessor va RAM
Hammangizga ma'lumki, kompyuter miyasi - protsessor. U kompyuter ichida sodir bo'lgan barcha jarayonlarni boshqaradi.
protsessor kompyuterdagi barcha qurilmalar va jarayonlarni boshqaradi
Protsessor rus, ingliz va boshqa tillarni tushunmaydi. U o'zi uchun oddiy buyruqlar bo'lgan raqamlarni tushunadi, masalan: xotiradan ba'zi ma'lumotlarni oling, ba'zi ma'lumotlarni qo'shing va hokazo.
Protsessor ko'plab buyruqlarni biladi va ularning har biri o'z raqamli kodiga ega, masalan:
35 - ma'lumotlarni bir xotira joyidan boshqasiga nusxalash
48 - 2 ta raqamni qo'shing
12 - mantiqiy operatsiyani bajarish yoki (yoki)
Protsessorda muhandislar tomonidan tuzilgan barcha ko'rsatmalar va ularning raqamli kodlari to'plami protsessor arxitekturasi deb ataladi. Bu apparat arxitekturasi emas, balki dasturiy ta'minotdir. Har bir protsessor ishlab chiqaruvchisi o'zining arxitekturasini yaratadi. Bu shuni anglatadiki, bir xil buyruq turli protsessorlarda har xil raqamli kodlarga ega bo'ladi.
Shunday qilib, protsessor kichik raqamli ko'rsatmalarni bajarishi mumkin. Ammo ularni qaerdan oladi? Operativ xotiradan. RAMni juda ko'p kichik hujayralar deb tasavvur qiling. Har bir hujayraning o'ziga xos manzili bor - bu oddiy raqam, masalan 2001 yil. Yacheykaning manzilida protsessor ma'lumotlarni so'rashi mumkin va RAM ularni qaytarib beradi. Shuningdek, protsessor ushbu katakchaga yangi ma'lumotlarni yozishi mumkin.
Protsessor uchun ko'rsatmalar xotira yacheykasida saqlanadi. Ammo ular raqamli ravishda ifodalanishi mumkin bo'lgan har qanday boshqa ma'lumotlarni saqlashi mumkin, masalan: harflar, rasmlar, musiqa yoki videolar.
Protsessor RAMga yacheykaning manziliga murojaat qiladi, operativ xotira unga ushbu yacheykadan buyruq qaytaradi, protsessor buyruqni bajaradi. Keyin protsessor yana xotiraga kiradi (boshqa yacheykaga), buyruq oladi, uni bajaradi va bu sikl qayta-qayta takrorlanadi. Ya'ni, protsessor har doim berilgan buyruqlar ketma-ketligini (raqamli kodlar) bajaradi. Ushbu ko'rsatmalar ketma-ketligi mashina kodi deb nomlanadi.
Protsessorni qandaydir dasturni bajarishga majbur qilish uchun, masalan, 2 + 2 * 2 tenglamani echish uchun, biz oddiy raqamli ko'rsatmalar zanjirini yozishimiz kerak.
Buni osonlashtirish uchun odamlar Assembler vositasi va Assembler dasturlash tili bilan tanishdilar.
Endi protsessor buyruqlarining barcha raqamli kodlari harflar bilan qisqartirilgan bo'lib, eslab qolish va o'qish osonlashdi.
Yuqorida sanab o'tilgan buyruq kodlari endi shunday ko'rinadi:
MOV (raqamli kod 35) - ma'lumotlarni bitta xotira joyidan boshqasiga nusxalash
ADD (raqamli kod 48) - 2 ta raqam qo'shing
ORL (raqamli kod 12) - mantiqiy OR yoki (yoki) operatsiyani bajarish
Shuningdek, buyruqlar nomiga buyruqlar bajarilishi uchun qo'shimcha ma'lumot beradigan operandlar (bir yoki bir nechtasi) qo'shilgan.
"Hello, World!" Iborasini chiqaradigan assembler dasturining misoli
section .text
global_start
_start:
mov edx,len // qator uzunligi
mov ecx,msg // yozilayotgan habarga ishora
mov ebx,0// xato yo’q
int 0x80 // buyruqni uzish signali
mov eax,1 // chiqish = exit
int 0x80
section .data
msg db 'Hello, world!', 0xA // yangi qator
len equ $ - msg
Do'stlaringiz bilan baham: |