isu:cv02
[ISU] 2. Překlad, sestavení a spuštění programu, ladění
- hello.asm
%include "rw32.inc"
section .data
sMessage db "Hello World!",EOL,0
section .text
main:
push ebp
mov ebp,esp
mov esi,sMessage
call WriteString
pop ebp
ret
- cv2_0.asm
; Ze vstupu načti dvě 32b čísla (X a Y) a vypiš jejich součet (X+Y).
%include "rw32.inc"
section .text
main:
call ReadInt32
mov ebx, eax
call ReadInt32
add eax, ebx
call WriteInt32
ret
- cv2_1.asm
; Ze vstupu načti dvě 32b čísla (X a Y) a vypište hodnoty X-Y, -X+Y a -X-Y,
; každou na vlastní řádek.
%include "rw32.inc"
section .text
main:
; ZDE TVUJ KOD
call WriteNewLine
ret
cv2_1.asm jedno z mnoha řešení
cv2_1.asm jedno z mnoha řešení
- cv2_1.asm
%include "rw32.inc"
section .text
main:
; Load variables from user
call ReadInt32_Silent
mov ebx, eax ; X
call ReadInt32_Silent
mov edx, eax ; Y
; X-Y
mov eax, ebx
sub eax, edx
call WriteInt32
call WriteNewLine
; -X+Y => Y-X
mov eax, edx
sub eax, ebx
call WriteInt32
call WriteNewLine
; -X-Y
mov eax, ebx
neg eax
sub eax, edx
call WriteInt32
call WriteNewLine
ret
- cv2_2.asm
; Prohoď obsah registrů AL a AH (swap)
%include "rw32.inc"
section .text
main:
mov eax,0x11AA
; ZDE TVUJ KOD
call WriteHex16
call WriteNewLine
ret
cv2_2.asm jedno z mnoha řešení
cv2_2.asm jedno z mnoha řešení
- cv2_2.asm
%include "rw32.inc"
section .text
main:
mov eax,0x11AA
mov bh, ah
mov ah, al
mov al, bh
call WriteHex16
call WriteNewLine
ret
- cv2_3.asm
; Ze vstupu načti čtyři 8b čísla (V, X, Y, Z) a vypiš hodnoty:
; 100-X, 2Y+4Z a V+X+Y+Z (každý výsledek na vlastní řádek).
%include "rw32.inc"
section .text
main:
; ZDE TVUJ KOD
ret
cv2_3.asm jedno z mnoha řešení
cv2_3.asm jedno z mnoha řešení
- cv2_3.asm
%include "rw32.inc"
section .text
main:
call ReadInt8_Silent
mov bl, al ; V
call ReadInt8_Silent
mov bh, al ; X
call ReadInt8_Silent
mov dl, al ; Y
call ReadInt8_Silent
mov dh, al ; Z
; 100-X
mov al, 100
sub al, bh
call WriteInt8
call WriteNewLine
; 2Y+4Z
mov al, dl
add al, dl
add al, dh
add al, dh
add al, dh
add al, dh
call WriteInt8
call WriteNewLine
; V+X+Y+Z
mov al, bl
add al, bh
add al, dl
add al, dh
call WriteInt8
call WriteNewLine
ret
isu/cv02.txt · Last modified: 2024/02/22 19:32 by sakin