LAPORAN PRAKTIKUM ASSEMBLY Membuat Varia

LAPORAN PRAKTIKUM ASSEMBLY
“Membuat Variabel dengan Assembler“

Disusun oleh :
Meyla Yan Sari
3.34.13.1.10
IK-2B

PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2014

JOBSHEET 7
“Data Flow Diagram“

I.

Tujuan Intruksional Khusus
Mahasiswa mengerti dan memahami konsep dasar arsitektur sistem komputer dan
mampu melakukan pemrograman dalam bahasa assembly.


II.

Dasar Teori
Mengendalikan aliran program hal yang sangat penting, ini adalah
di mana program Anda dapat membuat keputusan sesuai dengan tertentu :
-

Jumps tanpa syarat
Instruksi dasar yang mentransfer kontrol ke titik lain dalam program ini adalah

JMP.
Sintaks dasar instruksi JMP :
JMP label

Untuk mendeklarasikan label dalam program Anda, cukup ketik nama dan
menambahkan ":" sampai akhir, label dapat kombinasi karakter apapun tetapi tidak
dapat memulai dengan angka, misalnya di sini adalah 3 label hukum definisi :
label1:
label2:

a:

Label dapat dideklarasikan pada baris terpisah atau sebelum lainnya instruksi,
misalnya
x1:
MOV AX, 1
x2: MOV AX, 2

Berikut adalah contoh dari instruksi JMP :

Tentu saja ada cara yang lebih mudah untuk menghitung beberapa dua angka, tapi
masih contoh yang baik dari instruksi JMP. Seperti yang Anda lihat dari contoh ini
JMP mampu mentransfer mengontrol maju dan mundur. Hal ini dapat melompat di
mana saja di segmen kode saat ini (65.535 bytes).
-

Jumps Bersyarat pendek

Tidak seperti instruksi JMP yang tidak melompat tanpa syarat, ada petunjuk yang
melakukan lompatan bersyarat (melompat hanya ketika beberapa kondisi dalam

bertindak). Instruksi-instruksi ini dibagi dalam tiga kelompok, kelompok pertama
hanya menguji satu bendera, kedua membandingkan angka sebagai ditandatangani,
dan ketiga membandingkan angka sebagai unsigned.
Instruksi Jump yang menguji satu flag

Seperti yang Anda lihat ada beberapa petunjuk yang melakukan itu hal yang sama, itu
benar, mereka bahkan dirakit ke dalam kode mesin yang sama, maka ada baiknya
untuk diingat bahwa ketika Anda mengkompilasi instruksi JE - Anda akan
mendapatkannya dibongkar sebagai: JZ. Nama yang berbeda digunakan untuk
membuat program lebih mudah memahami dan kode.
Langsung petunjuk untuk nomor ditandatangani

- sign means not equal

Instruksi melompat untuk nomor unsigned

Umumnya, bila diperlukan untuk membandingkan nilai-nilai numerik Instruksi CMP
digunakan (hal ini sama dengan SUB (mengurangi) instruksi, tetapi tidak menyimpan
hasilnya, hanya mempengaruhi bendera).
Logikanya sangat sederhana, misalnya :

itu diperlukan untuk membandingkan 5 dan 2,
5-2 = 3
hasilnya tidak nol (Zero Flag diatur ke 0).
Contoh lain:
itu diperlukan untuk membandingkan 7 dan 7,
7-7 = 0
hasilnya adalah nol! (Zero Flag diatur ke 1 dan JZ atau JE akan melakukan
melompat).
Berikut adalah contoh dari instruksi CMP dan melompat bersyarat :

Coba contoh di atas dengan nomor yang berbeda untuk AL dan BL, bendera terbuka
dengan mengklik [FLAGS] tombol, gunakan [Tunggal Langkah] dan melihat apa
yang terjadi, jangan lupa untuk mengkompilasi ulang dan ulang setelah setiap
perubahan (menggunakan F5 shortcut).
Semua melompat bersyarat memiliki satu batasan besar, tidak seperti JMP instruksi
mereka hanya bisa melompat 127 byte depan dan 128 byte mundur (perhatikan bahwa
sebagian besar instruksi dirakit menjadi 3 atau lebih byte).
Kita dapat dengan mudah menghindari keterbatasan ini menggunakan trik lucu:
-


Dapatkan instruksi jump bersyarat yang berlawanan dari tabel di atas, membuat
melompat ke label_x.

-

Instruksi m Gunakan JMP untuk melompat ke lokasi yang diinginkan.

-

Tentukan label_x: setelah instruksi JMP.

label_x: - dapat berupa nama label yang valid. Berikut adalah contoh :

Metode lain namun jarang digunakan adalah memberikan nilai langsung bukan label.
Ketika nilai langsung dimulai dengan '$' Karakter relatif melompat dilakukan, jika
compiler menghitung instruksi yang melompat langsung ke mengingat offset. Untuk
contoh :

III.


Alat dan Bahan
1. Emulator 8086
2. PC Processor minimal pentium IV

IV.

Langkah Kerja
1. Hidupkan komputer
2. Buka emulator 8086 yang telah dinstal pada laptop anda
3. Setelah terbuka, klik new untuk lembar kerja baru

4. Akan muncul form seperti berikut, klik COM Template > OK

5. Lembar kerja yang sudah siap untuk digunakan seperti pada gambar berikut

6. Mulai ketikan code berikut untuk membuat string ‘PACMAN’ > klik emulate

7. Muncul form seperti berikut. Kemudian klik run.

8. berhasil anda buat


V.

Analisis

ARTGame EQU 00100100b
org 100h
JMP Mulai
wallGame DB 178
Nama DB 'PACMAN',0
Mulai:
MOV AX,0B800H
MOV ES,AX
MOV AL,wallGame

MOV AH,ARTGame
MOV ES:(2*3)+(160*3),ax
MOV ES:(2*4)+(160*3),ax
MOV ES:(2*5)+(160*3),ax
MOV ES:(2*6)+(160*3),ax

MOV ES:(2*3)+(160*3),ax
MOV ES:(2*3)+(160*4),ax
MOV ES:(2*3)+(160*5),ax
MOV ES:(2*3)+(160*6),ax
MOV ES:(2*3)+(160*7),ax
MOV AL, Nama[0]
MOV ES:(2*38)+(160*18),ax
MOV AL, Nama[1]
MOV ES:(2*39)+(160*18),ax
MOV AL, Nama[2]
MOV ES:(2*40)+(160*18),ax
MOV AL, Nama[3]
MOV ES:(2*41)+(160*18),ax
MOV AL, Nama[4]
MOV ES:(2*42)+(160*18),ax
MOV AL, Nama[5]
MOV ES:(2*43)+(160*18),ax
ret

a. EQU Directive ini digunakan untuk mendefinisikan sebuah konstanta tanpa

menuntut disediakannya sebuah lokasi memori. Jadi ATRGame EQU
00100100b berarti konstanta ATRGame sama dengan 00100100b
b. Org 100h berfungsi sebagai pemberitahu bahwa pada saat program dijalankan
diletakkan mulai pada offset ke 100h.
c. Perintah JMP(JUMP) ini digunakan untuk melompat menuju tempat yang
ditunjukkan oleh perintah JUMP. Adapun syntaxnya adalah:
JUMP Tujuan .
Dimana tujuannya dapat berupa label seperti yang digunakan pada bagan diatas.
Mengenai perintah JUMP ini akan kita bahas lebih lanjut nantinya. Perintah
JUMP yang digunakan pada bagan diatas dimaksudkan agar melewati tempat
data program, karena jika tidak ada perintah JUMP ini maka data program akan
ikut dieksekusi sehingga kemungkinan besar akan menyebabkan program anda
menjadi Hang.

d. Nama DB 'PACMAN', 0 Directive ini digunakan untuk mendefinisikan data 8bit pada memori program berupa karakter-karakter ASCII yakni PACMANDWIWURI
e. MOV AX,0B800H berfungsi menampilkan karakter pada layar.

VI.

Tugas

Membuat layout game pacman dengan assembler :
Koding
Mengetikkan koding berikut pada emu8086

ATRGame EQU 00100100b
org 100h
JMP Mulai
wallGame DB 178
Nama DB 'PACMAN',0
mulai:
MOV AX,0B800H
MOV ES,AX
MOV AL,178
MOV AH,00100100b
MOV
MOV
MOV
MOV
MOV
MOV

MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV

AL, Nama[0]
ES:(2*41)+(160*1),ax
AL, Nama[1]
ES:(2*42)+(160*1),ax
AL, Nama[2]
ES:(2*43)+(160*1),ax
AL, Nama[3]
ES:(2*44)+(160*1),ax
AL, Nama[4]
ES:(2*45)+(160*1),ax
AL, Nama[5]
ES:(2*46)+(160*1),ax
AL, Nama[6]
ES:(2*47)+(160*1),ax
AL, Nama[7]
ES:(2*48)+(160*1),ax
AL, Nama[8]
ES:(2*49)+(160*1),ax
AL, Nama[9]
ES:(2*50)+(160*1),ax
AL, Nama[10]

MOV ES:(2*51)+(160*1),ax
MOV AL, Nama[11]
MOV ES:(2*52)+(160*1),ax
MOV AX,0B800H
MOV DS,AX
MOV AL,178
MOV AH,00100100b
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*0)+(160*0),ax
(2*1)+(160*0),ax
(2*2)+(160*0),ax
(2*3)+(160*0),ax
(2*4)+(160*0),ax
(2*5)+(160*0),ax
(2*6)+(160*0),ax
(2*7)+(160*0),ax
(2*8)+(160*0),ax
(2*9)+(160*0),ax
(2*10)+(160*0),ax
(2*11)+(160*0),ax
(2*12)+(160*0),ax
(2*13)+(160*0),ax
(2*14)+(160*0),ax
(2*15)+(160*0),ax
(2*16)+(160*0),ax
(2*17)+(160*0),ax
(2*18)+(160*0),ax
(2*19)+(160*0),ax
(2*20)+(160*0),ax
(2*21)+(160*0),ax
(2*22)+(160*0),ax
(2*23)+(160*0),ax
(2*24)+(160*0),ax
(2*25)+(160*0),ax
(2*26)+(160*0),ax
(2*27)+(160*0),ax
(2*28)+(160*0),ax
(2*29)+(160*0),ax
(2*30)+(160*0),ax
(2*31)+(160*0),ax
(2*32)+(160*0),ax
(2*33)+(160*0),ax
(2*34)+(160*0),ax
(2*35)+(160*0),ax
(2*36)+(160*0),ax
(2*37)+(160*0),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*41)+(160*0),ax
(2*42)+(160*0),ax
(2*43)+(160*0),ax
(2*44)+(160*0),ax
(2*45)+(160*0),ax
(2*46)+(160*0),ax
(2*47)+(160*0),ax
(2*48)+(160*0),ax
(2*49)+(160*0),ax
(2*50)+(160*0),ax
(2*51)+(160*0),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*52)+(160*0),ax
(2*53)+(160*0),ax
(2*54)+(160*0),ax
(2*55)+(160*0),ax
(2*56)+(160*0),ax
(2*57)+(160*0),ax
(2*58)+(160*0),ax
(2*59)+(160*0),ax
(2*60)+(160*0),ax
(2*61)+(160*0),ax
(2*62)+(160*0),ax
(2*63)+(160*0),ax
(2*64)+(160*0),ax
(2*65)+(160*0),ax
(2*66)+(160*0),ax
(2*67)+(160*0),ax
(2*68)+(160*0),ax
(2*69)+(160*0),ax
(2*70)+(160*0),ax
(2*71)+(160*0),ax
(2*72)+(160*0),ax
(2*73)+(160*0),ax
(2*74)+(160*0),ax
(2*75)+(160*0),ax
(2*76)+(160*0),ax
(2*77)+(160*0),ax
(2*78)+(160*0),ax
(2*79)+(160*0),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*0)+(160*0),ax
(2*0)+(160*1),ax
(2*0)+(160*2),ax
(2*0)+(160*3),ax
(2*0)+(160*4),ax
(2*0)+(160*5),ax
(2*0)+(160*6),ax
(2*0)+(160*7),ax
(2*0)+(160*8),ax
(2*0)+(160*9),ax
(2*0)+(160*10),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*0)+(160*14),ax
(2*0)+(160*15),ax
(2*0)+(160*16),ax
(2*0)+(160*17),ax
(2*0)+(160*18),ax
(2*0)+(160*19),ax
(2*0)+(160*20),ax
(2*0)+(160*21),ax
(2*0)+(160*22),ax
(2*0)+(160*23),ax
(2*0)+(160*24),ax

mov
mov
mov
mov
mov
mov

(2*0)+(160*10),ax
(2*1)+(160*10),ax
(2*2)+(160*10),ax
(2*3)+(160*10),ax
(2*3)+(160*9),ax
(2*3)+(160*8),ax

mov
mov
mov
mov
mov
mov

(2*0)+(160*14),ax
(2*1)+(160*14),ax
(2*2)+(160*14),ax
(2*3)+(160*14),ax
(2*3)+(160*15),ax
(2*3)+(160*16),ax

mov
mov
mov
mov
mov
mov

(2*4)+(160*4),ax
(2*5)+(160*4),ax
(2*6)+(160*4),ax
(2*7)+(160*4),ax
(2*8)+(160*4),ax
(2*9)+(160*4),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*7)+(160*4),ax
(2*7)+(160*5),ax
(2*7)+(160*6),ax
(2*7)+(160*7),ax
(2*7)+(160*8),ax
(2*7)+(160*9),ax
(2*7)+(160*10),ax
(2*7)+(160*11),ax
(2*7)+(160*12),ax
(2*7)+(160*13),ax
(2*7)+(160*14),ax
(2*7)+(160*15),ax
(2*7)+(160*16),ax
(2*7)+(160*17),ax
(2*7)+(160*18),ax
(2*7)+(160*19),ax
(2*7)+(160*20),ax

mov
mov
mov
mov
mov
mov

(2*4)+(160*20),ax
(2*5)+(160*20),ax
(2*6)+(160*20),ax
(2*7)+(160*20),ax
(2*8)+(160*20),ax
(2*9)+(160*20),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*13)+(160*1),ax
(2*13)+(160*2),ax
(2*13)+(160*3),ax
(2*13)+(160*4),ax
(2*13)+(160*5),ax
(2*13)+(160*6),ax
(2*13)+(160*7),ax
(2*13)+(160*8),ax
(2*12)+(160*8),ax
(2*11)+(160*8),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*13)+(160*16),ax
(2*13)+(160*17),ax
(2*13)+(160*18),ax
(2*13)+(160*19),ax
(2*13)+(160*20),ax
(2*13)+(160*21),ax
(2*13)+(160*22),ax
(2*13)+(160*23),ax
(2*12)+(160*16),ax
(2*11)+(160*16),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*11)+(160*12),ax
(2*12)+(160*12),ax
(2*13)+(160*12),ax
(2*14)+(160*12),ax
(2*15)+(160*12),ax
(2*16)+(160*12),ax
(2*17)+(160*12),ax
(2*18)+(160*12),ax
(2*19)+(160*12),ax

mov
mov
mov
mov
mov
mov
mov
mov

(2*17)+(160*4),ax
(2*17)+(160*5),ax
(2*17)+(160*6),ax
(2*17)+(160*7),ax
(2*17)+(160*8),ax
(2*18)+(160*8),ax
(2*19)+(160*8),ax
(2*20)+(160*8),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*20)+(160*8),ax
(2*20)+(160*9),ax
(2*20)+(160*10),ax
(2*20)+(160*11),ax
(2*20)+(160*12),ax
(2*20)+(160*13),ax
(2*20)+(160*14),ax
(2*20)+(160*15),ax
(2*20)+(160*16),ax

mov
mov
mov
mov
mov
mov
mov
mov

(2*17)+(160*16),ax
(2*17)+(160*17),ax
(2*17)+(160*18),ax
(2*17)+(160*19),ax
(2*17)+(160*20),ax
(2*18)+(160*16),ax
(2*19)+(160*16),ax
(2*20)+(160*16),ax

mov
mov
mov
mov

(2*21)+(160*0),ax
(2*21)+(160*1),ax
(2*21)+(160*2),ax
(2*21)+(160*3),ax

mov
mov
mov
mov

(2*21)+(160*20),ax
(2*21)+(160*22),ax
(2*21)+(160*23),ax
(2*21)+(160*21),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*26)+(160*1),ax
(2*26)+(160*2),ax
(2*26)+(160*3),ax
(2*26)+(160*4),ax
(2*26)+(160*5),ax
(2*26)+(160*6),ax
(2*26)+(160*7),ax
(2*26)+(160*8),ax
(2*24)+(160*8),ax
(2*25)+(160*8),ax
(2*24)+(160*8),ax

mov (2*27)+(160*8),ax
mov (2*28)+(160*8),ax
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*26)+(160*23),ax
(2*26)+(160*22),ax
(2*26)+(160*21),ax
(2*26)+(160*20),ax
(2*26)+(160*19),ax
(2*26)+(160*18),ax
(2*26)+(160*17),ax
(2*26)+(160*16),ax
(2*24)+(160*16),ax
(2*25)+(160*16),ax
(2*24)+(160*16),ax
(2*27)+(160*16),ax
(2*28)+(160*16),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*24)+(160*12),ax
(2*25)+(160*12),ax
(2*26)+(160*12),ax
(2*27)+(160*12),ax
(2*28)+(160*12),ax
(2*29)+(160*12),ax
(2*30)+(160*12),ax
(2*31)+(160*12),ax
(2*31)+(160*12),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*32)+(160*5),ax
(2*32)+(160*6),ax
(2*32)+(160*7),ax
(2*32)+(160*8),ax
(2*32)+(160*9),ax
(2*32)+(160*10),ax
(2*32)+(160*11),ax
(2*32)+(160*12),ax
(2*32)+(160*13),ax
(2*32)+(160*14),ax
(2*32)+(160*15),ax
(2*32)+(160*16),ax
(2*32)+(160*17),ax
(2*32)+(160*18),ax
(2*32)+(160*19),ax
(2*32)+(160*29),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*33)+(160*4),ax
(2*33)+(160*20),ax
(2*34)+(160*4),ax
(2*34)+(160*20),ax
(2*35)+(160*4),ax
(2*35)+(160*20),ax
(2*36)+(160*5),ax
(2*36)+(160*19),ax
(2*37)+(160*19),ax
(2*37)+(160*5),ax

mov
mov
mov
mov
mov

(2*0)+(160*24),ax
(2*1)+(160*24),ax
(2*2)+(160*24),ax
(2*3)+(160*24),ax
(2*0)+(160*24),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*1)+(160*24),ax
(2*2)+(160*24),ax
(2*3)+(160*24),ax
(2*4)+(160*24),ax
(2*5)+(160*24),ax
(2*6)+(160*24),ax
(2*7)+(160*24),ax
(2*8)+(160*24),ax
(2*9)+(160*24),ax
(2*10)+(160*24),ax
(2*11)+(160*24),ax
(2*12)+(160*24),ax
(2*13)+(160*24),ax
(2*14)+(160*24),ax
(2*15)+(160*24),ax
(2*16)+(160*24),ax
(2*17)+(160*24),ax
(2*18)+(160*24),ax
(2*19)+(160*24),ax
(2*20)+(160*24),ax
(2*21)+(160*24),ax
(2*22)+(160*24),ax
(2*23)+(160*24),ax
(2*24)+(160*24),ax
(2*25)+(160*24),ax
(2*26)+(160*24),ax
(2*27)+(160*24),ax
(2*28)+(160*24),ax
(2*29)+(160*24),ax
(2*30)+(160*24),ax
(2*31)+(160*24),ax
(2*32)+(160*24),ax
(2*33)+(160*24),ax
(2*34)+(160*24),ax
(2*35)+(160*24),ax
(2*36)+(160*24),ax
(2*37)+(160*24),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*41)+(160*24),ax
(2*42)+(160*24),ax
(2*43)+(160*24),ax
(2*44)+(160*24),ax
(2*45)+(160*24),ax
(2*46)+(160*24),ax
(2*47)+(160*24),ax
(2*48)+(160*24),ax
(2*49)+(160*24),ax
(2*50)+(160*24),ax
(2*51)+(160*24),ax
(2*52)+(160*24),ax
(2*53)+(160*24),ax
(2*54)+(160*24),ax
(2*55)+(160*24),ax
(2*56)+(160*24),ax
(2*57)+(160*24),ax
(2*58)+(160*24),ax
(2*59)+(160*24),ax
(2*60)+(160*24),ax
(2*61)+(160*24),ax
(2*62)+(160*24),ax
(2*63)+(160*24),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*64)+(160*24),ax
(2*65)+(160*24),ax
(2*66)+(160*24),ax
(2*67)+(160*24),ax
(2*68)+(160*24),ax
(2*69)+(160*24),ax
(2*70)+(160*24),ax
(2*71)+(160*24),ax
(2*72)+(160*24),ax
(2*73)+(160*24),ax
(2*74)+(160*24),ax
(2*75)+(160*24),ax
(2*76)+(160*24),ax
(2*77)+(160*24),ax
(2*78)+(160*24),ax
(2*79)+(160*24),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*79)+(160*0),ax
(2*79)+(160*1),ax
(2*79)+(160*2),ax
(2*79)+(160*3),ax
(2*79)+(160*4),ax
(2*79)+(160*5),ax
(2*79)+(160*6),ax
(2*79)+(160*7),ax
(2*79)+(160*8),ax
(2*79)+(160*9),ax
(2*79)+(160*10),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*79)+(160*14),ax
(2*79)+(160*15),ax
(2*79)+(160*16),ax
(2*79)+(160*17),ax
(2*79)+(160*18),ax
(2*79)+(160*19),ax
(2*79)+(160*20),ax
(2*79)+(160*21),ax
(2*79)+(160*22),ax
(2*79)+(160*23),ax
(2*79)+(160*24),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*53)+(160*1),ax
(2*53)+(160*2),ax
(2*53)+(160*3),ax
(2*53)+(160*4),ax
(2*53)+(160*5),ax
(2*53)+(160*6),ax
(2*53)+(160*7),ax
(2*53)+(160*8),ax
(2*52)+(160*8),ax
(2*51)+(160*8),ax
(2*54)+(160*8),ax
(2*55)+(160*8),ax

mov
mov
mov
mov
mov
mov

(2*53)+(160*16),ax
(2*53)+(160*17),ax
(2*53)+(160*18),ax
(2*53)+(160*19),ax
(2*53)+(160*20),ax
(2*53)+(160*21),ax

mov
mov
mov
mov
mov
mov

(2*53)+(160*22),ax
(2*53)+(160*23),ax
(2*52)+(160*16),ax
(2*51)+(160*16),ax
(2*54)+(160*16),ax
(2*55)+(160*16),ax

mov
mov
mov
mov
mov
mov
mov
mov

(2*58)+(160*1),ax
(2*58)+(160*2),ax
(2*58)+(160*3),ax
(2*58)+(160*4),ax
(2*58)+(160*20),ax
(2*58)+(160*21),ax
(2*58)+(160*22),ax
(2*58)+(160*23),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*60)+(160*12),ax
(2*61)+(160*12),ax
(2*62)+(160*12),ax
(2*63)+(160*12),ax
(2*64)+(160*12),ax
(2*65)+(160*12),ax
(2*66)+(160*12),ax
(2*67)+(160*12),ax
(2*68)+(160*12),ax
(2*59)+(160*12),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*60)+(160*8),ax
(2*61)+(160*8),ax
(2*62)+(160*8),ax
(2*60)+(160*16),ax
(2*61)+(160*16),ax
(2*62)+(160*16),ax
(2*62)+(160*4),ax
(2*62)+(160*5),ax
(2*62)+(160*6),ax
(2*62)+(160*7),ax
(2*62)+(160*17),ax
(2*62)+(160*18),ax
(2*62)+(160*19),ax
(2*62)+(160*20),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*59)+(160*8),ax
(2*59)+(160*9),ax
(2*59)+(160*10),ax
(2*59)+(160*11),ax
(2*59)+(160*12),ax
(2*59)+(160*13),ax
(2*59)+(160*14),ax
(2*59)+(160*15),ax
(2*59)+(160*16),ax

mov
mov
mov
mov
mov
mov
mov
mov

(2*66)+(160*1),ax
(2*66)+(160*2),ax
(2*66)+(160*3),ax
(2*66)+(160*4),ax
(2*66)+(160*5),ax
(2*66)+(160*6),ax
(2*66)+(160*7),ax
(2*66)+(160*8),ax

mov (2*67)+(160*8),ax
mov (2*68)+(160*8),ax
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*66)+(160*23),ax
(2*66)+(160*22),ax
(2*66)+(160*21),ax
(2*66)+(160*20),ax
(2*66)+(160*19),ax
(2*66)+(160*18),ax
(2*66)+(160*17),ax
(2*66)+(160*16),ax
(2*67)+(160*16),ax
(2*68)+(160*16),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*72)+(160*4),ax
(2*72)+(160*5),ax
(2*72)+(160*6),ax
(2*72)+(160*7),ax
(2*72)+(160*8),ax
(2*72)+(160*9),ax
(2*72)+(160*10),ax
(2*72)+(160*11),ax
(2*72)+(160*12),ax
(2*72)+(160*13),ax
(2*72)+(160*14),ax
(2*72)+(160*15),ax
(2*72)+(160*16),ax
(2*72)+(160*17),ax
(2*72)+(160*18),ax
(2*72)+(160*19),ax
(2*72)+(160*20),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*70)+(160*4),ax
(2*71)+(160*4),ax
(2*73)+(160*4),ax
(2*74)+(160*4),ax
(2*75)+(160*4),ax
(2*70)+(160*20),ax
(2*71)+(160*20),ax
(2*73)+(160*20),ax
(2*74)+(160*20),ax
(2*75)+(160*20),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*76)+(160*8),ax
(2*76)+(160*9),ax
(2*76)+(160*10),ax
(2*77)+(160*10),ax
(2*78)+(160*10),ax
(2*76)+(160*14),ax
(2*76)+(160*15),ax
(2*76)+(160*16),ax
(2*77)+(160*14),ax
(2*78)+(160*14),ax

mov
mov
mov
mov
mov

(2*36)+(160*9),ax
(2*36)+(160*10),ax
(2*36)+(160*11),ax
(2*36)+(160*12),ax
(2*36)+(160*13),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*36)+(160*14),ax
(2*36)+(160*15),ax
(2*37)+(160*9),ax
(2*38)+(160*9),ax
(2*39)+(160*9),ax
(2*40)+(160*9),ax
(2*41)+(160*9),ax
(2*42)+(160*8),ax
(2*43)+(160*8),ax
(2*44)+(160*8),ax
(2*45)+(160*8),ax
(2*46)+(160*9),ax
(2*46)+(160*10),ax
(2*47)+(160*10),ax

mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov
mov

(2*37)+(160*15),ax
(2*38)+(160*15),ax
(2*39)+(160*15),ax
(2*40)+(160*15),ax
(2*41)+(160*15),ax
(2*42)+(160*16),ax
(2*43)+(160*16),ax
(2*44)+(160*16),ax
(2*45)+(160*16),ax
(2*46)+(160*15),ax
(2*46)+(160*14),ax
(2*47)+(160*14),ax

ret

Program yang telah diketikkan

klik emulate > run :

VII.

Kesimpulan
Variabel adalah lokasi memori. Untuk seorang programmer ini jauh lebih mudah
telah beberapa nilai disimpan dalam variabel bernama "var1" maka pada
alamat 5A73: 235B, terutama bila Anda memiliki 10 atau lebih variabel.
Compiler kami mendukung dua jenis variabel: BYTE dan WORD.