⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档.txt

📁 用汇编编写的仓库零件管理系统
💻 TXT
📖 第 1 页 / 共 2 页
字号:
        END    程序结束.

七. 系统和BIOS,DOS占用的中断向量
───────────────────────────────────────
    .中断 0: 除数为0错            .中断 19: 引导装入程序
    .中断 1: 单步中断              .中断 1A: 日时调用
    .中断 2: 不可屏蔽中断 NMI      .中断 1B: 键盘阻断时得到控制权
    .中断 3: 断电中断 (CCH)        .中断 1C: 时钟中断时得到控制权
    .中断 4: 溢出中断              .中断 1D: 指向CRT初始参数表
    .中断 5: 屏幕打印中断          .中断 1E: 指向盒带参数表
    .中断 6-7: 保留                .中断 1F: 1KB图形模式CRT用第128至256号字符
    .中断 8: 计时器中断(18.2/秒)    .中断 20: 结束DOS程序
    .中断 9: 键盘中断              .中断 21: DOS功能调用
    .中断 A-D: 保留                .中断 22: 结束地址 (建议用EXEC功能调用)
    .中断 E: 软盘机中断            .中断 23: DOS Ctrl-Break退出地址
    .中断 F: 保留                  .中断 24: DOS 致命错向量
    .中断 10: 屏幕I/O调用          .中断 25: DOS 绝对磁盘读
    .中断 11: 设备检查调用          .中断 26: DOS 绝对磁盘写
    .中断 12: 存贮器检查调用        .中断 27: 结束程序并贮留(建议用31H功能调用)
    .中断 13: 软盘机I/O调用        .中断 28-3F: DOS 保留
    .中断 14: RS-232 I/O 调用      .中断 40-7F: 未用
    .中断 15: 盒带机I/O调用        .中断 80-85: BASIC保留
    .中断 16: 键盘I/O调用          .中断 86-F0: BASIC解释程序用
    .中断 17: 打印机I/O调用        .中断 F1-FF: 未用
    .中断 18: ROM-BASIC入口

八. IBM PC 的中断 INT 10:
───────────────────────────────────────
  .00H 屏幕方式设置.
      入口: AH=0, AL=显示方式代码.(0-6)
          0: 40x25 黑白  1: 40x25 彩色  2: 80x25 黑白  3: 80x25 彩色文本方式
          4: 320x200 彩色  5: 320x200 黑白  6: 640x200 黑白图形方式
          7: 80x25 单色字符 (单色显示器)
  .01H 设光标大小
      入口: AH=1, CH=光标起始行号(00-0C), CL=光标结束行号(00-0C), 且CH<CL.
  .02H 光标定位
      入口: AH=2, BH=页号, DHL=起始行:列.
  .03H 读光标位置
      入口: AH=3, BH=页号. 返回: DHL=起始行:列.
  .06H 窗口上卷
      入口: AH=6, AL=窗口上卷行数(AL=0 卷动整个窗口);
            CH:CL -DHL  窗口坐标
  .07H 窗口下卷
      入口: AH=7, AL=窗口下卷行数
            CH:CL -DHL  窗口坐标
  .08H 读当前光标处字符和属性
      入口: AH=8, BH=页号. 返回: AH:AL=字符的颜色:字符的ASCII码
            显示字符的颜色定义如下:
                1  2  3  4  5  6  7  8
              ┌─┬─┬─┬─┬─┬─┬─┬─┐
              │BL│R│G│B│I│R│G│B│
              └─┴─┴─┴─┴─┴─┴─┴─┘  B-兰 G-绿 R-红
                闪  └───┘  加  └───┘
                烁  字符底色  亮  字符显示色
  .09H 在当前光标处写字符和属性(光标不下移).
      入口: AH=9, BH=页号, BL:AL=字符的颜色:字符的ASCII码, CX=重复次数.
  .0AH 在当前光标处写字符(原有属性)
      入口: AH=0A, BH=页号, AL=字符的ASCII码, CX=重复次数.
  .0BH 色彩设置
      入口: AH=0B, BL=0  设背景色, BH=0-15
                  BL=1  设调色码, BH=0-1
  .0CH 写图形点
      入口: AH=0C, CXX=列号:行号, AL=颜色.
  .0DH 读图形点
      入口: AH=0D, CXX=列号:行号. 返回: AL=颜色,
  .0EH 在当前页、当前光标处写字符
      入口: AH=0E, AL=字符的ASCII码, BL=前景色.
  .0FH 显示器状态
      入口: AH=0F. 返回: AL=当前显示器方式, AH=屏幕列数, BH=当前页号

九. IBM PC 的键盘中断 INT 16:
───────────────────────────────────────
  .00H 读一个键盘键入字符.
      入口: AH=0.  返回: AL=字符的ASCII码, AH=扫描码.
  .01H 确认键盘是否键入字符.
      入口: AH=1.  返回: ZF=1 (Z) 未键入字符;
                        ZF=0 (NZ)键入字符, AL=字符的ASCII码, AH=扫描码.
                  键入字符同时留在键盘缓冲区.
  .02H 读当前移位键状况.
      入口: AH=2.
      返回: AL=状态.
                      7  6  5  4  3  2  1  0
                  ┌─┬─┬─┬─┬─┬─┬─┬─┐
            AL:    │  │  │  │  │  │  │  │  │
                  └─┴─┴─┴─┴─┴─┴─┴─┘
                    │  │  │  │  │  │  │  │
                    │  │  │  │  │  │  │  └─右Shift
                    │  │  │  │  │  │  └─左Shift
                    │  │  │  │  │  └─Ctrl
                    │  │  │  │  └─Alt
                    │  │  │  └─Scroll Lock
                    │  │  └─Num Lock
                    │  └─Capa Lock
                    └─Ins

十. ROM 中断 INT 13:
───────────────────────────────────────
    A.软盘机I/O调用(360K)
      .00H 复位盘系统
          入口: AH =0
          返回: AH =磁盘状态
                0-坏命令, 1-盘上地址找不到, 3-写保护, 4-扇区找不到, ...
      .01H 读磁盘状态
          入口: AH =1
          返回: AH =磁盘状态
      .02H 磁盘读
          入口: AH =2, DL =驱动器号(0-3), 0=A, 1=B, 2=C
                DH =头号(0或1), CH =道号(0-39H), CL =起始扇区号(1-9)
                AL =欲读扇区数(1-9), ES:BX =内存缓冲区首址.
          返回: AL =实际读入扇区数,AH =磁盘状态; 进位标志CF =0,出错; =1,成功.
      .03H 磁盘写
          入口: AH =3, DL =驱动器号(0-3), 0=A, 1=B, 2=C
                DH =头号(0或1), CH =道号(0-39H), CL =起始扇区号(1-9)
                AL =欲写扇区数(1-9), ES:BX =内存缓冲区首址.
          返回: AL =实际写入扇区数,AH =磁盘状态; 进位标志CF =0,出错; =1,成功.
    B.硬盘机I/O调用
          入口: AH =0-3, DL =驱动器号(硬盘80H,81H), 80=C, 81=D
                DH =头号(硬盘0-15), CH =道号(0-1023), CL =起始扇区号(1-17)
                AL =欲读写扇区数, ES:BX =内存缓冲区首址.
          返回: AL =实际读入扇区数,AH =磁盘状态; 进位标志CF =0,出错; =1,成功.

十一. 绝对磁盘读写 (中断25,中断26)
───────────────────────────────────────
    A. INT 25 绝对磁盘读
    B. INT 26 绝对磁盘写
        入口: AL =驱动器号(0-2), 0=A, 1=B, 2=C
              DX =起始扇区的逻辑扇区号
              CX =欲读写扇区数(1-80H),
              DS:BX =内存缓冲区首址.

十二. IBM PC 功能调用 (中断 INT 21)
───────────────────────────────────────
  .00H 程序结束.
  .01H 键盘输入一个字符.(回显)
        入口: AH=01.      返回: DL=输入字符.
        对扩展键, 要求两次功能调用.
  .02H 显示一个字符.
        入口: AH=02, DL=字符.(07响铃,08退格,0D回车,0A换行)
  .05H 打印一个字符.
        入口: AH=05, DL=字符.(0D回车,0A换行)
  .08H 键盘输入一个字符.(不回显)
        入口: AH=08.      返回: DL=输入字符.
        对扩展键, 要求两次功能调用.
  .09H 显示一串字符.
        入口: AH=09, DSX=字符串首址.(字符串必须以字符'$'结尾.)
  .0AH 键盘输入一串字符.
        入口: AH=0A, DSX=字符串首址. 字节DS:[DX]=缓冲区长(最多容纳字符数)
              (输入字符串必须以回车结尾.)
        返回: 字符串首址在DSX+2,字符数=DS:[DX+1].
  .0CH 清键盘缓冲区,并调用键盘功能(.01H,06H,07H,08H或0AH).
        入口: AH=0C, AL=调用键盘功能号(.01H,06H,07H,08H或0AH).
  .30H 取得DOS版本号.
        返回: AL-主版本号, AH-次版本号
  .42H 移动文件读写指针
            AL=0    指针从文件开始移动CXX个字节
            AL=1    指针从当前位置开始移动CXX个字节
            AL=2    指针从文件尾向前移动CXX个字节
  .43H 改变文件属性
  .4CH 结束DOS程序,并保留代码可用于批处理中.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -