|
根据汇编课程第六章第三节(通常涉及子程序设计)的典型题目,第五题和第六题的常见解答如下:
### 第五题答案(子程序调用)
题目:编写子程序 CAL_SUM 计算 1+2+...+N 的和(N通过AX传递,结果存DX)
- CAL_SUM PROC
- XOR DX, DX ; 清零DX用于存结果
- MOV CX, AX ; CX作为计数器(N值)
- L1: ADD DX, CX ; 累加
- LOOP L1 ; CX自减并跳转L1
- RET
- CAL_SUM ENDP
复制代码
### 第六题答案(中断调用)
题目:用DOS中断 INT 21H 实现字符串输出(字符串首址在DS:DX)
- MOV AH, 09H ; 功能号09H(显示字符串)
- MOV DX, OFFSET MSG ; DS:DX指向字符串
- INT 21H ; 调用中断
- RET
- MSG DB 'Hello FishC!$' ; 必须以$结尾
复制代码
### 关键说明:
1. 第五题核心:
- 用 LOOP 指令实现循环
- 累加结果存放在DX寄存器
2. 第六题核心:
- 使用 INT 21H 的09H功能
- 字符串必须以 $ 结束
- 入口参数:DS:DX=字符串地址
> 注:若题目具体要求(如寄存器使用)不同,需调整代码。实际作业请以教材要求为准。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|