鱼C论坛

 找回密码
 立即注册
查看: 531|回复: 3

[已解决]汇编15.1

[复制链接]
发表于 2024-2-14 23:54:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我想问一下int 9中断哪里

cmp al,1
jne ....
这cmp al与1比这是什么意思1是esc吗
最佳答案
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    [Note2] Joyst But1 18h    O                48h    UpArrow          78h    [Note2] Joyst But2 19h    P                49h    PgUp             79h    [Note2] Joyst Right 1Ah    [ {              4Ah    Grey-            7Ah    [Note2] Joyst Left 1Bh    ] }              4Bh    LeftArrow        7Bh    [Note2] Joyst Up 1Ch    Enter            4Ch    Keypad 5         7Ch    [Note2] Joyst Down 1Dh    Ctrl             4Dh    RightArrow       7Dh    [Note2] right mouse 1Eh    A                4Eh    Grey+            7Eh    [Note2] 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    [Note1] 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    [Note1] 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
  • 想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

    发表于 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 小助理,如未能正确解答您的问题,请继续追问。
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

    发表于 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    [Note2] Joyst But1 18h    O                48h    UpArrow          78h    [Note2] Joyst But2 19h    P                49h    PgUp             79h    [Note2] Joyst Right 1Ah    [ {              4Ah    Grey-            7Ah    [Note2] Joyst Left 1Bh    ] }              4Bh    LeftArrow        7Bh    [Note2] Joyst Up 1Ch    Enter            4Ch    Keypad 5         7Ch    [Note2] Joyst Down 1Dh    Ctrl             4Dh    RightArrow       7Dh    [Note2] right mouse 1Eh    A                4Eh    Grey+            7Eh    [Note2] 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    [Note1] 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    [Note1] 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
  • 想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 1 反对 0

    使用道具 举报

     楼主| 发表于 2024-2-15 09:56:01 | 显示全部楼层
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

    GMT+8, 2024-12-22 09:21

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表