[Back to NUMBERS SWAG index] [Back to Main SWAG index] [Original]
{ SEAN PALMER
I've been playing around with the AAM instruction and came up with some
things you guys might find useful...
Strings as function results are WIERD with the inline Assembler. 8)
}
function div10(b : byte) : byte; assembler;
asm
mov al, b
aam
mov al, ah
end;
function mod10(b : byte) : byte; assembler;
asm
mov al, b
aam
end;
type
str2 = string[2];
str8 = string[8];
function toStr2(b : byte) : str2; assembler;
asm {only call with b=0~99}
les di, @RESULT
cld
mov al, 2
stosb
mov al, b
aam
xchg ah, al
add ax, $3030
stosw
end;
{makes date string in MM/DD/YY format from m,d,y}
function toDateStr(m,d,y:byte):str8;assembler;asm {only call with m,d,y=0~99}
les di, @RESULT
cld
mov al, 8
stosb
mov al, m
aam
xchg ah, al
add ax, $3030
stosw
mov al, '/'
stosb
mov al, d
aam
xchg ah, al
add ax, $3030
stosw
mov al, '/'
stosb
mov al, y
aam
xchg ah, al
add ax, $3030
stosw
end;
[Back to NUMBERS SWAG index] [Back to Main SWAG index] [Original]