汇编语言与组成原理

来源:百度知道 编辑:UC知道 时间:2024/06/08 07:11:50
有Windows汇编语言程序如下,设文件名为ex1.asm
.386 (1)
.model flat,stdcall (2)
option casemap:none (3)
includelib msvcrt.lib
printf PROTO C :dword,:vararg
.data
Fact dword ?
N EQU 4
szFmt byte 'factorial(%d) =%d',0ah,0
.code
start:
mov ecx, N
mov eax, 1
e10:
imul eax, ecx
loop e10
mov Fact, eax
invoke printf, offset szFmt, N, Fact
ret
end start

回答: (1)、注记号(1)对应的语句表示的是什么意思?

(2)、注记号(2)对应的语句表示的是什么意思?

(3)、注记号(3)对应的语句表示的是什么意思?

(4)、设此程序无错,则在MASM6.14环境下,
汇编此程序的命令是:
______________

1, .386指的是使用386指令集
2, 这条伪指令指示编译使用的模式.这里应该是平坦模式.似乎WINDOWS下的汇编都用平坦模式.
3, 这条似乎是指示是否区分大小写.(有点模糊了)

以上三个问题,我记得在罗云彬的<<WIN32汇编程序设计>>里有详细说明.头脑晕了,不大记得了.

后面几个问题有点晕.一般都是直接MAKE,谁那么烦,一个个去编译,再链接啊?

看程序,似乎是要算个什么东西,然后调用printf函数输出来.

老了,许久没研究汇编了.不记得了.

1.汇编程序指令使用386指令集
2.flat代表内存是平坦模式,即可以访问的内存空间为4GB,stdcall代表的是调用函数和平衡堆栈采用stdcall定义的方式
3.option casemap:none表示程序忽略大小写
4.MASM ex1.asm
LINK ex1.obj
ex1.exe
5.计算N的阶乘,程序运行后显示factorial(4) = 24