Egy egyjegyű szám esetében szeretném tudni, hogy páratlan vagy páros (2 többszöröse). Például, ha 9-et ad, nyomtassa ki, hogy ez egy páratlan szám.
(azaz a matematikai paritást ellenőrizze, ne a számítási paritás.)
Ez van nálam:
assume cs:cseg,ds:dseg,ss:sseg
cseg segment
start:
mov ax, dseg
mov ds, ax
mov ah, 01h ; Here, im adding a number
int 21h
jp even
jnp odd
even:
mov ah,09
lea dx,par
int 21h
jmp exit
odd:
mov ah,09
lea dx,odd1
int 21h
jmp salir
salir:
mov ax,4C00h
int 21h
cseg ends
dseg segment byte
even Db 'Even number$'
odd11 Db 'Odd number$'
dseg ends
sseg segment stack
db 100h dup(?)
sseg ends
end start
test eax, 1
15.09.2017test al, 1
, mert nincstest r32, imm8
kódolás, így rövidebb, ha csak aeax
alsó bájtját olvassa be aal
olvasásával. (Részleges regisztereket írni rossz, olvasni jó.) 19.11.2017