abc Asembler - elektronski priručnik
|
SN |
Scenario |
1 |
Kada je djelitelj (divisor) 1 bajt - |
2 |
Kada je djelitelj (divisor) 1 word - |
3 |
Kada je djelitelj (divisor) doubleword - |
Primjer
Sljedeći primjer dijeli 8 sa 2. Dividend 8 je spremljen u 16-bitni AX registar, a divisor 2 je spremljen u 8-bitni BL registar.
section .text
global _start ;must be declared for using gcc
_start: ;tell linker entry point
mov ax, '8'
sub ax, '0'
mov bl, '2'
sub bl, '0'
div bl
add ax, '0'
mov [res], ax
mov ecx, msg
mov edx, len
mov ebx, 1 ;file descriptor (stdout)
mov eax, 4 ;system call number (sys_write)
int 0x80 ;call kernel
mov ecx, res
mov edx, 1
mov ebx, 1 ;file descriptor (stdout)
mov eax, 4 ;system call number (sys_write)
int 0x80 ;call kernel
mov eax, 1 ;system call number (sys_exit)
int 0x80 ;call kernel
section .data
msg db "Rezultat je:", 0xA, 0xD
len equ $- msg
segment .bss
res resb 1
Kada se gore navedeni kod kompajlira i izvrši, on će proizvesti sljedeći rezultat:
The result is:
4
Instrukcije MUL/IMUL < Index > Logičke instrukcije
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |