Matakuliah Tahun Versi : H0182/Pemrograman Sistem : 2006 : 01 Pertemuan 3 Assembler 1 1 Learning Outcomes • Mahasiswa dapat mengerti tahapan yang dilakukan Assembler dalam mengubah bahasa assembly menjadi bahasa mesin • Mahasiswa dapat mengerti alasan mengapa assembler memerlukan database • Mahasiswa dapat mendemonstrasikan cara kerja assembler 2 Assembler ASM Source Code Assembler Machine language & info Database o Execution program on RAM o Execution program must provide information to Loaders 3 General Design Procedure 1. Specify the problem 2. Specify data structure 3. Define format of data structure 4. Specify algorithm 5. Look for modularity 6. Repeat 1 through 5 on modules 4 Objective • Translate assembly language in 8086 ASM to machine language • For database we need for table – Machine Operation Table – Location Counter Table – Symbol Table – Translated ASM Code Table 5 Process in Assembling ASM Source Code Machine Operation Table PASS 1 • • PASS 2 Translated ASM Code Table Location Counter Table Symbol Table Memberikan informasi Mengisi tabel 6 Example of ASM program CODE SEGMENT ASSUME CS:CODE RED: YELLOW: GREEN: EXIT: MOV MOV OUT DX,0FFFEH AL,99H DX,AL MOV IN MOV CMP JB CMP JB DX,0FFF8H AL,DX DX,0FFFAH AL,30 YELLOW AL,40 GREEN MOV AL,04H DX,AL EXIT AL,01H DX,AL EXIT AL,02H DX,AL DX,0FFFCH AL,DX OUT JMP MOV OUT JMP MOV OUT MOV IN CODE ENDS END 7 Machine Operation Table Op-Code Machine Code Length (byte) CMP AX,imm 3D xx xx 3 CMP AL,imm 3C xx xx 3 DEC AX 48 1 IN AL,DX EC 1 JA displacement 77 xx 2 JB displacement 72 xx 2 JMP displacement EB xx 2 MOV AX,imm B8 xx xx 3 MOV DX,imm BA xx xx 3 MOV AL,imm B0 xx 2 OUT DX,AL EE 1 NOP 90 1 Machine Operation Table berfungsi untuk menyimpan kode-kode mesin yang berguna dalam proses penterjemahan 8 Location Counter Table Address 0000 0003 0005 0006 0009 000A 000D 000F 0011 0013 0015 0017 0018 001A 001C 001D 001F 0021 0022 0025 Op Machine-Code MOV MOV OUT MOV IN MOV CMP JB CMP JB MOV OUT JMP MOV OUT JMP MOV OUT MOV IN Operand 1 DX AL DX DX AL DX AL YELLOW AL GREEN AL DX EXIT AL DX EXIT AL DX DX AL Operand 2 0FFFEH 99H AL 0FFF8H DX 0FFFAH 30 40 04H AL 01H AL 02H AL 0FFCH DX 9 Symbol Table Name Address YELLOW 001A GREEN 001F RED 0015 EXIT 0022 10 Translated ASM Code Table Address 0000 0003 0005 0006 0009 000A 000D 000F 0011 0013 0015 0017 0018 001A 001C 001D 001F 0021 0022 0025 Machine-Code BA FFFE B0 99 EE BA FFF8 EC BA FFFA 3C 1E 72 09 3C 28 72 0A B0 04 EE EB 08 B0 01 EE EB 03 B0 02 EE BA FFFC EC 11 Summary • Proses penertejemahan yang dibahas pada bab ini adalah yang contoh sederhana dari cara kerja sebuah assembler • Tujuan dari bab ini adalah memberikan dasar bagaimana salah satu komponen pemrograman sistem mampu memberikan kemudahan pada kita untuk memprogram tidak langsung ke bahasa mesin. 12
© Copyright 2026 Paperzz