Blog ini memberikan informasi tentang komputer dan download ebook gratis

PENGENALAN BAHASA ASSEMBLER

Pusat prosesor
Bagian ini adalah juga dikenal sebagai unit pemroses sentral atau CPU, yang pada gilirannya dibuat oleh unit kontrol dan unit aritmatika dan logika. Nya
fungsi terdiri dalam membaca dan menulis isi sel memori
untuk meneruskan data antara sel memori dan khusus Register, dan decode dan
melaksanakan instruksi dari sebuah program. Prosesor memiliki serangkaian memori
sel-sel yang digunakan sangat sering dan dengan demikian, adalah bagian dari CPU. Sel-sel
dikenal dengan nama Register. Prosesor yang mungkin memiliki satu atau dua
lusin register ini. Aritmatika dan logika unit CPU
menyadari operasi terkait dengan perhitungan simbolis dan numerik.
Biasanya unit ini hanya memiliki kapasitas melakukan sangat elemental
operasi seperti: penambahan dan pengurangan dua bilangan bulat,
Bilangan perkalian dan divisi, penanganan bit register'
dan perbandingan isi dari dua Register. Komputer pribadi dapat
digolongkan oleh apa yang dikenal sebagai ukuran kata, ini adalah, jumlah bit
yang prosesor dapat menangani pada suatu waktu.

Pusat memori
Itu adalah sekelompok sel-sel, yang sekarang sedang dibuat dengan semi konduktor, digunakan untuk
proses yang umum, seperti pelaksanaan program dan penyimpanan
informasi untuk operasi.Masing-masing sel-sel ini mungkin berisi nilai numerik dan mereka memiliki
Properti menjadi addressable, ini adalah, bahwa mereka dapat membedakan satu
dari yang lain dengan menggunakan nomor unik atau alamat untuk setiap sel.

Nama generik kenangan ini adalah memori akses acak atau RAM. Kelemahan utama dari jenis memori adalah bahwa kehilangan sirkuit terpadu
informasi mereka telah disimpan ketika aliran listrik terganggu.
Ini adalah alasan untuk menciptakan kenangan informasi yang
kehilangan ketika sistem dimatikan. Kenangan ini menerima nama dibaca
Hanya memori atau ROM.

Input dan Output unit

Agar komputer untuk menjadi berguna untuk kita sangatlah penting bahwa
prosesor berkomunikasi dengan eksterior melalui antarmuka yang memungkinkan
input dan output dari informasi dari prosesor dan memori. Melalui
penggunaan komunikasi ini sangat mungkin untuk memperkenalkan informasi
diproses dan untuk kemudian memvisualisasikan data diproses.

Beberapa unit masukan yang paling umum adalah keyboard dan mouse. Yang paling
Umum output unit adalah layar dan printer.

Unit memori tambahan

Karena memori pusat komputer mahal, dan mengingat hari ini
aplikasi ini juga sangat terbatas. Dengan demikian, kebutuhan untuk menciptakan praktis dan
sistem penyimpanan ekonomis informasi muncul. Selain itu, memori utama
kehilangan isinya ketika mesin dimatikan, membuat
nyaman untuk penyimpanan permanen data.

Ini dan ketidaknyamanan lainnya memberikan tempat bagi penciptaan perifer
unit memori yang menerima nama memori tambahan atau sekunder. Dari
ini yang paling umum adalah kaset dan disk magnetik.

Informasi yang tersimpan pada media magnetik ini berarti menerima nama file. File ini terbuat dari sejumlah variabel Register, umumnya dari tetap
ukuran; Register yang mungkin berisi informasi atau program.

mengkonversi Bilangan Biner desimal

Ketika bekerja dengan bahasa assembly kami datang pada perlunya mengkonversi
angka dari sistem biner, yang digunakan oleh komputer, sampai desimal
sistem yang digunakan oleh orang-orang.

Sistem biner didasarkan pada hanya dua kondisi atau negara, baik on(1) atau
off(0), sehingga basis adalah dua.

Untuk konversi, kita dapat menggunakan rumus nilai posisi:

Sebagai contoh, jika kita memiliki jumlah biner 10011, kita mengambil setiap digit dari
kanan ke kiri dan kalikan dengan basis, ditinggikan kepada posisi baru
mereka adalah:

Binary: 1 1 0 0 1

Desimal: 1 * 2 ^ 0 + 1 * 2 ^ 1 + 0 * 2 ^ 2 + 0 * 2 ^ 3 + 1 * 2 ^ 4

= 1 + 2 + 0 + 0 + 16 = 19 desimal.

^ Karakter yang digunakan dalam perhitungan sebagai simbol eksponen dan *
karakter yang digunakan untuk mewakili perkalian.

Mengkonversi angka desimal biner

Ada beberapa metode untuk mengkonversi angka desimal ke biner; hanya satu
akan dianalisa di sini. Alami konversi dengan Kalkulator Ilmiah
jauh lebih mudah, tapi satu tidak dapat dihitung selalu dengan satu, sehingga nyaman
setidaknya tahu satu formula untuk melakukannya.

Metode yang akan dijelaskan menggunakan Divisi berturut-turut dari dua,
menjaga residu sebagai digit biner dan hasil sebagai nomor berikutnya untuk
membagi.

Mari kita ambil contoh angka desimal 43.

43/2 = 21 dan residu yang 1

21/2 = 10 dan residu yang 1

10/2 = 5 dan residu yang adalah 0

5/2 = 2 dan residu yang 1

2/2 = 1 dan residu yang adalah 0

1/2 = 0 dan residu yang 1

Bangunan nomor dari bawah, kita mendapatkan bahwa hasil biner yang
101011

sistem heksadesimal

Pada dasar heksadesimal kami memiliki 16 digit yang pergi dari 0 hingga 9 dan dari
huruf A sampai F, Surat-surat ini mewakili angka-angka dari 10-15. Dengan demikian
kita menghitung 0,1,2,3,4,5,6,7,8,9, A, B, C, D, E dan F.

Konversi antara Bilangan Biner dan heksadesimal mudah. Yang pertama
hal yang dilakukan untuk melakukan konversi nomor biner heksadesimal adalah
membagi dalam Grup 4 bit, mulai dari kanan ke kiri. Dalam kasus
kelompok terakhir, orang kebanyakan ke kiri, adalah di bawah 4 bit, hilang
tempat penuh dengan nol.

Mengambil sebagai contoh biner jumlah 101011, kami membaginya dalam 4 bit
kelompok dan kita yang tersisa dengan:

10; 1011

Mengisi kelompok terakhir dengan zeros (satu dari kiri):

0010; 1011

Setelah itu kita mengambil setiap kelompok sebagai nomor independen dan kita mempertimbangkan nya
desimal nilai:

0010 = 2; 1011 = 11

Tapi karena kami tidak mewakili bilangan heksadesimal ini sebagai 211 karena itu
akan menjadi sebuah kesalahan, kita harus mengganti nilai-nilai lebih besar dari 9 oleh
mereka masing-masing representasi dalam heksadesimal, dengan mana kita memperoleh:

2BH, mana H mewakili dasar heksadesimal.

Untuk mengkonversi sejumlah heksadesimal ke biner hal ini hanya diperlukan untuk
balikkan langkah-langkah: digit heksadesimal pertama diambil dan dikonversi ke
biner, dan kemudian yang kedua, dan seterusnya.

2.2.2 metode representasi data di komputer.

Kode 2.2.2.1.ASCII
2.2.2.2 metode BCD
2.2.2.3 floating point representasi

2.2.2.1 Kode ASCII

ASCII merupakan akronim dari Amerika standar kode untuk pertukaran informasi.
Kode ini menetapkan huruf abjad, angka desimal dari 0 hingga 9
dan beberapa tambahan simbol biner jumlah bit 7, meletakkan sedikit 8
dalam keadaan off atau 0. Dengan cara ini setiap huruf, digit atau karakter khusus
menempati satu byte di memori komputer.

Kita dapat mengamati bahwa metode ini representasi data sangat tidak efisien
pada aspek numerik, karena dalam format binari satu byte ini tidak cukup untuk
mewakili angka dari 0 hingga 255, tapi di sisi lain dengan Kode ASCII
satu byte mungkin mewakili hanya satu digit. Karena inefisiensi ini, ASCII
kode terutama digunakan dalam memori untuk mewakili teks.


2.2.2.2 metode BCD

BCD adalah akronim biner Coded desimal. Dalam kelompok-kelompok notasi ini 4
bit yang digunakan untuk mewakili setiap angka desimal dari 0 hingga 9. Dengan metode ini
kami dapat mewakili dua digit per byte informasi.

Bahkan ketika metode ini jauh lebih praktis untuk nomor perwakilan di
memori dibandingkan dengan Kode ASCII, itu masih kurang praktis daripada
biner karena dengan metode BCD kita dapat hanya mewakili angka dari 0 untuk 99.
Di sisi lain dalam biner format kami dapat mewakili semua angka dari 0 sampai
255.

Format ini terutama digunakan untuk mewakili angka-angka yang sangat besar di mercantile
aplikasi karena itu memfasilitasi operasi menghindari kesalahan.

2.2.2.3 floating point representasi

Representasi ini didasarkan pada notasi ilmiah, ini adalah, untuk mewakili
nomor dalam dua bagian: basis dan eksponen yang.

Sebagai contoh, nomor 1234000, dapat diwakili sebagai 1.123 * 10 ^ 6, dalam
notasi ini terakhir eksponen yang menunjukkan kepada kita jumlah ruang yang
titik desimal harus pindah ke kanan untuk mendapatkan hasil awal.

Dalam kasus eksponen yang adalah negatif, itu akan menjadi menunjukkan kepada kita nomor
Ruang bahwa titik desimal harus dipindahkan ke kiri untuk mendapatkan
hasil awal.

CPU register

CPU memiliki 4 internal Register, masing-masing dari 16 bit. Empat pertama, kapak,
BX, CX dan DX adalah penggunaan umum register dan juga dapat digunakan sebagai8 bit
Register, jika digunakan sedemikian rupa perlu untuk merujuk kepada mereka untuk
contoh sebagai: AH dan AL, yang tinggi dan rendah byte AX Register.
Nama ini juga berlaku untuk register BX, CX dan DX.

Register yang dikenal dengan nama tertentu:

AX akumulator
Daftar BX Base
Daftar CX menghitung
DX Data registrasi
DS Data segmen mendaftar
ES tambahan segmen mendaftar
SS baterai segmen mendaftar
CS kode segmen mendaftar
Petunjuk dasar BP mendaftar
SI sumber indeks daftar
Daftar indeks DI Destiny
Daftar pointer SP baterai
IP berikutnya instruksi pointer mendaftar
Daftar bendera F

debug program

Untuk membuat sebuah program dalam assembler ada dua pilihan, yang pertamaadalah dengan menggunakan
TASM atau Turbo Assembler, Borland, dan yang kedua adalah dengan menggunakan
debugger - pada bagian pertama ini kita akan menggunakan satu terakhir ini karena
ditemukan di setiap PC dengan MS-DOS, yang membuatnya tersedia untuk setiappengguna yang
memiliki akses ke sebuah mesin dengan karakteristik ini.

Debug hanya dapat membuat file dengan ekstensi .COM, dan karena
Karakteristik program semacam ini mereka tidak dapat lebih besar bahwa 64
KB, dan mereka juga harus mulai dengan memori perpindahan, offset, atau 0100H
Arah dalam segmen tertentu.

Debug menyediakan seperangkat perintah yang memungkinkan Anda melakukansejumlah berguna
operasi:

Petunjuk simbolis berkumpul ke kode mesin
D menampilkan isi dari daerah memori
E memasukkan data ke dalam memori, dimulai pada lokasi tertentu
G menjalankan executable program di memori
N nama program
Melanjutkan P, atau melaksanakan serangkaian instruksi terkait
Q keluar dari program debug
R menampilkan isi dari satu atau lebih register
T melacak isi dari satu instruksi
Kode mesin U terurai menjadi simbol kode
W menulis sebuah program ke disk

Mungkin untuk memvisualisasikan nilai-nilai register internal CPU
menggunakan Debug program. Untuk mulai bekerja dengan Debug, ketik berikut
prompt di komputer Anda:

C: / > Debug [Enter]

Di baris berikutnya dash akan muncul, ini adalah indikator Debug, di
saat ini petunjuk Debug dapat diperkenalkan menggunakan berikut
perintah:

-r [Enter]

AX = 0000 BX = 0000 CX = 0000 DX = 0000 SP = FFEE BP = 0000 SI = 0000 DI = 0000
DS = 0D 62 ES = 0D 62 SS = 0D 62 CS = 0D 62 IP = 0100 NV EI PL NZ NA PO NC
0 D 62:0100 2E CS:
0 D 62:0101 803ED3DF00 CMP BYTE PTR [DFD3], 00 CS:DFD3 = 03

Semua isi register internal CPU ditampilkan; an
alternatif melihat mereka adalah dengan menggunakan perintah "r" menggunakansebagai parameter
nama daftar nilai yang ingin dilihat. Sebagai contoh:

-rbx
BX 0000
:

Instruksi ini hanya akan menampilkan isi dari BX register dan
Debug indikator perubahan dari "-"untuk":"

Ketika perintah seperti ini, mungkin untuk mengubah nilai
Daftar yang dipandang dengan mengetikkan nilai baru dan [Enter], atau
nilai dapat dibiarkan dengan menekan [Enter] tanpa mengetik nilai lainnya.

Struktur assembler

Dalam kode bahasa assembly baris memiliki dua bagian, pertama adalah nama
perintah yang akan dieksekusi, dan kedua
parameter perintah. Sebagai contoh:
Tambahkan ah bh

Di sini "Tambah" adalah perintah akan dieksekusi, Selain itu hal ini, dan
"ah" serta "bh" adalah parameter.

Sebagai contoh:

MOV al, 25

Dalam contoh di atas, kita menggunakan instruksi mov, itu berarti bergerak
nilai 25 al Register.

Nama petunjuk dalam bahasa ini terbuat dari dua, tiga atau
empat surat. Petunjuk ini juga disebut asoned nama atau
operasi kode, karena mereka mewakili fungsi prosesor akan
melakukan.

Kadang-kadang petunjuk digunakan sebagai berikut:

Tambahkan al, [170]

Kurung di parameter kedua menunjukkan kepada kita bahwa kita akan
bekerja dengan isi nomor sel memori 170 dan tidak dengan 170
nilai, ini dikenal sebagai langsung menangani.

membuat program dasar assembler

Langkah pertama adalah untuk memulai Debug, langkah ini hanya terdiri darimengetik
debug [Enter] pada prompt sistem operasi.

Untuk merakit sebuah program pada Debug, "" (berkumpul) perintah ini digunakan;
Ketika perintah ini digunakan, alamat mana Anda ingin perakitan untuk
mulai dapat diberikan sebagai parameter, jika parameter dihilangkan
perakitan akan dimulai di wilayah yang ditetapkan oleh CS:IP, biasanya
0100h, yang merupakan wilayah mana program dengan ekstensi .COM harus
dimulai. Dan itu akan menjadi tempat yang kita akan menggunakan karena Debughanya dapat membuat
jenis tertentu dari program.

Meskipun saat ini sudah tidak perlu memberikan perintah ""
parameter, hal ini dianjurkan untuk melakukan sehingga untuk menghindari masalahsekali CS:IP
Register yang digunakan, karena itu kita ketik:

100 [enter]
MOV kapak, 0002 [enter]
MOV bx, 0004 [enter]
Tambahkan kapak, bx [enter]
Nop [enter] [enter]

Apa program lakukan?, memindahkan nilai 0002 ax register, bergerak
nilai 0004 bx daftar, tambahkan isi register kapak dan bx,
instruksi, tidak ada operasi, untuk menyelesaikan program.

Dalam debug program. Setelah untuk melakukan ini, muncul di layar beberapa seperti
Ikuti jalur:

C:\>debug
-100
0D 62:0100 mov kapak, 0002
0D 62:0103 mov bx, 0004
0D 62:0106 menambahkan kapak, bx
0 D 62:0108 nop
0 D 62:0109

Ketik perintah "t" (jejak), untuk melaksanakan setiap instruksi dari program ini,
Contoh:

-t

AX = 0002 BX = 0000 CX = 0000 DX = 0000 SP = FFEE BP = 0000 SI = 0000 DI = 0000
DS = 0D 62 ES = 0D 62 SS = 0D 62 CS = 0D 62 IP = 0103 NV EI PL NZ NA PO NC
0D 62:0103 BB0400 MOV BX, 0004

Anda melihat bahwa nilai 2 pindah ke AX mendaftar. Ketik perintah "t" (jejak),
sekali lagi, dan Anda melihat instruksi kedua dieksekusi.

-t

AX = 0002 BX = 0004 CX = 0000 DX = 0000 SP = FFEE BP = 0000 SI = 0000 DI = 0000
DS = 0D 62 ES = 0D 62 SS = 0D 62 CS = 0D 62 IP = 0106 NV EI PL NZ NA PO NC
0D 62:0106 01D 8 MENAMBAHKAN KAPAK, BX

Tipe perintah "t" (jejak) untuk melihat instruksi menambahkan dijalankan, Anda
akan melihat baris berikut:

-t

AX = 0006 BX = 0004 CX = 0000 DX = 0000 SP = FFEE BP = 0000 SI = 0000 DI = 0000
DS = 0D 62 ES = 0D 62 SS = 0D 62 CS = 0D 62 IP = 0108 NV EI PL NZ NA PE NC
D 0 62:0108 90 NOP

Ada kemungkinan bahwa register berisi nilai-nilai yang berbeda, tapi AX
dan BX harus sama, karena mereka adalah orang-orang yang kami hanya diubah.

Untuk keluar Debug menggunakan perintah "q" (keluar).

Menyimpan dan memuat program

Itu akan tidak praktis untuk mengetik seluruh program setiap kali itu
diperlukan, dan untuk menghindari hal ini dimungkinkan untuk menyimpan sebuah program pada disk,
dengan keuntungan besar yang dengan menjadi sudah berkumpul itu tidak akan
diperlukan untuk menjalankan Debug lagi untuk menjalankannya.

Langkah-langkah untuk menyimpan program yang sudah disimpan pada memori adalah:

Mendapatkan panjang program mengurangkan alamat akhir
dari alamat awal, secara alami dalam sistem heksadesimal.
Memberikan program nama dan ekstensi.
Mengenakan panjang program CX register.
Memesan Debug untuk menulis program pada disk.

Dengan menggunakan sebagai contoh program berikut, kita akan memiliki gagasan yang jelas
Bagaimana untuk mengambil langkah-langkah berikut:

Ketika program akhirnya berkumpul itu akan terlihat seperti ini:

0C1B:0100 mov kapak, 0002
0C1B:0103 mov bx, 0004
0C1B:0106 menambahkan kapak, bx
0C1B:0108 int 20
0C1B:010A

Untuk mendapatkan panjang program "h" perintah ini digunakan, karena itu akan
menunjukkan kepada kita penambahan dan pengurangan jumlah dua dalam heksadesimal. Untuk
mendapatkan panjang kita, kita memberikannya sebagai parameter nilai kami
Alamat akhir program (10A), dan alamat awal program (100). The
perintah menunjukkan hasil yang pertama adalah penambahan parameter dan
kedua adalah pengurangan.

-h 10a 100
020A 000a

Perintah "n" memungkinkan kita untuk nama program.

test.com - n

Perintah "rcx" memungkinkan kita untuk mengubah isi CX mendaftar untuk
nilai kami memperoleh dari ukuran file dengan "h", dalam hal ini 000a,
sejak hasil dari pengurangan alamat akhir dari awal
Alamat.

-rcx
CX 0000
: 000a

Terakhir, perintah "w" menulis program kami pada disk, menunjukkan berapa banyak
byte aja.

-w
Menulis 000A byte

Untuk menyimpan file sudah dimuat dua langkah diperlukan:

Beri nama berkas yang akan dimuat.
Beban dengan menggunakan perintah "l" (load).

Untuk mendapatkan hasil yang benar dari langkah-langkah berikut, sangatlah penting bahwa
program di atas sudah dibuat.

Di dalam Debug kita menulis berikut:

test.com - n
-l
-u 100 109
0C3D:0100 B80200 MOV KAPAK, 0002
0C3D:0103 BB0400 MOV BX, 0004
0C3D:0106 01D 8 TAMBAH KAPAK, BX
0C3D:0108 CD20 INT 20

Perintah "u" terakhir digunakan untuk memverifikasi bahwa program dimuat pada
memori. Apa yang dilakukannya adalah bahwa disassembles kode dan menunjukkan hal itu
dibongkar. Parameter menunjukkan untuk Debug dari mana dan ke mana untuk
membongkar.

Debug selalu memuat program pada memori pada alamat 100H, sebaliknya

Perangkat lunak yang diperlukan

Agar dapat membuat program, beberapa alat yang diperlukan:

Pertama editor untuk membuat program sumber. Kedua compiler, yang
tidak lebih dari sebuah program yang "diterjemahkan" program sumber ke dalam
program objek. Dan ketiga, linker yang menghasilkan executable program
dari program objek.

Editor dapat editor teks apapun di tangan, dan sebagai sebuah kompiler kita akanmenggunakan
TASM macro assembler dari Borland, dan sebagai linker yang kita akan menggunakan
TLINK program.

Ekstensi yang digunakan sehingga TASM mengakui program sumber dalam assembler
adalah. ASM; setelah diterjemahkan sumber program, TASM menciptakan sebuah filedengan
The. Ekstensi OBJ, file ini berisi "menengah format"
program, yang disebut seperti ini karena hal tersebut tidak runnable belum tetapitidak
program dalam bahasa sumber baik lagi. Menghasilkan linker, dari
OBJ atau kombinasi dari beberapa file ini, sebuah program yang dapat dijalankan,
ekstensi yang biasanya adalah. EXE meskipun juga dapat .COM, tergantung
bentuk ini berkumpul.

assembler pemrograman

Untuk membangun assembler program menggunakan TASM program adalah sebuahprogram yang berbeda
struktur daripada dari menggunakan debug program.

Sangat penting untuk memasukkan arahan assembler berikut:

MODEL KECIL
Assembler direktif yang mendefinisikan memori model untuk digunakan dalamprogram

KODE
Assembler direktif yang mendefinisikan program petunjuk

TUMPUKAN
Assembler direktif yang cadangan ruang memori untuk program petunjuk
dalam tumpukan

AKHIR
Assembler direktif yang selesai assembler program

Mari kita program

Langkah pertama

Gunakan editor program untuk membuat file sumber. Ketik baris berikut:

Contoh pertama

Gunakan; untuk menempatkan komentar dalam assembler program
MODEL KECIL; memori model
TUMPUKAN; ruang memori untuk program petunjuk dalam tumpukan
KODE ETIK INI; baris berikut adalah petunjuk program
MOV ah, 1h; bergerak nilai 1h untuk mendaftar ah
MOV cx, 07h; bergerak nilai 07h untuk mendaftar cx
Int 10h; 10h gangguan
MOV ah, 4ch; bergerak nilai 4 ch untuk mendaftar ah
int 21h; 21h gangguan
AKHIR; selesai kode program

Program assembler ini akan mengubah ukuran kursor komputer.

Langkah kedua

Simpan file dengan nama berikut: examp1.asm
Jangan lupa untuk menyimpan ini dalam ASCII format.

Langkah ketiga

Menggunakan TASM program untuk membangun objek program.

Contoh:

C:\>TASM exam1.asm
Turbo Assembler versi 2.0 Copyright (c) 1988, 1990 Borland internasional

Assembling file: exam1.asm
Pesan kesalahan: tidak ada
Pesan peringatan: None
Tiket: 1
Sisa memori: 471k

TASM hanya dapat membuat program. OBJ format, yang tidak dapat dijalankan
sendiri, melainkan itu adalah perlu untuk memiliki linker yang menghasilkan
kode yang dapat dijalankan.

Langkah keempat

Menggunakan TLINK program untuk membangun executable program contoh:

C:\>TLINK exam1.obj
Turbo Link versi 3.0 Copyright (c) tahun 1987, 1990 Borland internasional

C:\ >

Exam1.obj adalah nama program menengah,. obj ini
menghasilkan file langsung dengan nama program menengah dan
Ekstensi EXE.

Langkah kelima

Mengeksekusi executable program

C:\>exam1[Enter]

Ingat, program assembler ini mengubah ukuran kursor.

Proses perakitan.

Segmen
Tabel simbol

SEGMEN

Arsitektur x 86 prosesor memaksa penggunaan memori segmen
untuk mengelola informasi, ukuran segmen tersebut adalah 64kb.

Alasan yang segmen ini adalah bahwa, mengingat yang maksimum
ukuran dari jumlah prosesor dapat mengatur diberikan oleh kata-kata 16
bit atau daftar, itu tidak akan mungkin untuk mengakses lebih dari 65536
pemukiman memori menggunakan hanya salah satu dari daftar ini, tapi sekarang, jika
Memori PC dibagi menjadi kelompok-kelompok atau segmen, setiap salah satu 65536
pemukiman, dan kami menggunakan alamat register eksklusif untuk menemukanmasing-masing
segmen, dan kemudian kita membuat setiap alamat slot tertentu dengan dua
Register, dimungkinkan bagi kita untuk mengakses sejumlah 4294967296 byte
memori, yang adalah, di masa kini, lebih banyak memori daripada apa yang akan kitalihat
terinstal di PC.

Dalam rangka untuk assembler untuk dapat mengelola data, penting
yang setiap bagian dari informasi atau instruksi ditemukan di daerah yang
sesuai dengan segmen yang masing-masing. Assembler mengakses ini
informasi yang memperhitungkan lokalisasi segmen, diberikan oleh
Register DS, ES, SS dan CS dan di dalam daftar alamat
sepotong informasi yang ditentukan. Itu adalah karena ini bahwa ketika kita membuat
Program menggunakan Debug pada setiap baris yang kita berkumpul, sesuatu sepertiini
muncul:

1CB0:0102 MOV KAPAK, BX

Mana angka pertama, 1CB0, sesuai dengan segmen memori yang digunakan,
kedua mengacu pada alamat dalam segmen ini, dan
petunjuk yang akan disimpan dari alamat yang mengikuti.
Cara untuk menunjukkan kepada assembler dengan segmen yang kita akan
bekerja dengan adalah dengan. C

Lebih assembler program

Contoh lain

Langkah pertama

Gunakan editor program untuk membuat file sumber. Ketik baris berikut:

; example11
.model kecil
.stack
.Code
MOV ah, 2h; bergerak nilai 2h untuk mendaftar ah
MOV dl, 2ah; bergerak de nilai 2ah untuk mendaftar dl
; (Dengan nilai asterisk dalam ASCII format)
int 21h; 21h gangguan
MOV ah, 4ch; fungsi 4ch, pergi ke sistem operasi
int 21h; 21h gangguan
mengakhiri; selesai kode program

Langkah kedua

Simpan file dengan nama berikut: exam2.asm
Jangan lupa untuk menyimpan ini dalam ASCII format.

Langkah ketiga

Menggunakan TASM program untuk membangun objek program.

C:\>TASM exam2.asm
Turbo Assembler versi 2.0 Copyright (c) 1988, 1990 Borland internasional
Assembling file: exam2.asm
Pesan kesalahan: tidak ada
Pesan peringatan: None
Tiket: 1
Sisa memori: 471k

Langkah keempat

Menggunakan TLINK program untuk membangun executable program

C:\>TLINK exam2.obj
Turbo Link versi 3.0 Copyright (c) tahun 1987, 1990 Borland internasional

C:\ >

langkah kelima

Mengeksekusi executable program

C:\>ejem11[Enter]
*
C:\ >

Program assembler ini menunjukkan karakter tanda bintang pada layar komputer


Share on Facebook
Share on Twitter
Share on Google+
Tags :

Related : PENGENALAN BAHASA ASSEMBLER