用汇编语言实现以查询方式的数据传送:将内存中首地址为BUF的存储区内的128字节数据向CRT终端输出

用汇编语言实现以查询方式的数据传送:将内存中首地址为BUF的存储区内的128字节数据向CRT终端输出,假设CRT终端数据口地址为0008H,状态口地址为0010,D7为状... 用汇编语言实现以查询方式的数据传送:将内存中首地址为BUF的存储区内的128字节数据向CRT终端输出,假设CRT终端数据口地址为0008H,状态口地址为0010,D7为状态位,D7=0表示输出缓冲器空,允许输出数据。

汇编基础比较浅,希望能够详细注释,谢谢!
另外,端口的地址就是16位的,没有所谓的段地址和偏移地址吗?
展开
 我来答
duyaokun
2020-07-30
知道答主
回答量:41
采纳率:0%
帮助的人:6.1万
展开全部
;之前另一个回答BUFFER地址没有随着循环增加
LEA SI,BUFFER ;BUFFER地址
MOV CX,128 ;循环128次
LOP: MOV DX, 0010H ;状态口地址
IN AL,DX ;读取状态
TEST AL,10000000B ;检测D7 ;
JNZ LOP ;D7为1则继续检查
MOV AL,[SI]
MOV DX, 0008H ;数据口地址
OUT DX,AL ;输出一个字节
INC SI ;下一个输出地址增1
LOOP LOP ;循环128次
做而论道
高能答主

2012-11-08 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
MOV BX, OFFSET BUF
MOV CX, 128
LOP:
MOV DX, 0010H ;状态口地址
IN AL, DX ;输入状态
AND AL, 10000000B ;保留D7
JNZ LOP ;非零转移
MOV AL, [BX] ;取出数据
MOV DX, 0008H ;数据口地址
OUT DX, AL ;输出
LOOP LOP ;循环128次

HLT

就这些,即可将内存中首地址为BUF的存储区内的128字节数据向CRT终端输出。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式