设内存缓冲区从DS:0200H单元开始,存放10个单字节数,要求找出最大数送020BH单元,最小数送 020CH单元。
时间: 2024-05-11 11:16:03 浏览: 116
创建缓冲区
好的,针对您的问题,我可以提供以下汇编代码:
```
MOV SI, 0200H ; 将SI指向内存缓冲区起始地址
MOV AX, [SI] ; 将第一个单字节存入AX作为最大数的初始值
MOV BX, [SI] ; 将第一个单字节存入BX作为最小数的初始值
LOOP_START:
MOV CX, 000Ah ; 将计数器设置为10
ADD SI, 2 ; 每次加2个单字节长度
CMP CX, 0 ; 如果计数器为0则结束循环
JE LOOP_END
CMP AX, [SI] ; 比较当前值是否大于AX,如果是则更新AX
JG UPDATE_MAX
CMP BX, [SI] ; 比较当前值是否小于BX,如果是则更新BX
JL UPDATE_MIN
DEC CX ; 计数器减1
JMP LOOP_START ; 继续循环
UPDATE_MAX:
MOV AX, [SI]
JMP LOOP_START
UPDATE_MIN:
MOV BX, [SI]
JMP LOOP_START
LOOP_END:
MOV [020BH], AX ; 将最大数存入020BH单元
MOV [020CH], BX ; 将最小数存入020CH单元
```
以上代码即为在汇编语言下寻找最大、最小数并存储的示例,您可以根据实际需要进行调整。
阅读全文