Advertisement
Guest User

Untitled

a guest
Nov 26th, 2014
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1.  
  2. ; _____________________________________________________________________________________________
  3. ; Inverte Pixeis
  4. ; Inverte pixel screen
  5. inverte:
  6. ; salva registos
  7. PUSH R1
  8. PUSH R2
  9. PUSH R3
  10. PUSH R4
  11. ; inicia registos
  12. MOV R0, last_tecla ; le a tecla premida que foi guardada na memoria
  13. MOV R3, [R0] ; verifica se nenhuma tecla foi premida
  14. MOV R4, 0CH ; se isso se verificar acaba a função
  15. CMP R3, R4
  16. JNZ clr_genebra_out
  17. MOV R1, ECRA ; registo com o endereço do primeiro byte do pixel screen
  18. MOV R3, ECRAfim ; registo com o endereço do ultimo byte do pixel screen
  19. ; corpo
  20. clr_ciclo_inverte:
  21. MOVB R2, [R1]
  22. NOT R2
  23. MOVB [R1], R2 ; escreve 00H no byte indicado por R1
  24. MOV R4, R1 ; Duplica o R1 para R4
  25. ADD R1, 1 ; incrementa o R1 para passar para o próximo byte
  26. CMP R4, R3 ; compara com o valor do R1 antes de ter sido incrementado para garantir que limpa o ultimo byte
  27. JNZ clr_ciclo_inverte ; repete clr_ciclo até chegar ao ultimo endereço
  28. ; recupera registos
  29. clr_inverte_out:
  30. POP R4
  31. POP R3
  32. POP R2
  33. POP R1
  34. RET
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement