·新手小白 发表于 2024-2-14 23:54:02

汇编15.1

我想问一下int 9中断哪里

cmp al,1
jne ....
这cmp al与1比这是什么意思1是esc吗

FishC 发表于 2024-2-14 23:54:16

在汇编语言中,`cmp`(比较)指令用于比较两个操作数的值,并根据比较结果设置标志位。在你提到的代码中,`cmp al, 1` 意味着将寄存器 AL 的值和立即数 1 进行比较。

`AL` 是通用寄存器的一个子集,它是 `AX` 寄存器的低8位。而 1 是一个立即数,也可以是其他合法的立即数。

在比较之后,根据比较结果,接下来的指令 `jne`(跳转不相等)会根据标志位的值决定是否跳转到指定的目标标签处执行。

所以,这段代码的含义是:如果寄存器 `AL` 的值不等于 1,就执行跳转操作。至于具体跳转到哪里,需要看后面的目标标签指定的位置。

关于 `1` 是否表示 Esc 键,这个要看具体的上下文。在某些系统中,键盘扫描码为 1 可能对应着 Esc 键码。但在这段代码中,无法确切确定 `1` 是代表 Esc 键。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

人造人 发表于 2024-2-15 00:15:55


是的
(Table 00006)
Values for keyboard make/break (scan) code:
01h    Esc            31h    N
02h    1 !            32h    M
03h    2 @            33h    , <            63h    F16
04h    3 #            34h    . >            64h    F17
05h    4 $            35h    / ?            65h    F18
06h    5 %            36h    Right Shift      66h    F19
07h    6 ^            37h    Grey*            67h    F20
08h    7 &            38h    Alt            68h    F21 (Fn) [*]
09h    8 *            39h    SpaceBar         69h    F22
0Ah    9 (            3Ah    CapsLock         6Ah    F23
0Bh    0 )            3Bh    F1               6Bh    F24
0Ch    - _            3Ch    F2               6Ch    --
0Dh    = +            3Dh    F3               6Dh    EraseEOF
0Eh    Backspace      3Eh    F4
0Fh    Tab            3Fh    F5               6Fh    Copy/Play
10h    Q                40h    F6
11h    W                41h    F7
12h    E                42h    F8               72h    CrSel
13h    R                43h    F9               73h   [*]
14h    T                44h    F10            74h    ExSel
15h    Y                45h    NumLock          75h    --
16h    U                46h    ScrollLock       76h    Clear
17h    I                47h    Home             77h    Joyst But1
18h    O                48h    UpArrow          78h    Joyst But2
19h    P                49h    PgUp             79h    Joyst Right
1Ah    [ {            4Ah    Grey-            7Ah    Joyst Left
1Bh    ] }            4Bh    LeftArrow      7Bh    Joyst Up
1Ch    Enter            4Ch    Keypad 5         7Ch    Joyst Down
1Dh    Ctrl             4Dh    RightArrow       7Dh    right mouse
1Eh    A                4Eh    Grey+            7Eh    left mouse
1Fh    S                4Fh    End
20h    D                50h    DownArrow
21h    F                51h    PgDn
22h    G                52h    Ins
23h    H                53h    Del
24h    J                54h    SysReq          ---non-key codes---
25h    K                55h    F11      00h    kbd buffer full
26h    L                56h    left \| (102-key)

27h    ; :
57h    F11            AAh    self-test complete
28h    ' "            58h    F12            E0h    prefix code
29h    ` ~            59h    F15      E1h    prefix code
2Ah    Left Shift       5Ah    PA1            EEh    ECHO
2Bh    \ |            5Bh    F13 (LWin)       F0h    prefix code (key break)
2Ch    Z                5Ch    F14 (RWin)       FAh    ACK
2Dh    X                5Dh    F15 (Menu)       FCh    diag failure (MF-kbd)
2Eh    C                                        FDh    diag failure (AT-kbd)
2Fh    V                                        FEh    RESEND
30h    B                                        FFh    kbd error/buffer full

·新手小白 发表于 2024-2-15 09:56:01

人造人 发表于 2024-2-15 00:15
是的

谢谢{:7_113:}
页: [1]
查看完整版本: 汇编15.1