Anda di halaman 1dari 5

Nama : Marzhanda Aurelia Daik

Kelas : C
Tugas : Bahasa Rakitan
Nim : 21120243
Prodi : Teknik Informatika S1

Tugas teori
1. Dik : - Alamat fisik : 1256Ah
- Segmen 1256h dan 1240h
Dit : Segmen : offset?
Jawab :

- Alamat fisik 1256Ah


Segmen 1256h
Cara :
1256A
1256 -
11314 offset
Maka, segmen : offset adalah 1256h : 11314h

- Alamat fisik 1256Ah


Segmen 1240h
Cara :
1256A
1240 -
1132A offset
Maka, segmen : offset adalah 1240h : 1132Ah

2. Dik : - Alamat fisik : 1256Ah


- Segmen 1256h dan 1240h
Dit : Segmen?
Jawab :

- Alamat fisik 80FD2h


Segmen BFD2h
Cara :
80FD2
BFD2 -
75000 segmen
Jadi, segmen adalah 75000
Tugas pratikum :
1.

Maka hasil outputnya gelap atau kosong


2. Penjelasan sintax

readkey macro // macro dapat menangani panggilan parameter


mov ah,00// memindahkan 00 ke ah
endm // mengakhiri program sementara
setcrt macro mode
mov ah,00// memindahkan 00 ke ah
mov al,mode // memindahkan mode ke al
int 10h // menampilkan karakter ke layar
endm // mengakhiri program sementara
putpixel macro x,y,warna // x : mendatar, y : tegak, warna : warna atau nomor yg
dihidupkan
push ax // mendorong untuk operasi aritmatika
push bx // mendorong untuk menyimpan alamat memori yg menunjukkan ke variable
lain
push cx//mendorong untuk bertindak sebagai penghitung untuk mengulangi atau
mengulang instruksi
push dx // mendorong untuk operasi perkalian dan pembagian
mov ah,12h // memindahkan 12h ke ah
mov cx,x // memindahkan x ke cx
mov dx,y // memindahkan y ke dx
mov al,warna // memindahkan warna ke al
int 10h // menampilkan karakter ke layar
pop dx // menempatkan byte untuk operasi perkalian dan pembagian
pop cx // menempatkan byte untuk bertindak sebagai penghitung untuk mengulangi
atau mengulang instruksi
pop bx // menempatkan byte untuk menyimpan alamat memori yg menunjukkan ke
variable lain
pop ax // menempatkan byte untuk operasi aritmatika
endm // mengakhiri program sementara
garisv macro x1,y1,panjang,warna// memberi nama panggilan
local ulang // mengulangi Kembali yg bersifat local
push dx // mendorong untuk operasi perkalian dan pembagian
push cx //mendorong untuk bertindak sebagai penghitung untuk mengulangi
atau mengulang
mov dx,y1 // memindahkan y1 ke dx
mov cx,Panjang // memindahkan Panjang ke cx
ulang:// ulangi
putpixel x1,dx,warna// x1 : mendatar, dx : tegak, warna : warna atau nomor yg
dihidupkan inc dx // menambahkan dx dengan 1
loop ulang // lompat ke label ‘ulang ‘
pop cx // menempatkan byte untuk bertindak sebagai penghitung untuk mengulangi
atau mengulang instruksi
pop dx // menempatkan byte untuk operasi perkalian dan pembagian
endm // mengakhiri program sementara
garish macro x1,y1,panjang,warna // pemanggilan nama
local ulang // mengulangi Kembali yg bersifat local
push cx // mendorong untuk bertindak sebagai penghitung untuk mengulangi
atau mengulang
push dx // mendorong untuk operasi perkalian dan pembagian
mov dx,x1 // memindahkan x1 ke dx
mov cx,panjang // memindahkan Panjang ke cx
ulang: // label ulang
putpixel dx,y1,warna // dx : mendatar, y1 : tegak, warna : warna atau nomor yg
dihidupkan
inc dx // menambahkan dx dengan 1
loop ulang // lompat ke label ‘ulang ‘
pop dx // menempatkan byte untuk operasi perkalian dan pembagian
pop cx // menempatkan byte untuk bertindak sebagai penghitung untuk mengulangi
atau mengulang instruksi
endm // mengakhiri program sementara
kotak macro x1,y1,x2,y2,warna
garish x1,y1,x2-x1,warna
garisv x1,y1,y2-y1,warna
garisv x2,y1,y2-y1,warna
garish x1,y2,x2-x1+1,warna
endm
.model small // memberitaukan kepada assembler bentuk memori yg digunakan oleh
program
.code // memberitaukan kepada assembler bahwa kita akan mulai menggunakan kode
segmennya disini
org 100h // memberitaukan kepada assembler supaya program pada saat dijalankan
ditaruh mulai pada offset ke 100h
proses: // memulai proses pemograman
setcrt 13h
kotak 120,30,180,100,12
readkey // membaca kunci
setcrt 03h
int 20h // mengakhiri program dan menyerahkan kendali sepenuhnya pada dos
end proses // mengakhiri proses

Anda mungkin juga menyukai