第三章 汇编语言基础

简答题

1. 举例说明三种不同的指令助记符
mov add mul 不区分大小写

2. 什么是调用规范,如何在汇编语言中声明并使用它

.model flat,stdcall

3. 如何在程序中为堆栈预留空间

.stack 4096

4. 说明为什么汇编器语言不太正确
从汇编语言源文件到执行要经过 编辑 汇编 链接 执行几个过程,有以下步骤:
(1).使用文本编译器创建ASCII文件,也就是源文件。
(2).汇编器读取源文件,并生成目标文件,或者,也会生成列表文件
(3).链接器读取并检查目标文件,寻找程序中对链接库的调用,并从连接库中复制被请求的过程,生成可执行文件
(4).操作系统加载可执行程序读入内存,并使CPU分支该程序的起始地址。
在这里插入图片描述

5. 说明大端序与小端序之间的区别,并在网上查找这些术语的起源
小端序中最低有效字节放在第一个内存地址中。 假设有DWORD 12345678h分配的起始地址为0000,则其最低有效字节78h放入0000,56h放入0001。

6. 为什么在代码中使用符号常量而不是整数常量
符号常量是用符号来代替数值,通过合理的命名以便于理解代码。

7. 源文件和列表文件的区别是什么
源文件是ASCII编码的程序源代码, 列表文件包括源文件的副本,行号每条指令的数字地址,每条指令的机器代码字节(十六进制)以及符号表
符号表中包含了程序中所使用的所有标识符名称,段和相关信息。
指令的数字地址是相对程序占用的起点而言的,从0000 0000开始。

Add Two asm文件

.386
.model flat,stdcall
.stack 4096

.data
sum DWORD 0ah
.code
main PROC
	mov eax,3
	add eax,4
main ENDP
end main 

vs2017生成Add Two的列表文件

Microsoft (R) Macro Assembler Version 14.16.27031.1	    06/18/19 13:16:32
a.asm							     Page 1 - 1


				.386
				.model flat,stdcall
				.stack 4096

 00000000			.data
 00000000 0000000A		sum DWORD 0ah

 00000000			.code
 00000000	
  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值