abc Asembler - elektronski priručnik
|
SN |
Scenario |
1 |
Kada se množe 2 bajta - |
2 |
Kada se množe dvije 1-word vrijednosti - |
3 |
Kada se množe 2 doubleword vrijednosti - |
Primjer
MOV AL, 10 MOV DL, 25 MUL DL ... MOV DL, 0FFH ; DL= -1 MOV AL, 0BEH ; AL = -66 IMUL DL
Primjer
Sljedeći primjer množi 3 sa 2, i prikazuje rezultat:
section .text
global _start ;must be declared for using gcc
_start: ;tell linker entry point
mov al, '3'
sub al, '0'
mov bl, '2'
sub bl, '0'
mul bl
add al, '0'
mov [res], al
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:
Rezultat je:
6
Instrukcija ADD i SUB < Index > Instrukcije DIV/IDIV
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |