通过中断int21h显示有点问题~望牛人指导一下

lovesqi 2012-12-24 11:21:25
代码功能:调用cmos中的时间,然后按格式显示.我使用了int10h 和 int21h 的中断例程来显示发现有点问题
代码如下:
程序运行后在内存中处理数据后如下

但是运行时候调用int 21h ah=9的显示字符串以$结尾的中断例程效果如下,不知道是为什么,请牛人帮忙分析一下



assume cs:code,ds:data
data segment
db 18 dup (0)
data ends
code segment
read: db 9,8,7,4,2,0
start: mov ax,cs
mov ds,ax
mov ax,data
mov es,ax
mov di,3
mov bx,offset read
mov cx,6
ok: push cx
mov al,[bx] ;端口号
out 70h,al ;向70端口写入地址
in al,71h ;向71端口读入数据
mov ah,al
mov cl,4 ;移4位
shr ah,cl ;获得十位数码
and al,00001111b ;获得个位数码
add al,30h ;转换个位为ASCII码
add ah,30h ;转换十位为ASCII码
mov es:[si],ah ;存放高位
mov es:[si+1],al ;存放低位
add si,3
inc bx
pop cx
loop ok
mov byte ptr es:[si-1],'$' ;存放结尾符号
mov byte ptr es:[2],'/' ;添加符号
mov byte ptr es:[5],'/'
mov byte ptr es:[11],':'
mov byte ptr es:[14],':'


;以下为显示
mov ah,2 ;置光标
mov bh,0 ;第0页
mov dh,10 ;行数
mov dl,12 ;列数
int 10h
mov ax,data
mov ds,ax
mov dx,0 ;ds:ax 指向字符串的首地址 data:0
mov ah,9 ;在光标位置显示字符串以$结尾
int 21h
mov ax,4c00h
int 21h
code ends
end start
...全文
289 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovesqi 2012-12-24
  • 打赏
  • 举报
回复
引用 1 楼 zara 的回复:
debug 加载之运行正常,说明有寄存器没有进行适当的初始化,仔细看看,si 没有置值就直接使用了。
谢谢提醒,有点马虎了.十分感谢
zara 2012-12-24
  • 打赏
  • 举报
回复
debug 加载之运行正常,说明有寄存器没有进行适当的初始化,仔细看看,si 没有置值就直接使用了。
内容概要:本文研究了基于深度强化学习的多无人机辅助边缘计算网络路径规划方法,旨在通过深度强化学习算法优化多无人机在执行任务时的飞行路径,以提高边缘计算网络的服务质量和效率。文中系统阐述了深度强化学习的基本原理及其在无人机路径规划中的应用,重点解决了动态环境适应性和多目标优化等关键技术难题。研究提出了一种高效的算法框架,能够有效应对复杂环境中的障碍物规避、能耗最小化和任务完成时间最短化等多重挑战。该框架通过Matlab代码实现,并经过大量仿真实验验证,结果表明,相较于传统路径规划方法,所提方法在确保飞行安全的前提下,显著提升了无人机的任务执行效率和网络服务质量,展现了优异的性能表现和广阔的应用前景。; 适合人群:具备一定编程基础,特别是熟悉Matlab编程语言,对无人机技术、边缘计算或深度强化学习感兴趣的科研人员和技术开发者。; 使用场景及目标:①为研究人员提供一种新的无人机路径规划解决方案,特别是在复杂动态环境下;②促进深度强化学习技术在无人机辅助边缘计算网络中的应用和发展;③为相关领域的工程技术人员提供技术支持和参考案例。; 阅读建议:读者在阅读本文时,应重点关注深度强化学习算法的设计思路及其在无人机路径规划中的具体应用,同时结合提供的Matlab代码进行实践操作,以便更好地理解和掌握该技术的核心要点。

21,500

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧