# CS1024M1 《汇编语言程序设计与调试》

## ~~模拟题~~

听课+复习即可

## 附录：部分复习方向

### 三种调用

|  | near call | far call | int |
| :--- | :---: | :---: | :---: |
| push 数量 | `______` | `______` | `______` |
| push 顺序 | `______` | `______` → `______` | `______` → `______` → `______` |
| 返回指令 | `______` | `______` | `______` |
| 返回时 pop | `______` | `______` → `______` | `______` → `______` → `______` |

### 堆栈框架

### 中断向量与修改流程

### DOS 中断

**int 21h：**

| AH | 功能 | 入口 | 出口 |
| :---: | --- | --- | --- |
| `______` | 键盘输入+回显 | — | `______` |
| `______` | 显示字符 | `______` | — |
| `______` | 显示 `$` 结尾串 | `______` | — |
| `______` | 退出 | `______` | — |

**int 00h：** `______`（触发条件：`______` 或 `______`，插在 `______` 指令的 `______`）

**int 01h：** `______`（触发条件：`______` = 1，用途：`______`）

**int 08h：** `______`（触发频率约 `______` 次/秒，用途：`______`）

**int 09h：** `______`（触发时机：`______`，读取端口 `______`）

### 标志位

### 条件跳转

| 指令 | 条件 | 备注 |
| :--- | :--- | :--- |
| `jl` | `______` | `______` |
| `jg` | `______` |  |
| `jb`/`jc` | `______` | 等价 |
| `je`/`jz` | `______` | 等价 |
| `loop` | `______` | CX=0 时循环 `______` 次 |
| `repne` | `______` | 与 `loop` `______` |

### 字符串指令

| 指令 | 功能 | 寄存器 |
| :--- | :--- | :--- |
| `repne scasb` | `______` | `______` |
| `rep movsb` | `______` | `______` |
| `lodsb` | `______` | `______` |
| `stosb` | `______` | `______` |
| `xlat` | `______` | `______` |

> 方向由 DF 控制：`cld`→`______`，`std`→`______`。

### 调试器

### 间接寻址缺省段址

| 寻址方式 | 缺省段寄存器 |
| :--- | :---: |
| `[bx]`, `[si]`, `[di]` | `______` |
| `[bp]` | `______` |
| `[bx+si]`, `[bx+di]` | `______` |
| `[bp+si]`, `[bp+di]` | `______` |
