汇编程序,很多小细节不确定

发布于 2021-11-16 03:59:01 字数 1981 浏览 861 评论 2

假设DS=00BFH
.MODEL SMALL
.DATA                    ;前面加个.是什么意思,标识符?
ORG 1000H
NUM BYTE 48H,8DH
RES BYTE ?
.STACK 100               ;这个是什么?堆栈大小还是堆栈段段基址?
.CODE
START: MOV AX, @DATA     ;发生什么事?将数据段的段基址送到AX?
MOV DS,AX                ;将数据段基址送到数据段寄存器?
MOV SP, 64H              ;将64H送到堆栈指针寄存器?这个是堆栈段段基址么?
LEA BX, NUM              ;将NUM的地址送到基地址寄存器?NUM的地址是1000H?
MOV AL, [BX]             ;将基地址寄存器的内容送到累加器?AL=48H,还是AL=8DH?
SUB AL, [BX+1]           ;AL=48H-8DH?
PUSH AX                  ;将AX的内容压进堆栈,同时栈顶指针减一(SP=63H)?
PUSHF                    ;将所有标志位压进堆栈?
ADD AL,AL                ;这是一个很简单的加法么?
POPF                     ;将所有标志位出栈,恢复FLAG内容?
POP AX                   ;AX出栈,发生什么事?
MOV [BX+2],AL            ;将AL的内容送到基地址寄存器保存的地址的对下两个地址中?
MOV AH,4CH               ;连同下一条指令实现带返回码结束,什么意思?有什么用?
INT 21H

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

毁梦 2021-11-17 18:54:55

只是不确定~~

一个人的旅程 2021-11-16 19:54:56

你这问题好多啊 还是看书去吧 .

你问的里不少是汇编语言的格式问题。。先数据段,然后代码段。。里面还有很多伪指令

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文