Для того чтобы отключить клавиатуру, необходимо установить восьмой бит в 0х61 порту (порт управления клавиатурой) равным единицы. Для ее включения, необходимо данный бит сбросить.
Вот код который отключает а затем обратно включает клавиатуру.
P.S. что бы не затенять весь смысл сказанного, пишу код на 
'C'. При желании, переписать его на ассемблер не составит большого труда.
void lock_unlock_keyboard(void)
{
    /* через порт 0x61 отключаем клавиатуру */
    tmp = inb(0x61);
    outb(tmp|0x80, 0x61);
    /* затем обратно включаем ее */
    outb(tmp,0x61);
}
/* ввод из порта */
extern inline unsigned char inb(unsigned short port)
{
    unsigned char __v;
    __asm__ __volatile__ ("inb %w1, %0" : "=a" (__v) : "Nd" (port));
    return __v;
}
/* вывод в порт */
extern inline void outb(unsigned char value, unsigned short port)
{
    __asm__ __volatile__ ("outb %b0, %w1" : : "a" (value), "Nd" (port));
}