1到100和的问题

GGJJyangjinhan 2009-04-23 09:35:36
想帮我注解一下这代码的完全意思谢谢

STACK SEGMENT
DW 512 DUP(?)
STACK ENDS
DATA SEGMENT
SUM DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,100
XOR AX,AX
START1: ADD AX,CX
LOOP START1
MOV SUM,AX
MOV AH,4CH
INT 21H
CODE ENDS
END START

问题一 什么时候要用到4CH?
问题二 这个512起到什么作用?
...全文
371 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
GGJJyangjinhan 2009-05-05
  • 打赏
  • 举报
回复
我没老师
nanlingcg 2009-05-03
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 GGJJyangjinhan 的回复:]
引用 20 楼 nanlingcg 的回复:
这个程序也要注释。。。LZ要努力了。。。


最最主要的是我觉得这个DW 512 DUP(?)有问题才来这里问的
[/Quote]
正如22楼那个要分的小狼说的如果你在主帖贴出的就是完整程序的话。
STACK SEGMENT
DW 512 DUP(?)
STACK ENDS
是无意义的。可以不要的。

什么情况下要用到4CH和INT 21H
17楼说的很明白。
DOS 系统调用4C号功能,带返回终止。简单通俗地讲就是在程序结束时用以返回到DOS。
ycwp12 2009-05-03
  • 打赏
  • 举报
回复
这是课本上的程序,最简单的问题,你老师应该给你讲的很清楚吧!!这个是用loop循环,进行的加法,从0+到100。
MOV AH,4CH
INT 21H
CODE ENDS
END START
这是程序结束的语句。
mengcheng8487 2009-05-02
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 ASSM701 的回复:]
楼上,太势力了吧
[/Quote]
是说我势利啊???
这不是鼓励出分求答,回答得分吗。各取所需,商业互利。无可厚非啊。再说我花前买书看了再花时间帮他解答,就偏要我无私奉献啊。我还想很多大师建个免费网站,把自己的知识免费倾囊相授,外帮我解惑。行吗。
再说我的劳动成果(虽然不算什么,我也劳动了啊)不应该通过能接受的方式得到尊重吗?你尽帮人解惑,别人疑惑解了,却鸟都不鸟你了。你乐意不?
你没看到不给分的帖都没人回啊。
我直白一点。互惠互利。不是势利。

ASSM701 2009-05-02
  • 打赏
  • 举报
回复
楼上,太势力了吧
GGJJyangjinhan 2009-05-02
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 nanlingcg 的回复:]
这个程序也要注释。。。LZ要努力了。。。
[/Quote]

最最主要的是我觉得这个DW 512 DUP(?)有问题才来这里问的
mengcheng8487 2009-05-02
  • 打赏
  • 举报
回复
给我分我告诉你。

DW 512 DUP(?)
这个再整个程序中起到什么样的作用?

你这个程序里这个可以不要(后面给了分才说。。。)


什么情况下要用到4CH和INT 21H
是DOS中断4Ch号。。。什么时候用,给分才说。。。
ASSM701 2009-05-01
  • 打赏
  • 举报
回复
楼主,去找那个清华大学的王爽的那本《汇编语言》看看吧,那本对入门来说是很好的,别的什么教育规定教学用书对入门来说是很难的
nanlingcg 2009-04-28
  • 打赏
  • 举报
回复
这个程序也要注释。。。LZ要努力了。。。

return10 2009-04-28
  • 打赏
  • 举报
回复
DW 512 DUP(?) 在栈中定义字变量,堆栈的空间是1024字节,在这个程序中没有用到栈,不起作用,
GGJJyangjinhan 2009-04-27
  • 打赏
  • 举报
回复
DW 512 DUP(?)
这个再整个程序中起到什么样的作用?
liao05050075 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 GGJJyangjinhan 的回复:]
什么情况下要用到4CH和INT 21H
[/Quote]
INT 21H是一个中断,它有很多个功能,(中断功能表一般在书的附录有)
就像我们调用C库函数一样。
调用中断功能时,我们要先设定我们要的功能号入到ah中,(如mov ah,4ch)
然后就调用中断。(INT 21H)

在你的程序要退出时
用到4CH和INT 21H
如果不用,那么你的程序将无法退出
lin115406828 2009-04-23
  • 打赏
  • 举报
回复
LZ问的两个问题在书上确实都有的!
zhangwuji156 2009-04-23
  • 打赏
  • 举报
回复
回复楼上,MOV AH,4CH类似于传参数
INT 21H 类似于调用某个中断函数
一,mov ah,09h
int 21h
二,mov ah,01h
int 21h
如此等等~~
INT 21H 是调用21型中断,好像是DOS中断吧,这个中断里有很多功能,比如你上面给的09H号功能和01H号功能

在调用21H型中断时,要先把功能号给寄存器AH,这是规定的
然后执行int 21H后就会跟据AH里的数决定实现什么功能

21H中断里的09H功能好像是显示一个字符串
zhangwuji155 2009-04-23
  • 打赏
  • 举报
回复
4>中断指令
INT 中断指令
我知道这个是中断指令,但为什么是给21呢?33不行吗?
这有什么讲究,只记得windows编程的时候,说返回值小于32好像代表错误
zhangwuji156 2009-04-23
  • 打赏
  • 举报
回复
反正也是不显示,为什么要把结果放在SUM里呢?直接在AX里不行吗?
zhangwuji156 2009-04-23
  • 打赏
  • 举报
回复
我用的是MASM FOR WINDOWS 集成那个玩意儿
zhangwuji156 2009-04-23
  • 打赏
  • 举报
回复
我想知道,运行完我如何看结果?
zhangwuji155 2009-04-23
  • 打赏
  • 举报
回复
MOV CX,100 ;loop count to cx,cx初始值为100
你们一看到这个,就知道CX=100是用来做循环的,还是看到后面的代码,得出这个结论的?
zhangwuji156 2009-04-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhangwuji156 的回复:]
二楼,找什么书呀,我现在手头有三本讲汇编的书,可不是网上下的,是花真钱买的,看得头大,
我想,世界语言之难,莫过于汇编吧,我现在也和楼主一样,看到这样的代码,一窍不通。
人家C怎么说也能在屏幕看到个hello world,汇编倒好,全在内存上呢,人是看不见了
[/Quote]
看错了,那是一楼说找本书看看
加载更多回复(8)

21,500

社区成员

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

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