.model small .stack .data .code ;mov ah,0040:0097 ;mov ah,[offset] mov ax,0040h mov ds,ax mov bx,0097h mov ah,[bx] ;valor do byte em 0040:0097 está no registrador AH and ah,00000111b ;tratando o registrador para utiliza apenas os bits ;que interessam (caps, num, scroll) ;agora inverteremos os bits 1 e 2, para os ;bits ficarem na mesma ordem que o teclado mov ch,ah and ch,00000100b mov cl,ah and cl,00000010b and ah,00000001b shl cl,1 shr ch,1 add ah,cl add ah,ch ;AH com o estado dos leds nos tres primeiros bits, ;com ordem igual a do teclado. ;agora multiplicaremos ah por 10. mov al,ah ;instrucao de multiplicacao usa AL como operando. mov bl,10d mul bl mov ax,4c00h ;interrupcao 21,4c para finalizaçao do programa int 21h ;finalizacao do programa end