🖐️Code mẫu

arithmetic.asm
sys_write       equ     0x4
sys_read        equ     0x3
sys_exit        equ     0x1
STDIN           equ     0x0
STDOUT          equ     0x1

section .data
        msg1    db      "Nhap vao chieu dai va chieu rong: ", 0xA,0xD
        len1    equ     $- msg1
        msg2    db      "Dien tich cua hinh chu nhat: "
        len2    equ     $-msg2
        msg3    db      0xa, 0xd, "Chu vi cua hinh chu nhat: "
        len3    equ     $-msg3


section .bss
        length  resb    0x4
        width   resb    0x4
        chuvi   resb    0x4
        dientich resb   0x4

section .text
        global _start

_start:
        ;Nhap vao chieu dai va chiu rong:
        mov edx, len1
        mov ecx, msg1
        mov ebx, STDOUT
        mov eax, sys_write
        int 0x80

        ; input length
        mov edx, 0x4
        mov ecx, length
        mov ebx, STDIN
        mov eax, sys_read
        int 0x80

        ;input width
        mov edx, 0x4
        mov ecx, width
        mov ebx, STDIN
        mov eax, sys_read
        int 0x80

        ;Calculate
        mov eax, [length]
        sub eax, "0"
        mov edx, eax
        mov ebx, [width]
        sub ebx, "0"
        mul bl
        add eax, "0"
        mov [dientich], eax
        mov eax, edx
        mov edx, 0x2
        add eax, ebx
        mul edx
        add eax, "0"
        mov [chuvi], al

        mov edx, len2
        mov ecx, msg2
        mov ebx, STDOUT
        mov eax, sys_write
        int 0x80
        ;In ra ket qua dien tihc
        mov edx, 0x4
        mov ecx, dientich
        mov eax, sys_write
        mov ebx, STDOUT
        int 0x80

        mov edx, len3
        mov ecx, msg3
        mov ebx, STDOUT
        mov eax, sys_write
        int 0x80
        ;In ra ket qua chu vi
        mov edx, 0x4
        mov ecx, chuvi
        mov ebx, STDOUT
        mov eax, sys_write
        int 0x80

        mov eax, sys_exit
        int 0x80

Last updated