鱼C论坛

 找回密码
 立即注册
查看: 227|回复: 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

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

  41. 27h    ; :
  42. 57h    F11              AAh    self-test complete
  43. 28h    ' "              58h    F12              E0h    prefix code
  44. 29h    ` ~              59h    [Note1] F15      E1h    prefix code
  45. 2Ah    Left Shift       5Ah    PA1              EEh    ECHO
  46. 2Bh    \ |              5Bh    F13 (LWin)       F0h    prefix code (key break)
  47. 2Ch    Z                5Ch    F14 (RWin)       FAh    ACK
  48. 2Dh    X                5Dh    F15 (Menu)       FCh    diag failure (MF-kbd)
  49. 2Eh    C                                        FDh    diag failure (AT-kbd)
  50. 2Fh    V                                        FEh    RESEND
  51. 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 | 显示全部楼层    本楼为最佳答案   

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

  41. 27h    ; :
  42. 57h    F11              AAh    self-test complete
  43. 28h    ' "              58h    F12              E0h    prefix code
  44. 29h    ` ~              59h    [Note1] F15      E1h    prefix code
  45. 2Ah    Left Shift       5Ah    PA1              EEh    ECHO
  46. 2Bh    \ |              5Bh    F13 (LWin)       F0h    prefix code (key break)
  47. 2Ch    Z                5Ch    F14 (RWin)       FAh    ACK
  48. 2Dh    X                5Dh    F15 (Menu)       FCh    diag failure (MF-kbd)
  49. 2Eh    C                                        FDh    diag failure (AT-kbd)
  50. 2Fh    V                                        FEh    RESEND
  51. 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-5-1 04:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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