Rev 8139 | Rev 8160 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8139 | Rev 8158 | ||
---|---|---|---|
Line 69... | Line 69... | ||
69 | format binary as "mnt" |
69 | format binary as "mnt" |
Line 70... | Line 70... | ||
70 | 70 | ||
71 | include 'macros.inc' |
71 | include 'macros.inc' |
Line 72... | Line 72... | ||
72 | include 'struct.inc' |
72 | include 'struct.inc' |
Line 73... | Line 73... | ||
73 | 73 | ||
74 | $Revision: 8139 $ |
74 | $Revision: 8158 $ |
Line 1744... | Line 1744... | ||
1744 | add ebx, edx |
1744 | add ebx, edx |
1745 | ; 1 = normal layout |
1745 | ; 1 = normal layout |
1746 | dec ecx |
1746 | dec ecx |
1747 | jnz .shift |
1747 | jnz .shift |
Line -... | Line 1748... | ||
- | 1748 | ||
- | 1749 | cmp ebx, 0x7FFFFFFF ; if given memory address belongs to kernel then error |
|
- | 1750 | ja .addr_error |
|
1748 | 1751 | ||
1749 | mov eax, keymap |
1752 | mov eax, keymap |
1750 | mov ecx, 128 |
1753 | mov ecx, 128 |
1751 | call memmove |
1754 | call memmove |
1752 | ret |
1755 | ret |
1753 | ;-------------------------------------- |
1756 | ;-------------------------------------- |
1754 | .shift: |
1757 | .shift: |
1755 | ; 2 = layout with pressed Shift |
1758 | ; 2 = layout with pressed Shift |
1756 | dec ecx |
1759 | dec ecx |
Line -... | Line 1760... | ||
- | 1760 | jnz .alt |
|
- | 1761 | ||
- | 1762 | cmp ebx, 0x7FFFFFFF |
|
1757 | jnz .alt |
1763 | ja .addr_error |
1758 | 1764 | ||
1759 | mov eax, keymap_shift |
1765 | mov eax, keymap_shift |
1760 | mov ecx, 128 |
1766 | mov ecx, 128 |
1761 | call memmove |
1767 | call memmove |
1762 | ret |
1768 | ret |
1763 | ;-------------------------------------- |
1769 | ;-------------------------------------- |
1764 | .alt: |
1770 | .alt: |
1765 | ; 3 = layout with pressed Alt |
1771 | ; 3 = layout with pressed Alt |
Line -... | Line 1772... | ||
- | 1772 | dec ecx |
|
- | 1773 | jne .country |
|
- | 1774 | ||
1766 | dec ecx |
1775 | cmp ebx, 0x7FFFFFFF |
1767 | jne .country |
1776 | ja .addr_error |
1768 | 1777 | ||
1769 | mov eax, keymap_alt |
1778 | mov eax, keymap_alt |
1770 | mov ecx, 128 |
1779 | mov ecx, 128 |
Line 1777... | Line 1786... | ||
1777 | jnz .error |
1786 | jnz .error |
Line 1778... | Line 1787... | ||
1778 | 1787 | ||
1779 | movzx eax, word [keyboard] |
1788 | movzx eax, word [keyboard] |
1780 | mov [esp+32], eax |
1789 | mov [esp+32], eax |
- | 1790 | ret |
|
- | 1791 | ||
- | 1792 | .addr_error: ; if given memory address is illegal |
|
- | 1793 | mov eax, -1 |
|
1781 | ret |
1794 | ret |
1782 | ;-------------------------------------- |
1795 | ;-------------------------------------- |
1783 | @@: |
1796 | @@: |
1784 | ; F.26.5 - get system language |
1797 | ; F.26.5 - get system language |
1785 | sub ebx, 3 |
1798 | sub ebx, 3 |