Skip to content

Instantly share code, notes, and snippets.

@febnug
Last active September 26, 2021 04:40
Show Gist options
  • Save febnug/26d3a46dad4ef08d3afd532928228b38 to your computer and use it in GitHub Desktop.
Save febnug/26d3a46dad4ef08d3afd532928228b38 to your computer and use it in GitHub Desktop.
JMP start
ibu_kota_negara: DB "minsk" ; <-- nama ibu kota negara, harus huruf kecil semua
DB 0
start:
MOV C, ibu_kota_negara
MOV D, 232
.loop:
MOV A, [C]
MOV [D], A
INC C
INC D
CMP B, [C]
JNZ .loop
MOV D, 232
MOV C, ibu_kota_negara
; list huruf konsonan dalam bentuk hexadesimal
; "bcdfghjklmnpqrstvw", harusnya bisa semua tapi memory di emulatornya di limit.
;
; setelah nama ibukota di cetak, idenya nge-cek satu per-satu huruf konsonan yang
; ada di nama ibukota, apabila ada huruf konsonan maka di hapus huruf konsonan itu.
.loop2:
MOV A, [C]
MOV B, 0x62
CMP A, B
JE cetak
MOV B, 0x63
CMP A, B
JE cetak
MOV B, 0x64
CMP A, B
JE cetak
MOV B, 0x66
CMP A, B
JE cetak
MOV B, 0x67
CMP A, B
JE cetak
MOV B, 0x68
CMP A, B
JE cetak
MOV B, 0x6a
CMP A, B
JE cetak
MOV B, 0x6b
CMP A, B
JE cetak
MOV B, 0x6c
CMP A, B
JE cetak
MOV B, 0x6d
CMP A, B
JE cetak
MOV B, 0x6e
CMP A, B
JE cetak
MOV B, 0x70
CMP A, B
JE cetak
MOV B, 0x71
CMP A, B
JE cetak
MOV B, 0x72
CMP A, B
JE cetak
MOV B, 0x73
CMP A, B
JE cetak
MOV B, 0x74
CMP A, B
JE cetak
MOV B, 0x76
CMP A, B
JE cetak
MOV B, 0x77
CMP A, B
JE cetak
INC C
INC D
CMP C, 0x6 ; <-- ubah ini menggunakan dari angka desimal ke angka hexadesimal,
; sesuaikan dengan banyaknya karakter nama ibukota, misal "minsk" (5 karakter) di
; tambah 1 jadi 6
JA print2
JMP .loop2
cetak:
MOV [D], 0x20
INC C
INC D
JMP .loop2
print2:
MOV D, 232
MOV C, ibu_kota_negara
MOV B, 0
.loop3:
MOV A, [C]
MOV [D], A
INC C
INC D
CMP B, [C]
JNZ .loop3
HLT
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment