初学者求助初学问题。。

[复制链接]
查看11 | 回复10 | 2021-1-27 06:46:23 | 显示全部楼层 |阅读模式
DATASSEGMENT
ADB14
BDB26
DDB13
SDB0
DATASENDS
STACKSSEGMENT
DW20HDUP(0)
STACKSENDS
CODESSEGMENT
ASSUMECS:CODES,DS:DATAS,SS:STACKS
START:
MOVAX,DATAS
MOVDS,AX
MOVAL,A
ADDAL,B
SUBAL,D
MOVS,AL
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
这是我写的一个程序,2个数相加减第三个数,编译是通过了,但是不能显示结果。。。忘赐教。
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:46:23 | 显示全部楼层
不能显示结果?你也没有调用相关的显示中断啊,你运行以后进入debug看看就知道执行的结果了
回复

使用道具 举报

千问 | 2021-1-27 06:46:23 | 显示全部楼层
21h的9号中断
回复

使用道具 举报

千问 | 2021-1-27 06:46:23 | 显示全部楼层
还是不明白啊。。。还不知道怎么调用中断,能帮我修改下代码吗?谢谢
回复

使用道具 举报

千问 | 2021-1-27 06:46:23 | 显示全部楼层
我也是刚学的,貌似要打印出来的话必须加点什么上去,不过你可以先用反汇编命令U去在DEBUG下面看一下,然后分步执行(用P命令),看下最后内存的结果保存的是否跟你的计算一样就可以了
回复

使用道具 举报

千问 | 2021-1-27 06:46:23 | 显示全部楼层
哦谢谢啊,这么晚还没睡觉啊....努力哟,我才开始看书,这是书上的一个例子,但是就是不显示结果,郁闷ING
回复

使用道具 举报

千问 | 2021-1-27 06:46:23 | 显示全部楼层
因为你的代码里没有要显示结果的指令
回复

使用道具 举报

千问 | 2021-1-27 06:46:23 | 显示全部楼层

是MOVAH,2
INT21H
这两句么?
回复

使用道具 举报

千问 | 2021-1-27 06:46:23 | 显示全部楼层
是DOS调用的2号功能么?能举个例子吗。。。。那个结果是不是存放到DL中,怎么还是没有显示哦
回复

使用道具 举报

千问 | 2021-1-27 06:46:23 | 显示全部楼层
你把结果放到了变量S里面了~要先放到DL里,因为那个指令是隐含寻址,自动显示DL里面的内容
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行