社区
汇编语言
帖子详情
如何将存储器或寄存器中的内容在屏幕上显示出来?
阿木的汤
2005-05-29 02:38:33
如何将存储器或寄存器中的内容在屏幕上显示出来?
...全文
865
9
打赏
收藏
如何将存储器或寄存器中的内容在屏幕上显示出来?
如何将存储器或寄存器中的内容在屏幕上显示出来?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tpxc
2005-08-23
打赏
举报
回复
assume cs:code
data segment
str db 8 dup(0)
dw 10
data ends
stack segment
dw 8 dup(0)
stack ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
mov ax,stack
mov ss,ax
mov sp,16
mov dx,0
mov ax,12606 ;要显示的字就是这里拉
mov cx,0
dtoc: inc cx
div word ptr [bx+8]
push dx
mov dx,0
cmp ax,0
je s
jmp short dtoc
s: pop ax
add ax,30h
mov [bx],al
inc bx
loop s
mov [bx],byte ptr '$'
mov dx,offset str
mov ah,9
int 21h ;dos系统功能调用9号(显示字符串)
mov ax,4c00h
int 21h ;返回dos
code ends
end start
WYlslrt
2005-06-30
打赏
举报
回复
你可以将它改为masm书写格式
WYlslrt
2005-06-30
打赏
举报
回复
把我的操作系统中关于此功能的代码给你
bits 16
org 0
main:
mov ax,cs ;初始化
mov ss,ax
mov sp,07bffh
xor ax,ax
mov ds,ax
mov es,ax
;开始加载中断,为了避免段间错误,以后所有代码都有段超越前缀
;写入22h中断
cli
mov di,22h*4
mov ax,cs
mov [ds:di+2],ax ;向中断向量表写入段值
mov ax,WYOS_int22h_proc
mov [ds:di],ax ;向中断向量表写入偏移
;写入21h中断
mov di,21h*4
mov ax,cs
mov [ds:di+2],ax
mov ax,WYOS_int21h_proc
mov [ds:di],ax
sti
mov ax,cs
mov ds,ax
mov si,WYOSMSG
mov ah,0
int 22h
mov si,WYOSKNL
mov ax,50h
mov es,ax
mov di,0
mov ah,1
mov dx,1000h
mov bx,0
int 22h
jmp 1000h:0000
;加载完成,剩下的就是完成中断函数
jmp $ ;程序结束
;----------------------------------21h中断代码区------------------------------
;21h中断代码
WYOS_int21h_proc:
pusha
push bx
push ax
mov bx,7
mov ah,0eh
mov al,0dh
int 10h
mov al,0ah
int 10h ;重新换一行
;输出ax
mov al,'A'
int 10h
mov al,'X'
int 10h
mov al,'='
int 10h
pop ax ;取得ax,先输出ah,再输出al
push ax ;保存ax
mov al,ah
call SHOWALASCII
pop ax
call SHOWALASCII
mov ah,0eh
mov al,'h'
int 10h
mov al,20h
int 10h
;输出cx
mov al,'C'
int 10h
mov al,'X'
int 10h
mov al,'='
int 10h
mov al,ch
call SHOWALASCII
mov al,cl
call SHOWALASCII
mov ah,0eh
mov al,'h'
int 10h
mov al,20h
int 10h
;输出DX
mov al,'D'
int 10h
mov al,'X'
int 10h
mov al,'='
int 10h
mov al,dh
call SHOWALASCII
mov al,dl
call SHOWALASCII
mov ah,0eh
mov al,'h'
int 10h
mov al,20h
int 10h
;输出BX
mov al,'B'
int 10h
mov al,'X'
int 10h
mov al,'='
int 10h
pop bx ;取得bx
mov cx,bx
mov bx,7
mov al,ch
call SHOWALASCII
mov al,cl
call SHOWALASCII
mov ah,0eh
mov al,'h'
int 10h
mov al,20h
int 10h
;输出SP
mov al,'S'
int 10h
mov al,'P'
int 10h
mov al,'='
int 10h
mov cx,sp
mov al,ch
call SHOWALASCII
mov al,cl
call SHOWALASCII
mov ah,0eh
mov al,'h'
int 10h
mov al,20h
int 10h
;输出BP
mov al,'B'
int 10h
mov al,'P'
int 10h
mov al,'='
int 10h
mov cx,bp
mov al,ch
call SHOWALASCII
mov al,cl
call SHOWALASCII
mov ah,0eh
mov al,'h'
int 10h
mov al,20h
int 10h
;输出SI
mov al,'S'
int 10h
mov al,'I'
int 10h
mov al,'='
int 10h
mov cx,si
mov al,ch
call SHOWALASCII
mov al,cl
call SHOWALASCII
mov ah,0eh
mov al,'h'
int 10h
mov al,20h
int 10h
;输出DI
mov al,'D'
int 10h
mov al,'I'
int 10h
mov al,'='
int 10h
mov cx,di
mov al,ch
call SHOWALASCII
mov al,cl
call SHOWALASCII
mov ah,0eh
mov al,'h'
int 10h
mov al,20h
int 10h
;输出FLAG寄存器
mov al,0dh
int 10h
mov al,0ah
int 10h ;重新换一行
mov al,'F'
int 10h
mov al,'L'
int 10h
mov al,'A'
int 10h
mov al,'G'
int 10h
mov al,':'
int 10h
call SHOWFLAG
mov al,0dh
int 10h
mov al,0ah
int 10h
popa
iret
;===================================
;==========================================================================
;SHOWAL
;
;
;
;==========================================================================
SHOWALASCII:
push ax
push ax
al_showhigh:
shr al,4
add al,30h
cmp al,39h
jbe al_showlow
add al,7
mov ah,0eh
int 10h
jmp al_low
al_showlow:
mov ah,0eh
int 10h
al_low: pop ax
and al,0fh
add al,30h
cmp al,39h
jbe al_endshow
add al,7
mov ah,0eh
int 10h
jmp al_back
al_endshow:
mov ah,0eh
int 10h
al_back: pop ax
ret
;==========================================================================
;SHOWFLAG
;
;
;
;==========================================================================
SHOWFLAG:
PUSH BX
PUSHF
POP BX
PUSHF
PUSH AX
push cx
MOV CX,16
LAST1:
MOV AL,'0'
RCL BX,1
JNC NEXT1
MOV AL,'1'
NEXT1: MOV AH,0EH
INT 10H
LOOP LAST1
MOV AL,'B'
INT 10H
POP CX
POP AX
POPF
POP BX
RET
denghongli1
2005-06-30
打赏
举报
回复
不知道你用的是哪个汇编程序,我也是刚刚学汇编的,我们用的是masm5,用debug查看结果,如果你也是的话,可以先用记事本,把程序写出来,然后用masm5连接汇编,然后可以用debug查看,最后调用dos的02功能,可以查看结果,在调用dos的02功能之前,要注意你是显示输出字符还是字符串,如果是字符可以加这样一条语句 mov dl,ax 其中ax是你所要输出的寄存器名,如果是字符串就要把al改成ax这样就可以了.
不知道我所说的能不能帮助你,我也是个新手!
proinfor
2005-06-06
打赏
举报
回复
显示用DOS的2号功能调用
mov ah,2
int 21h
showtime84
2005-06-06
打赏
举报
回复
举个简单的例子,
mov dl,'a' ;入口参数dl
mov ah,2 ; 调用系统的子程序号
int 21h ; biso中的系统功能调用
这是在电脑屏幕上显示的就是字符 a
xp5211314
2005-06-05
打赏
举报
回复
能不能写一段代码给我参考参考怎么调用的啊!
goodsea
2005-05-30
打赏
举报
回复
用DEBUG -t可以显示寄存器 中的内容
VxD1
2005-05-29
打赏
举报
回复
将存储器或寄存器中的数转换为ASCII码,然后调用dos功能调用的2号功能号显示
【卫星姿态动力学】基于matlab扭矩输入下单轴卫星姿态动力学仿真【含Matlab源码 14178期】.zip
Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的目录
内容
主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹
中
; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
基于JavaEE的在线教育平台设计与实现_包含用户管理课程发布学习进度跟踪在线测试成绩统计视频播放讨论区互动资源下载权限控制数据可视化_用于高校或培训机构提供一站.zip
基于JavaEE的在线教育平台设计与实现_包含用户管理课程发布学习进度跟踪在线测试成绩统计视频播放讨论区互动资源下载权限控制数据可视化_用于高校或培训机构提供一站.zip
面板数据-全国人力资本数据集(1982-2023年).txt
因文件较多,数据存放网盘,txt文件内包含下载链接及提取码,永久有效。失效会第一时间进行补充。样例数据及详细介绍参见文章:https://blog.csdn.net/T0620514/article/details/152002124
2022-2025年全国数字高程模型(DEM)数据
全国范围的数字高程模型(Digital Elevation Model,缩写DEM),空间分辨率是15弧秒(约500米),地理坐标系是WGS-84,数据格式是GeoTiff。
基于混沌分形自相似与拓扑学不变量的神经网络架构ZDRN_融合多分支并行处理架构与动态路由算法_通过分形几何自相似特性与拓扑学空间不变性理论实现数据高效处理与模型鲁棒性提升_采用Py.zip
基于混沌分形自相似与拓扑学不变量的神经网络架构ZDRN_融合多分支并行处理架构与动态路由算法_通过分形几何自相似特性与拓扑学空间不变性理论实现数据高效处理与模型鲁棒性提升_采用Py.zip
汇编语言
21,496
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章